Subversion Repositories SmartDukaan

Rev

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

Rev 32933 Rev 33910
Line 37... Line 37...
37
import com.spice.profitmandi.web.util.MVCResponseSender;
37
import com.spice.profitmandi.web.util.MVCResponseSender;
38
import in.shop2020.logistics.DeliveryType;
38
import in.shop2020.logistics.DeliveryType;
39
import in.shop2020.logistics.PickUpType;
39
import in.shop2020.logistics.PickUpType;
40
import in.shop2020.model.v1.order.OrderStatus;
40
import in.shop2020.model.v1.order.OrderStatus;
41
import org.apache.commons.csv.CSVRecord;
41
import org.apache.commons.csv.CSVRecord;
-
 
42
import org.apache.commons.lang3.tuple.Pair;
42
import org.apache.logging.log4j.LogManager;
43
import org.apache.logging.log4j.LogManager;
43
import org.apache.logging.log4j.Logger;
44
import org.apache.logging.log4j.Logger;
44
import org.json.JSONArray;
45
import org.json.JSONArray;
45
import org.json.JSONObject;
46
import org.json.JSONObject;
46
import org.springframework.beans.factory.annotation.Autowired;
47
import org.springframework.beans.factory.annotation.Autowired;
Line 721... Line 722...
721
            MarkDeliveredModel ddm = createMarkDeliveredModel(record);
722
            MarkDeliveredModel ddm = createMarkDeliveredModel(record);
722
            deliveredList.add(ddm);
723
            deliveredList.add(ddm);
723
 
724
 
724
        }
725
        }
725
 
726
 
-
 
727
        Map<Pair<String, String>, MarkDeliveredModel> markDeliveredModelMap = deliveredList.stream().collect(Collectors.toMap(x -> Pair.of(x.getAirwayBillNumber(), x.getDeliveredBy()), x -> x));
-
 
728
 
726
        if (!deliveredList.isEmpty()) {
729
        if (!deliveredList.isEmpty()) {
727
 
730
 
728
            List<Order> vorders = orderRepository.selectByAirwayBillNumber(
731
            List<Order> vorders = orderRepository.selectByAirwayBillNumber(
729
                    deliveredList.stream().map(x -> x.getAirwayBillNumber()).collect(Collectors.toList()));
732
                    deliveredList.stream().map(x -> x.getAirwayBillNumber()).collect(Collectors.toList()));
730
 
733
 
731
            List<Order> filteredOrders = vorders.stream().filter(x -> (!x.getStatus().equals(OrderStatus.SHIPPED_FROM_WH))).collect(Collectors.toList());
734
            List<Order> filteredOrders = vorders.stream().filter(x -> (!x.getStatus().equals(OrderStatus.SHIPPED_FROM_WH))).collect(Collectors.toList());
732
 
735
 
733
            LOGGER.info("filteredOrder" + filteredOrders);
-
 
734
 
-
 
735
            if (!filteredOrders.isEmpty()) {
736
            if (!filteredOrders.isEmpty()) {
-
 
737
                for (Order filteredOrder : filteredOrders) {
-
 
738
                    int logisticsProviderId = filteredOrder.getLogisticsProviderId();
-
 
739
                    Provider provider = providerRepository.selectById(logisticsProviderId);
-
 
740
                    if (markDeliveredModelMap.containsKey(Pair.of(filteredOrder.getAirwayBillNumber(), provider.getName()))) {
736
                throw new ProfitMandiBusinessException("Upload File", String.join(",", filteredOrders.stream().map(x -> x.getAirwayBillNumber()).collect(Collectors.toList())), "Order status should be shipped from warehouse");
741
                        throw new ProfitMandiBusinessException("Upload File", String.join(",", filteredOrders.stream().map(x -> x.getAirwayBillNumber()).collect(Collectors.toList())), "Order status should be shipped from warehouse");
737
 
-
 
-
 
742
                    }
-
 
743
                }
738
            }
744
            }
739
 
745
 
740
            Map<String, List<Order>> airwayBillOrderMap = vorders.stream().collect(Collectors.groupingBy(Order::getAirwayBillNumber));
746
            Map<String, List<Order>> airwayBillOrderMap = vorders.stream().collect(Collectors.groupingBy(Order::getAirwayBillNumber));
741
 
747
 
742
            for (MarkDeliveredModel dl : deliveredList) {
748
            for (MarkDeliveredModel dl : deliveredList) {
Line 755... Line 761...
755
                        String title = "Order Delivered";
761
                        String title = "Order Delivered";
756
 
762
 
757
                        SendNotificationModel sendNotificationModel = new SendNotificationModel();
763
                        SendNotificationModel sendNotificationModel = new SendNotificationModel();
758
                        sendNotificationModel.setCampaignName("Order Delivered");
764
                        sendNotificationModel.setCampaignName("Order Delivered");
759
                        sendNotificationModel.setTitle(title);
765
                        sendNotificationModel.setTitle(title);
760
                        sendNotificationModel.setMessage(String.format("Dear partner, your SmartDukaan Order " + dl.getAirwayBillNumber() + " has been delivered on" + dl.getDeliveredOn().format(DateTimeFormatter.ofPattern("dd-MM-yyyy")) + " to you in a safe, sealed bag by " + dl.getDeliveredBy() + "."));
766
                        sendNotificationModel.setMessage(String.format("Dear partner, your SmartDukaan Shipment " + dl.getAirwayBillNumber() + " has been delivered on" + dl.getDeliveredOn().format(DateTimeFormatter.ofPattern("dd-MM-yyyy")) + " to you in a safe, sealed bag by " + dl.getDeliveredBy() + "."));
761
                        sendNotificationModel.setType("url");
767
                        sendNotificationModel.setType("url");
762
                        sendNotificationModel.setUrl("https://app.smartdukaan.com/pages/home/notifications");
768
                        sendNotificationModel.setUrl("https://app.smartdukaan.com/pages/home/notifications");
763
                        sendNotificationModel.setExpiresat(LocalDateTime.now().plusDays(1));
769
                        sendNotificationModel.setExpiresat(LocalDateTime.now().plusDays(1));
764
                        sendNotificationModel.setMessageType(MessageType.notification);
770
                        sendNotificationModel.setMessageType(MessageType.notification);
765
                        int userId = userAccountRepository.selectUserIdByRetailerId(orders.get(0).getRetailerId());
771
                        int userId = userAccountRepository.selectUserIdByRetailerId(orders.get(0).getRetailerId());