Subversion Repositories SmartDukaan

Rev

Rev 36626 | Rev 37056 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36626 Rev 36961
Line 40... Line 40...
40
import com.spice.profitmandi.dao.repository.user.UserRepository;
40
import com.spice.profitmandi.dao.repository.user.UserRepository;
41
import com.spice.profitmandi.dao.repository.warehouse.WarehousePurchaseOrderRepository;
41
import com.spice.profitmandi.dao.repository.warehouse.WarehousePurchaseOrderRepository;
42
import com.spice.profitmandi.dao.repository.warehouse.WarehouseScanRepository;
42
import com.spice.profitmandi.dao.repository.warehouse.WarehouseScanRepository;
43
import com.spice.profitmandi.service.NotificationService;
43
import com.spice.profitmandi.service.NotificationService;
44
import com.spice.profitmandi.service.catalog.BrandsService;
44
import com.spice.profitmandi.service.catalog.BrandsService;
-
 
45
import com.spice.profitmandi.service.catalog.ComboService;
45
import com.spice.profitmandi.service.inventory.Combo;
46
import com.spice.profitmandi.service.inventory.Combo;
46
import com.spice.profitmandi.service.inventory.ComboOptionModel;
47
import com.spice.profitmandi.service.inventory.ComboOptionModel;
47
import com.spice.profitmandi.service.inventory.InventoryService;
48
import com.spice.profitmandi.service.inventory.InventoryService;
48
import com.spice.profitmandi.service.inventory.MappedComboModel;
49
import com.spice.profitmandi.service.inventory.MappedComboModel;
49
import com.spice.profitmandi.service.order.OrderService;
50
import com.spice.profitmandi.service.order.OrderService;
Line 878... Line 879...
878
    }
879
    }
879
 
880
 
880
    @Autowired
881
    @Autowired
881
    SDCreditService sdCreditService;
882
    SDCreditService sdCreditService;
882
 
883
 
-
 
884
    @Autowired
-
 
885
    ComboService comboService;
883
 
886
 
884
    @RequestMapping(value = "/cancelOrder", method = RequestMethod.POST)
887
    @RequestMapping(value = "/cancelOrder", method = RequestMethod.POST)
885
    public String cancelOrder(HttpServletRequest request, @RequestBody OrderCancellationModel orderCancellationModel, Model model) throws Exception {
888
    public String cancelOrder(HttpServletRequest request, @RequestBody OrderCancellationModel orderCancellationModel,
-
 
889
                              @RequestParam(required = false, defaultValue = "false") boolean confirmed,
-
 
890
                              Model model) throws Exception {
886
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
891
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
887
        LOGGER.info("orderId" + orderCancellationModel.getOrderIds());
892
        LOGGER.info("orderId" + orderCancellationModel.getOrderIds());
888
 
893
 
889
        try {
894
        try {
890
            // List<Order> orders =
-
 
891
            // orderRepository.selectByOrderIds(orderCancellationModel.getOrderIds());
-
 
892
 
-
 
893
            List<Order> orders = orderRepository.selectByOrderIdsOrdersStatus(orderCancellationModel.getOrderIds(), OrderStatus.SUBMITTED_FOR_PROCESSING);
895
            List<Order> orders = orderRepository.selectByOrderIdsOrdersStatus(orderCancellationModel.getOrderIds(), OrderStatus.SUBMITTED_FOR_PROCESSING);
894
            if (!orders.isEmpty()) {
896
            if (!orders.isEmpty()) {
-
 
897
                ComboCancellationResult comboCheck = comboService.checkOrderCancellationForCombo(orders);
-
 
898
 
-
 
899
                if (comboCheck.isConfirmationRequired() && !confirmed) {
-
 
900
                    model.addAttribute("response1", mvcResponseSender.createResponseString(comboCheck));
-
 
901
                    return "response";
-
 
902
                }
-
 
903
 
-
 
904
                List<Integer> allOrderIds = comboCheck.getAllOrderIdsToCancel(orderCancellationModel.getOrderIds());
-
 
905
                List<Order> allOrders = allOrderIds.size() > orderCancellationModel.getOrderIds().size()
-
 
906
                        ? orderRepository.selectByOrderIdsOrdersStatus(allOrderIds, OrderStatus.SUBMITTED_FOR_PROCESSING)
895
                for (Order order : orders) {
907
                        : orders;
896
 
908
 
-
 
909
                for (Order order : allOrders) {
897
                    orderRepository.refundOrder(order.getId(), loginDetails.getEmailId(), orderCancellationModel.getReason(), OrderStatus.CANCELLED_DUE_TO_LOW_INVENTORY);
910
                    orderRepository.refundOrder(order.getId(), loginDetails.getEmailId(), orderCancellationModel.getReason(), OrderStatus.CANCELLED_DUE_TO_LOW_INVENTORY);
898
                    List<NotifyOrder> notifyOrders = notifyOrderRespository.selectByOrder(order.getId());
911
                    List<NotifyOrder> notifyOrders = notifyOrderRespository.selectByOrder(order.getId());
899
                    for (NotifyOrder notifyOrder : notifyOrders) {
912
                    for (NotifyOrder notifyOrder : notifyOrders) {
900
                        if (notifyOrder.getStatus().equals(NotifyStatus.pending)) {
913
                        if (notifyOrder.getStatus().equals(NotifyStatus.pending)) {
901
                            notifyOrder.setStatus(NotifyStatus.rejected);
914
                            notifyOrder.setStatus(NotifyStatus.rejected);
902
                        }
915
                        }
903
                    }
916
                    }
904
                    sendCancellationNotificationToPartner(order, orderCancellationModel.getReason());
917
                    sendCancellationNotificationToPartner(order, orderCancellationModel.getReason());
905
                    model.addAttribute("response1", mvcResponseSender.createResponseString(true));
-
 
906
 
918
 
907
                    sdCreditService.settleBlockedLoan(order.getTransactionId(), order.getWalletAmount());
919
                    sdCreditService.settleBlockedLoan(order.getTransactionId(), order.getWalletAmount());
908
                }
920
                }
-
 
921
                model.addAttribute("response1", mvcResponseSender.createResponseString(true));
909
            }
922
            }
910
        } catch (Exception e) {
923
        } catch (Exception e) {
911
            model.addAttribute("response1", mvcResponseSender.createResponseString(false));
924
            model.addAttribute("response1", mvcResponseSender.createResponseString(false));
912
 
-
 
913
        }
925
        }
914
 
926
 
915
        return "response";
927
        return "response";
916
    }
928
    }
917
 
929