| 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());
|