Jelajahi Sumber

优化兔灵物流回调业务

wjj 3 hari lalu
induk
melakukan
384c630ad1

+ 59 - 28
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -1878,39 +1878,70 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
     @Override
     public void deliveryOrder(String orderCode, String deliveryId, String deliverCode, String deliverName,String sendDate) {
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
-        if (order != null && order.getStatus() == 2) {
-            FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode);
-            if (express != null) {
-                order.setDeliveryName(deliverName);
-                order.setDeliveryCode(express.getCode());
-            }
-            order.setStatus(3);
-            order.setDeliverySn(deliveryId);
-            order.setDeliverySendTime(DateUtils.getNowDate());
-            fsStoreOrderMapper.updateFsStoreOrder(order);
-            fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.DELIVERY_GOODS.getValue(), FsStoreOrderLogEnum.DELIVERY_GOODS.getDesc());
-            if (order.getCompanyId() != null && order.getCompanyId() > 0) {
-                companyService.subtractCompanyMoney(order);
-            }
-
-            FsStore store = fsStoreMapper.selectFsStoreByStoreId(order.getStoreId());
-            //订阅物流回调
-            String lastFourNumber = "";
-            if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue())) {
-                if (store != null && store.getSendPhone() != null) {
-                    lastFourNumber = store.getSendPhone();
-                } else {
-                    lastFourNumber = order.getUserPhone();
+        if (order!= null && order.getErpType() == 2) {
+            //兔灵存在撤回重发问题
+            if (order.getStatus() == 2 || order.getStatus() == 3) {
+                FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode);
+                if (express != null) {
+                    order.setDeliveryName(deliverName);
+                    order.setDeliveryCode(express.getCode());
                 }
-                if (lastFourNumber.length() == 11) {
-                    lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
+                order.setStatus(3);
+                order.setDeliverySn(deliveryId);
+                order.setDeliverySendTime(DateUtils.getNowDate());
+                fsStoreOrderMapper.updateFsStoreOrder(order);
+                fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.DELIVERY_GOODS.getValue(), FsStoreOrderLogEnum.DELIVERY_GOODS.getDesc());
+                if (order.getCompanyId() != null && order.getCompanyId() > 0) {
+                    companyService.subtractCompanyMoney(order);
                 }
-            }
-            expressService.subscribeEspress(order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
 
+                FsStore store = fsStoreMapper.selectFsStoreByStoreId(order.getStoreId());
+                //订阅物流回调
+                String lastFourNumber = "";
+                if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue())) {
+                    if (store != null && store.getSendPhone() != null) {
+                        lastFourNumber = store.getSendPhone();
+                    } else {
+                        lastFourNumber = order.getUserPhone();
+                    }
+                    if (lastFourNumber.length() == 11) {
+                        lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
+                    }
+                }
+                expressService.subscribeEspress(order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
+            }
+        } else {
+            if (order != null && order.getStatus() == 2) {
+                FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode);
+                if (express != null) {
+                    order.setDeliveryName(deliverName);
+                    order.setDeliveryCode(express.getCode());
+                }
+                order.setStatus(3);
+                order.setDeliverySn(deliveryId);
+                order.setDeliverySendTime(DateUtils.getNowDate());
+                fsStoreOrderMapper.updateFsStoreOrder(order);
+                fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.DELIVERY_GOODS.getValue(), FsStoreOrderLogEnum.DELIVERY_GOODS.getDesc());
+                if (order.getCompanyId() != null && order.getCompanyId() > 0) {
+                    companyService.subtractCompanyMoney(order);
+                }
 
+                FsStore store = fsStoreMapper.selectFsStoreByStoreId(order.getStoreId());
+                //订阅物流回调
+                String lastFourNumber = "";
+                if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue())) {
+                    if (store != null && store.getSendPhone() != null) {
+                        lastFourNumber = store.getSendPhone();
+                    } else {
+                        lastFourNumber = order.getUserPhone();
+                    }
+                    if (lastFourNumber.length() == 11) {
+                        lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
+                    }
+                }
+                expressService.subscribeEspress(order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
+            }
         }
-
     }
     @Autowired
     FsStoreOrderScrmMapper storeOrderScrmMapper;