瀏覽代碼

配置是否根据物流信息修改订单状态 默认是

ct 1 周之前
父節點
當前提交
954016fa1e

+ 11 - 1
fs-service/src/main/java/com/fs/erp/service/impl/DfOrderServiceImpl.java

@@ -26,6 +26,8 @@ import com.fs.his.service.IFsExpressService;
 import com.fs.his.service.IFsStoreOrderLogsService;
 import com.fs.his.service.IFsStoreOrderService;
 import com.fs.his.utils.ConfigUtil;
+import com.fs.system.domain.SysConfig;
+import com.fs.system.mapper.SysConfigMapper;
 import com.hc.openapi.tool.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.util.Asserts;
@@ -78,6 +80,9 @@ public class DfOrderServiceImpl implements IErpOrderService
     @Autowired
     private IFsStoreOrderService fsStoreOrderService;
 
+    @Autowired
+    private SysConfigMapper sysConfigMapper;
+
 
     @Override
     public ErpOrderResponse addOrder(ErpOrder order) {
@@ -312,7 +317,12 @@ public class DfOrderServiceImpl implements IErpOrderService
                         //已签收
                         deliveryStatus = 3;
                         stateEx = "301"; //退货签收
-                        fsStoreOrderService.getGoods(order.getOrderId());
+                        SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey("his.store");
+                        Map<String, Object> config = (Map<String, Object>) JSON.parse(sysConfig.getConfigValue());
+                        Object isUpdateOrder = config.get("isUpdateOrder");
+                        if (isUpdateOrder == null || "1".equals(isUpdateOrder.toString())) {
+                            fsStoreOrderService.getGoods(order.getOrderId());
+                        }
                         break;
                     case 10:
                         //取消订单

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

@@ -115,9 +115,8 @@ import static com.fs.his.utils.PhoneUtil.encryptPhone;
 @Lazy
 @Service
 @Slf4j
-@EnableAspectJAutoProxy(exposeProxy = true,proxyTargetClass = true)
-public class FsStoreOrderServiceImpl implements IFsStoreOrderService
-{
+@EnableAspectJAutoProxy(exposeProxy = true, proxyTargetClass = true)
+public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
     @Autowired
     private WxPayService wxPayService;
     @Autowired
@@ -257,7 +256,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     @Autowired
     private FsStoreOrderDfMapper fsStoreOrderDfMapper;
 
-
     @Value("${express.omsCode}")
     private String expressOmsCode;
 
@@ -1548,8 +1546,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 } else if (erpType == 4) {
                     //瀚智
                     erpOrderService = dfOrderService;
-                }else if(erpType == 5){
-                    erpOrderService=jSTOrderService;
+                } else if (erpType == 5) {
+                    erpOrderService = jSTOrderService;
                 }
                 if (erpOrderService != null && StringUtils.isNotEmpty(order.getExtendOrderId())) {
                     if (!order.getExtendOrderId().equals("HIS")) {
@@ -1609,12 +1607,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             erpOrderService = hzOMSOrderService;
         } else if (erpType == 4) {
             //代服
-            erpOrderService =  dfOrderService;
-        } else if (erpType == 5){
+            erpOrderService = dfOrderService;
+        } else if (erpType == 5) {
             //聚水潭
-            erpOrderService =  jSTOrderService;
+            erpOrderService = jSTOrderService;
             erpOrder.setShop_code(sysConfig.getErpJstShopCode());
-        }else {
+        } else {
             return;
         }
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderId(orderId);
@@ -1836,7 +1834,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                                 this.updateFsStoreOrder(map);
                                 //如果是正常签收,更新订单状态
                                 if (dto.getState().equals("3") && (dto.getStateEx().equals("301") || dto.getStateEx().equals("302") || dto.getStateEx().equals("304") || dto.getStateEx().equals("311"))) {
-                                    this.getGoods(order.getOrderId());
+                                    SysConfig storeConfig = sysConfigMapper.selectConfigByConfigKey("his.store");
+                                    Map<String, Object> config = (Map<String, Object>) JSON.parse(storeConfig.getConfigValue());
+                                    Object isUpdateOrder = config.get("isUpdateOrder");
+                                    if (isUpdateOrder == null || "1".equals(isUpdateOrder.toString())) {
+                                        this.getGoods(order.getOrderId());
+                                    }
                                 }
                             }
                             if (!dto.isSuccess()) {
@@ -1908,7 +1911,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         fsStoreOrderMapper.updateFsStoreOrder(map);
         //如果是正常签收,更新订单状态
         if (dto.getState().equals("3") && (dto.getStateEx().equals("301") || dto.getStateEx().equals("302") || dto.getStateEx().equals("304") || dto.getStateEx().equals("311"))) {
-            this.getGoods(order.getOrderId());
+            SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey("his.store");
+            Map<String, Object> config = (Map<String, Object>) JSON.parse(sysConfig.getConfigValue());
+            Object isUpdateOrder = config.get("isUpdateOrder");
+            if (isUpdateOrder == null || "1".equals(isUpdateOrder.toString())) {
+                this.getGoods(order.getOrderId());
+            }
         }
         return R.ok();
     }
@@ -1944,9 +1952,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     erpOrderService = hzOMSOrderService;
                 } else if (erpType == 4) {
                     erpOrderService = dfOrderService;
-                }else if (erpType == 5){
+                } else if (erpType == 5) {
                     //聚水潭
-                    erpOrderService =  jSTOrderService;
+                    erpOrderService = jSTOrderService;
                 }
                 ErpOrderQueryResponse response = erpOrderService.getOrder(request);
                 if (response.getOrders() != null && response.getOrders().size() > 0) {
@@ -3166,9 +3174,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         DFCancelOrderResultRequest cancelParam = JSON.parseObject(body, DFCancelOrderResultRequest.class);
         if (cancelParam.getIsCancelSuss() != null) {
             //取消订单
-            log.info("代服管家取消订单回调,{}",JSON.toJSONString(cancelParam));
+            log.info("代服管家取消订单回调,{}", JSON.toJSONString(cancelParam));
             FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(cancelParam.getOrderNumber());
-            if (fsStoreOrder != null){
+            if (fsStoreOrder != null) {
 //                //1.修改订单
 //                FsStoreOrderSalesParam afterSalesParam = new FsStoreOrderSalesParam();
 //                afterSalesParam.setOrderId(fsStoreOrder.getOrderId());
@@ -3184,11 +3192,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             }
             String failMsg = addParam.getFailMsg();
             if (com.hc.openapi.tool.util.StringUtils.isNotBlank(failMsg)) {
-                if (failMsg.equals("暂未结果, 请稍后再查")){
+                if (failMsg.equals("暂未结果, 请稍后再查")) {
                     return R.ok("接收成功").put("code", "ok");
                 }
                 //下单失败 返回未推送状态
-                String  orderNumber = addParam.getOrderNumber();
+                String orderNumber = addParam.getOrderNumber();
                 FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderNumber);
                 FsStoreOrder tempOrder = new FsStoreOrder();
                 tempOrder.setOrderId(fsStoreOrder.getOrderId());
@@ -3254,17 +3262,23 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             return R.error(dto.getReason());
         }
         FsStoreOrder map = new FsStoreOrder();
-        if(dto != null && dto.getState() != null){
+        if (dto.getState() != null) {
             map.setDeliveryStatus(Integer.parseInt(dto.getState()));
             map.setOrderId(order.getOrderId());
             map.setDeliveryType(dto.getStateEx());
             fsStoreOrderMapper.updateFsStoreOrder(map);
             //如果是正常签收,更新订单状态
             if (dto.getState().equals("3")) {
-                this.getGoods(order.getOrderId());
-            }
+                SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey("his.store");
+                Map<String, Object> config = (Map<String, Object>) JSON.parse(sysConfig.getConfigValue());
+                Object isUpdateOrder = config.get("isUpdateOrder");
+                if (isUpdateOrder == null || "1".equals(isUpdateOrder.toString())) {
+                    this.getGoods(order.getOrderId());
+                }
 
+            }
         }
+
         return R.ok();
     }
 
@@ -3296,7 +3310,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 }
                 expressInfoDTO.setTraces(tracesDTOS);
                 //匹配原代码物流编码
-                ErpDeliverys item = deliverys.get(deliverys.size()-1);
+                ErpDeliverys item = deliverys.get(deliverys.size() - 1);
                 String opCode = item.getOpCode();
                 if ("54".equals(opCode)) {
                     //54 取件
@@ -3328,6 +3342,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
     /**
      * 代服订单状态推送
+     *
      * @param body
      * @return
      */
@@ -3335,17 +3350,17 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     public R receiveWaybillPush(String body) {
         DFApiResponse dfApiResponse = JSON.parseObject(body, DFApiResponse.class);
         Object result = dfApiResponse.getResult();
-        if (result != null){
+        if (result != null) {
             String jsonString = JSON.toJSONString(result);
             List<DFOrderStatusResultRequest> requestList = JSON.parseArray(jsonString, DFOrderStatusResultRequest.class);
-            if (requestList != null && !requestList.isEmpty()){
+            if (requestList != null && !requestList.isEmpty()) {
                 //0待揽收 1已揽收 2运输中 3派送中 4异常件 5退回件 6退回签收 7转寄件 8作废件 9已签收 10 已取消
                 for (DFOrderStatusResultRequest temp : requestList) {
-                    if (temp.getStatus() == 10){
+                    if (temp.getStatus() == 10) {
                         //取消订单
                         String mailNumber = temp.getMailNumber();
                         List<FsStoreOrder> fsStoreOrders = fsStoreOrderMapper.selectFsStoreOrderListByDeliverySn(mailNumber);
-                        if (fsStoreOrders != null && !fsStoreOrders.isEmpty()){
+                        if (fsStoreOrders != null && !fsStoreOrders.isEmpty()) {
                             fsStoreOrders.forEach(order -> {
                                 FsStoreOrderSalesParam afterSalesParam = new FsStoreOrderSalesParam();
                                 afterSalesParam.setOrderId(order.getOrderId());
@@ -3391,9 +3406,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 } else if (erpType == 4) {
                     //代服
                     erpOrderService = dfOrderService;
-                }else if (erpType == 5){
+                } else if (erpType == 5) {
                     //聚水潭
-                    erpOrderService =  jSTOrderService;
+                    erpOrderService = jSTOrderService;
                 }
                 return erpOrderService;