云联一号 3 settimane fa
parent
commit
2efc93aedc

+ 3 - 0
fs-admin/src/main/java/com/fs/his/task/Task.java

@@ -563,8 +563,10 @@ public class Task {
                 ErpOrderQueryResponse response= null;
                 try {
                     response = erpOrderService.getScrmOrder(request);
+
                 } catch (Exception e) {
                     logger.error("调用ERP接口异常:",e);
+
                     continue;
                     //throw new RuntimeException(e);
                 }
@@ -574,6 +576,7 @@ public class Task {
                             if(orderQuery.getDeliverys()!=null&&orderQuery.getDeliverys().size()>0){
                                 for(ErpDeliverys delivery:orderQuery.getDeliverys()){
                                     if(delivery.getDelivery()&& StringUtils.isNotEmpty(delivery.getMail_no())){
+                                        logger.info("调用erp获取订单详情接口:"+response);
                                         //更新商订单状态 删除REDIS
                                         fsStoreOrderService.deliveryOrderScrm(order.getOrderCode(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
                                         redisCache.deleteObject("delivery"+":"+order.getExtendOrderId());

+ 17 - 8
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -1609,7 +1609,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
             FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode);
             if (express != null) {
                 order.setDeliveryName(deliverName);
-                order.setDeliveryCode(express.getCode());
+                order.setDeliverySn(express.getCode());
+            }else {
+                logger.info("未查询到快递");
+                order.setDeliveryName("顺丰");
+                order.setDeliverySn("SF");
             }
             order.setStatus(2);
             order.setDeliveryId(deliveryId);
@@ -1623,17 +1627,22 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
             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.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+//                if (store != null && store.getSendPhone() != null) {
+//                    lastFourNumber = store.getSendPhone();
+//                } else {
+                    if (order.getUserPhone().length()>11){
+                        lastFourNumber = decryptPhone(order.getUserPhone());
+                    }else {
+                        lastFourNumber = order.getUserPhone();
+                    }
+
+//                }
                 if (lastFourNumber.length() == 11) {
                     lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
                 }
             }
-            expressService.subscribeEspress(order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
+            expressService.subscribeEspress(order.getOrderCode(), order.getDeliverySn(), deliveryId, lastFourNumber);
 
 
         }

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -1745,6 +1745,11 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
     @Override
     public R createOmsOrder(Long orderId) throws ParseException {
         FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderById(orderId);
+        if(order.getPayType().equals("3") && order.getPayPrice().compareTo(order.getPayMoney()) == 0){
+            order.setPayType("1");
+        }
+
+
         FsSysConfig erpConfig = configUtil.generateStructConfigByKey(SysConfigEnum.HIS_CONFIG.getKey(), FsSysConfig.class);
         List<Long> noErpCompany = erpConfig.getNoErpCompany();
         if (noErpCompany != null && noErpCompany.contains(order.getCompanyId())) {