Explorar el Código

更新物流查询

Yangzw hace 6 meses
padre
commit
0d362001aa

+ 5 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/framework/delivery/core/client/dto/ExpressTrackQueryReqDTO.java

@@ -13,7 +13,6 @@ public class ExpressTrackQueryReqDTO {
 
     /**
      * 快递公司编码
-     *
      * 对应 {@link DeliveryExpressDO#getCode()}
      */
     private String expressCode;
@@ -28,4 +27,9 @@ public class ExpressTrackQueryReqDTO {
      */
     private String phone;
 
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
 }

+ 1 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/framework/delivery/core/client/impl/kd100/Kd100ExpressClient.java

@@ -78,7 +78,7 @@ public class Kd100ExpressClient implements ExpressClient {
 
         //如果状态为已签收("3"),则保存到订单信息中
         if(respDTO.getState().equals(TradeOrderStateEnum.RECEIVED.getState())){
-            tradeOrderUpdateService.updateOrder(respDTO.getExpressCompanyCode(),respDTO.getLogisticsNo(),expressTrackRespDTOS.get(0).getTime());
+            tradeOrderUpdateService.updateOrder(respDTO.getExpressCompanyCode(),respDTO.getLogisticsNo(),expressTrackRespDTOS.get(0).getTime(),reqDTO.getOrderId());
         }
         return expressTrackRespDTOS;
     }

+ 3 - 3
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryServiceImpl.java

@@ -473,7 +473,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
             throw exception(EXPRESS_NOT_EXISTS);
         }
         // 查询物流轨迹
-        return getSelf().getExpressTrackList(express.getCode(), order.getLogisticsNo(), order.getReceiverMobile());
+        return getSelf().getExpressTrackList(express.getCode(), order.getLogisticsNo(), order.getReceiverMobile(), order.getId());
     }
 
     /**
@@ -488,10 +488,10 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
      */
     @Cacheable(cacheNames = RedisKeyConstants.EXPRESS_TRACK, key = "#code + '-' + #logisticsNo + '-' + #receiverMobile",
             condition = "#result != null")
-    public List<ExpressTrackRespDTO> getExpressTrackList(String code, String logisticsNo, String receiverMobile) {
+    public List<ExpressTrackRespDTO> getExpressTrackList(String code, String logisticsNo, String receiverMobile, Long orderId) {
         return expressClientFactory.getDefaultExpressClient().getExpressTrackList(
                 new ExpressTrackQueryReqDTO().setExpressCode(code).setLogisticsNo(logisticsNo)
-                        .setPhone(receiverMobile));
+                        .setPhone(receiverMobile).setOrderId(orderId));
     }
 
 

+ 1 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateService.java

@@ -201,7 +201,7 @@ public interface TradeOrderUpdateService {
      * @param com 快递公司编码
      * @param nu 单号
      */
-    void updateOrder(String com, String nu, LocalDateTime time);
+    void updateOrder(String com, String nu, LocalDateTime time, Long orderId);
 
     void updateOrderById(TradeOrderDO order);
 

+ 9 - 7
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java

@@ -687,7 +687,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                 Long userId = order.getUserId();
                 //如果订单有使用积分,则退回积分
                 if (payIntegral > 0) {
-                    integralService.updateUserIntegral(userId,CaclEnum.ORDER_CANCEL_BY_SYSTEM_REFUND_INTEGRAL,payIntegral,tradeOrderId,orderNum);
+                    integralService.updateUserIntegral(userId, CaclEnum.ORDER_CANCEL_BY_SYSTEM_REFUND_INTEGRAL, payIntegral, tradeOrderId, orderNum);
                 }
 
                 count++;
@@ -1017,9 +1017,10 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
      * @param com 快递公司编码
      * @param nu  单号
      */
-    public void updateOrder(String com, String nu, LocalDateTime time) {
+    public void updateOrder(String com, String nu, LocalDateTime time, Long orderId) {
         DeliveryExpressDO deliveryExpressDO = deliveryExpressService.selectByCode(com);
         TradeOrderDO tradeOrderDO = tradeOrderMapper.selectOne(new LambdaQueryWrapper<TradeOrderDO>()
+                .eq(TradeOrderDO::getId, orderId)
                 .eq(TradeOrderDO::getLogisticsNo, nu)
                 .eq(TradeOrderDO::getLogisticsId, deliveryExpressDO.getId())
                 .isNull(TradeOrderDO::getReceivingTime)
@@ -1073,13 +1074,13 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
             }
 
             //修改购物者本人获得的冻结峰值
-            integralService.updateIntegralFreezeHighQuota(tradeOrderDO.getUserId(), tradeOrderDO.getUserId(), CaclEnum.ORDER_PAY_FREEZE_HIGH_QUOTA,totalFreezeHighQuota,tradeOrderDO.getId(),tradeOrderDO.getNo(),tradeOrderDO.getPayTime());
+            integralService.updateIntegralFreezeHighQuota(tradeOrderDO.getUserId(), tradeOrderDO.getUserId(), CaclEnum.ORDER_PAY_FREEZE_HIGH_QUOTA, totalFreezeHighQuota, tradeOrderDO.getId(), tradeOrderDO.getNo(), tradeOrderDO.getPayTime());
         }
     }
 
     @Override
     public void initializationOrderItem() {
-        List<TradeOrderItemDO> tradeOrderItemDOS = tradeOrderItemMapper.selectList(TradeOrderItemDO::getCostPrice,-1);
+        List<TradeOrderItemDO> tradeOrderItemDOS = tradeOrderItemMapper.selectList(TradeOrderItemDO::getCostPrice, -1);
         for (TradeOrderItemDO tradeOrderItemDO : tradeOrderItemDOS) {
             ProductSkuDO productSkuDO = productSkuMapper.selectById(tradeOrderItemDO.getSkuId());
             tradeOrderItemDO.setCostPrice(productSkuDO.getCostPrice());
@@ -1229,7 +1230,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
             integralService.updateUserIntegral(tradeOrderDO.getUserId(), ancesterUserId, CaclEnum.ORDER_PAY_INTEGRAL_ANCESTER, 0L, totalAncestorFreezeAmount, tradeOrderId, OrderNum);
 
             //修改购物者本人获得的冻结峰值
-            integralService.updateIntegralFreezeHighQuota(tradeOrderDO.getUserId(), tradeOrderDO.getUserId(),CaclEnum.ORDER_PAY_FREEZE_HIGH_QUOTA,totalFreezeHighQuota,tradeOrderId,OrderNum);
+            integralService.updateIntegralFreezeHighQuota(tradeOrderDO.getUserId(), tradeOrderDO.getUserId(), CaclEnum.ORDER_PAY_FREEZE_HIGH_QUOTA, totalFreezeHighQuota, tradeOrderId, OrderNum);
             log.warn("[TradeOrderUpdateServiceImpl.updateOrderPaid]$$$:[tradeOrderId({}),ancesterUserId({}),totalAncestorFreezeAmount({})]" + new Date(),
                     tradeOrderId, ancesterUserId, totalAncestorFreezeAmount);
 
@@ -1243,9 +1244,10 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 
     /**
      * 计算订单支付成功后,订单项的冻结积分转换
-     * @param tradeOrderDOList 订单列表
+     *
+     * @param tradeOrderDOList  订单列表
      * @param orderPercentageDO 参数百分比
-     * @param percentTemplate 计算百分比模板
+     * @param percentTemplate   计算百分比模板
      */
     private void calc(List<TradeOrderDO> tradeOrderDOList, OrderPercentageDO orderPercentageDO, String percentTemplate) {
         // 平台收益日志