Bladeren bron

订单备注 和 手机后四位

yuhongqi 4 weken geleden
bovenliggende
commit
b3a4d5d581

+ 1 - 1
fs-admin/src/main/java/com/fs/store/controller/FsStoreOrderController.java

@@ -375,7 +375,7 @@ public class FsStoreOrderController extends BaseController {
         ExpressInfoDTO expressInfoDTO = null;
         if (StringUtils.isNotEmpty(order.getDeliveryId())) {
             String lastFourNumber = "";
-            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue()) || order.getDeliverySn().equals(ShipperCodeEnum.ZTO.getValue())) {
                 lastFourNumber = order.getUserPhone();
                 if (lastFourNumber.length() == 11) {
                     lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);

+ 1 - 1
fs-company/src/main/java/com/fs/store/controller/FsStoreOrderController.java

@@ -239,7 +239,7 @@ public class FsStoreOrderController extends BaseController
         if(StringUtils.isNotEmpty(order.getDeliveryId())){
 
             String lastFourNumber = "";
-            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue()) || order.getDeliverySn().equals(ShipperCodeEnum.ZTO.getValue())) {
                 lastFourNumber = order.getUserPhone();
                 if (lastFourNumber.length() == 11) {
                     lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);

+ 2 - 2
fs-service-system/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -114,7 +114,7 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
             shopOrderDTO.setFreight(fsStoreOrder.getPayPostage().doubleValue());
         }
         // 备注
-        shopOrderDTO.setRemark(order.getBuyer_memo());
+        shopOrderDTO.setRemark(order.getSeller_memo());
         // 买家留言
         shopOrderDTO.setBuyerMessage(order.getBuyer_memo());
 
@@ -540,7 +540,7 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
             shopOrderDTO.setFreight(fsStoreOrder.getPayPostage().doubleValue());
         }
         // 备注
-        shopOrderDTO.setRemark(order.getBuyer_memo());
+        shopOrderDTO.setRemark(order.getSeller_memo());
         // 买家留言
         shopOrderDTO.setBuyerMessage(order.getBuyer_memo());
 

+ 2 - 2
fs-service-system/src/main/java/com/fs/express/impl/FsStoreDeliversServiceImpl.java

@@ -157,7 +157,7 @@ public class FsStoreDeliversServiceImpl implements FsStoreDeliversService {
             if (ObjectUtil.isNotEmpty(fsStoreDelivers.getDeliverId())) {
                 logger.info("开始处理发货单, 发货单ID: {}, 快递单号: {}", fsStoreDelivers.getDeliverId(), fsStoreDelivers.getDeliverSn());
                 String lastFourNumber = "";
-                if (StringUtils.equals(fsStoreDelivers.getDeliverSn(), ShipperCodeEnum.SF.getValue())) {
+                if (StringUtils.equals(fsStoreDelivers.getDeliverSn(), ShipperCodeEnum.SF.getValue()) || StringUtils.equals(fsStoreDelivers.getDeliverSn(), ShipperCodeEnum.ZTO.getValue())) {
                     lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
                     logger.info("顺丰快递,获取手机号后四位: {}", lastFourNumber);
                 }
@@ -221,7 +221,7 @@ public class FsStoreDeliversServiceImpl implements FsStoreDeliversService {
             if (ObjectUtil.isNotEmpty(fsStoreDelivers.getDeliverId())) {
                 logger.info("开始处理发货单, 发货单ID: {}, 快递单号: {}", fsStoreDelivers.getDeliverId(), fsStoreDelivers.getDeliverSn());
                 String lastFourNumber = "";
-                if (StringUtils.equals(fsStoreDelivers.getDeliverSn(), ShipperCodeEnum.SF.getValue())) {
+                if (StringUtils.equals(fsStoreDelivers.getDeliverSn(), ShipperCodeEnum.SF.getValue()) || StringUtils.equals(fsStoreDelivers.getDeliverSn(), ShipperCodeEnum.ZTO.getValue())) {
                     lastFourNumber = PhoneUtils.getLastFourNum(userPhone);
                     logger.info("顺丰快递,获取手机号后四位: {}", lastFourNumber);
                 }

+ 2 - 2
fs-service-system/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -1833,7 +1833,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
 
             //订阅物流回调
             String lastFourNumber = "";
-            if (StringUtils.equals(express.getCode(), ShipperCodeEnum.SF.getValue())) {
+            if (StringUtils.equals(express.getCode(), ShipperCodeEnum.SF.getValue()) || StringUtils.equals(express.getCode(), ShipperCodeEnum.ZTO.getValue())) {
                 lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
             }
             expressService.subscribeEspress(order.getOrderCode(), express.getCode(), deliveryId, lastFourNumber, 1);
@@ -2647,7 +2647,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                 baseMapper.updateLiveOrder(updateEntity);
                 // 订阅物流回调
                 String lastFourNumber = "";
-                if (fsExpress.getCode().equals(ShipperCodeEnum.SF.getValue())) {
+                if (fsExpress.getCode().equals(ShipperCodeEnum.SF.getValue()) || fsExpress.getCode().equals(ShipperCodeEnum.ZTO.getValue())) {
                     lastFourNumber = existOrder.getUserPhone();
                     if (lastFourNumber.length() == 11) {
                         lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);

+ 3 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsWarehousesMapper.java

@@ -69,4 +69,7 @@ public interface FsWarehousesMapper
 
     @Select("select erp from fs_warehouses where warehouse_code=#{warehouseCode} limit 1")
     String selectErpByCode(@Param("warehouseCode") String warehouseCode);
+
+    @Select("select id, warehouse_name, warehouse_code, erp, warehouse_address, contact_person, contact_phone, is_active, created_at, updated_at, remark from fs_warehouses where warehouse_code=#{warehouseCode} limit 1")
+    FsWarehouses selectByWarehouseCode(@Param("warehouseCode") String warehouseCode);
 }

+ 35 - 5
fs-service-system/src/main/java/com/fs/store/service/impl/FsExpressServiceImpl.java

@@ -26,6 +26,7 @@ import com.fs.live.mapper.LiveOrderMapper;
 import com.fs.store.domain.FsOrderExpressPush;
 import com.fs.store.domain.FsStoreDelivers;
 import com.fs.store.domain.FsStoreOrder;
+import com.fs.store.domain.FsWarehouses;
 import com.fs.store.dto.ExpressAddressDTO;
 import com.fs.store.dto.ExpressAddressDataDTO;
 import com.fs.store.dto.ExpressInfoDTO;
@@ -34,6 +35,7 @@ import com.fs.store.enums.ShipperCodeEnum;
 import com.fs.store.mapper.FsOrderExpressPushMapper;
 import com.fs.store.mapper.FsStoreDeliversMapper;
 import com.fs.store.mapper.FsStoreOrderMapper;
+import com.fs.store.mapper.FsWarehousesMapper;
 import com.fs.store.param.FsStoreOrderExpressParam;
 import com.fs.store.service.IFsStoreOrderService;
 import com.hc.openapi.tool.util.ObjectUtils;
@@ -80,6 +82,8 @@ public class FsExpressServiceImpl implements IFsExpressService
     private FsStoreDeliversMapper fsStoreDeliversMapper;
     @Autowired
     private LiveOrderMapper liveOrderMapper;
+    @Autowired
+    private FsWarehousesMapper fsWarehousesMapper;
 
 
     /**
@@ -160,6 +164,32 @@ public class FsExpressServiceImpl implements IFsExpressService
     public ExpressInfoDTO getExpressInfo(String OrderCode, String ShipperCode, String LogisticCode, String lastFourNumber)     {
 
         //处理顺丰查询轨迹需手机号码后4位
+        // 优先从仓库信息获取手机号后四位:先查商城订单,再查直播订单
+        if (ShipperCode.equals(ShipperCodeEnum.SF.getValue())  || ShipperCode.equals(ShipperCodeEnum.ZTO.getValue())) {
+            String storeHouseCode = null;
+            // 1. 查询商城订单
+            FsStoreOrder storeOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(OrderCode);
+            if (storeOrder != null && StringUtils.isNotBlank(storeOrder.getStoreHouseCode())) {
+                storeHouseCode = storeOrder.getStoreHouseCode();
+            } else {
+                // 2. 商城订单为空,查询直播订单
+                LiveOrder liveOrder = liveOrderMapper.selectLiveOrderByOrderCode(OrderCode);
+                if (liveOrder != null && StringUtils.isNotBlank(liveOrder.getStoreHouseCode())) {
+                    storeHouseCode = liveOrder.getStoreHouseCode();
+                }
+            }
+            // 3. 根据仓库编码查询仓库信息,获取联系电话后四位
+            if (StringUtils.isNotBlank(storeHouseCode)) {
+                FsWarehouses warehouse = fsWarehousesMapper.selectByWarehouseCode(storeHouseCode);
+                if (warehouse != null && StringUtils.isNotBlank(warehouse.getContactPhone())) {
+                    String phone = warehouse.getContactPhone();
+                    if (phone.length() >= 4) {
+                        lastFourNumber = phone.substring(phone.length() - 4);
+                    }
+                }
+            }
+        }
+
         String requestData;
         if (ShipperCode.equals(ShipperCodeEnum.SF.getValue())  || ShipperCode.equals(ShipperCodeEnum.ZTO.getValue())) {
             requestData = "{'OrderCode':'" + OrderCode + "','ShipperCode':'" + ShipperCode + "','LogisticCode':'" + LogisticCode + "','CustomerName':'" + lastFourNumber + "'}";
@@ -207,7 +237,7 @@ public class FsExpressServiceImpl implements IFsExpressService
     public void subscribeEspress(String orderCode, String deliverySn, String deliveryId, String userPhone) {
         //处理顺丰查询轨迹需手机号码后4位
         String requestData;
-        if (ObjectUtils.equals(deliverySn,ShipperCodeEnum.SF.getValue())) {
+        if (ObjectUtils.equals(deliverySn,ShipperCodeEnum.SF.getValue())  || ObjectUtils.equals(deliverySn,ShipperCodeEnum.ZTO.getValue())) {
             requestData = "{'OrderCode':'" + orderCode + "','ShipperCode':'" + deliverySn + "','LogisticCode':'" + deliveryId + "','CustomerName':'" + userPhone + "'}";
         } else {
             requestData = "{'OrderCode':'" + orderCode + "','ShipperCode':'" + deliverySn + "','LogisticCode':'" + deliveryId + "'}";
@@ -241,7 +271,7 @@ public class FsExpressServiceImpl implements IFsExpressService
     public void subscribeEspress(String orderCode, String deliverySn, String deliveryId, String userPhone, Integer type) {
         //处理顺丰查询轨迹需手机号码后4位
         String requestData;
-        if (ObjectUtils.equals(deliverySn,ShipperCodeEnum.SF.getValue())) {
+        if (ObjectUtils.equals(deliverySn,ShipperCodeEnum.SF.getValue()) || ObjectUtils.equals(deliverySn,ShipperCodeEnum.ZTO.getValue())) {
             requestData = "{'OrderCode':'" + orderCode + "','ShipperCode':'" + deliverySn + "','LogisticCode':'" + deliveryId + "','CustomerName':'" + userPhone + "'}";
         } else {
             requestData = "{'OrderCode':'" + orderCode + "','ShipperCode':'" + deliverySn + "','LogisticCode':'" + deliveryId + "'}";
@@ -310,7 +340,7 @@ public class FsExpressServiceImpl implements IFsExpressService
         if(order!=null){
 
             String lastFourNumber = "";
-            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue()) || order.getDeliverySn().equals(ShipperCodeEnum.ZTO.getValue())) {
                 lastFourNumber = order.getUserPhone();
                 if (lastFourNumber.length() == 11) {
                     lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
@@ -319,7 +349,7 @@ public class FsExpressServiceImpl implements IFsExpressService
 
             //处理顺丰查询轨迹需手机号码后4位
             String requestData;
-            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue()) || order.getDeliverySn().equals(ShipperCodeEnum.ZTO.getValue())) {
                 requestData = "{'OrderCode':'" + order.getOrderCode() + "','ShipperCode':'" + order.getDeliverySn() + "','LogisticCode':'" + param.getPackageno() + "','CustomerName':'" + lastFourNumber + "'}";
             } else {
                 requestData = "{'OrderCode':'" + order.getOrderCode() + "','ShipperCode':'" + order.getDeliverySn() + "','LogisticCode':'" + param.getPackageno() + "'}";
@@ -367,7 +397,7 @@ public class FsExpressServiceImpl implements IFsExpressService
         logger.info("查询到订单信息:{}", fsStoreOrder);
         //顺丰轨迹查询处理
         String lastFourNumber = "";
-        if (StringUtils.equals(param.getDeliverSn(),ShipperCodeEnum.SF.getValue())) {
+        if (StringUtils.equals(param.getDeliverSn(),ShipperCodeEnum.SF.getValue()) || StringUtils.equals(param.getDeliverSn(),ShipperCodeEnum.ZTO.getValue())) {
             lastFourNumber = PhoneUtils.getLastFourNum(fsStoreOrder.getUserPhone());
             // 添加日志 - 顺丰单号
             logger.info("顺丰单号处理,获取用户手机号后四位:{}", lastFourNumber);

+ 5 - 5
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -1220,7 +1220,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             FsWxExpressTask fsWxExpressTask1 = fsWxExpressTaskMapper.selectByOrderCode(Long.valueOf(order.getOrderCode()), order.getUserId());
             //订阅物流回调
             String lastFourNumber = "";
-            if (StringUtils.equals(express.getCode(),ShipperCodeEnum.SF.getValue())) {
+            if (StringUtils.equals(express.getCode(),ShipperCodeEnum.SF.getValue()) || StringUtils.equals(express.getCode(),ShipperCodeEnum.ZTO.getValue())) {
                 lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
             }
             expressService.subscribeEspress(order.getOrderCode(),express.getCode(),deliveryId,lastFourNumber);
@@ -1310,8 +1310,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                         OrderLogEnum.DELIVERY_GOODS.getDesc());
                 //订阅物流回调
                 String lastFourNumber = "";
-                if (express.getCode().equals(ShipperCodeEnum.SF.getValue())) {
-                    if (StringUtils.equals(express.getCode(), ShipperCodeEnum.SF.getValue())) {
+                if (express.getCode().equals(ShipperCodeEnum.SF.getValue()) || express.getCode().equals(ShipperCodeEnum.ZTO.getValue())) {
+                    if (StringUtils.equals(express.getCode(), ShipperCodeEnum.SF.getValue()) || express.getCode().equals(ShipperCodeEnum.ZTO.getValue())) {
                         lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
                     }
                 }
@@ -1374,7 +1374,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     public R getExpress(FsStoreOrder order) {
         //顺丰轨迹查询处理
         String lastFourNumber = "";
-        if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+        if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue()) || order.getDeliverySn().equals(ShipperCodeEnum.ZTO.getValue())) {
             lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
         }
         ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber);
@@ -3299,7 +3299,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 if ((!express.isSuccess()&&express.getReason().equals("三天无轨迹"))||(!express.isSuccess()&&express.getReason().equals("七天内无轨迹变化"))){
                     FsStoreOrder fsStoreOrder = orderService.selectFsStoreOrderByOrderCode(express.getOrderCode());
                     String lastFourNumber = "";
-                    if(StringUtils.equals(deliver.getDeliverSn(), ShipperCodeEnum.SF.getValue())){
+                    if(StringUtils.equals(deliver.getDeliverSn(), ShipperCodeEnum.SF.getValue()) || StringUtils.equals(deliver.getDeliverSn(), ShipperCodeEnum.ZTO.getValue())){
                         lastFourNumber = PhoneUtils.getLastFourNum(fsStoreOrder.getUserPhone());
                     }
                     logger.info("物流重新订阅:{}",fsStoreOrder.getDeliveryId());