Jelajahi Sumber

添加订阅的密钥

Yangzw 10 bulan lalu
induk
melakukan
c0970237a1

+ 14 - 13
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java

@@ -171,19 +171,6 @@ public class TradeOrderController {
         Map<String, Object> lastResult = (Map<String, Object>) map.get("lastResult");
         String state = (String) lastResult.get("state");
 
-        //判断订单状态是否是已签收
-        if (state.equals(TradeOrderStateEnum.RECEIVED.getState())) {
-            TradeOrderDO order = tradeOrderQueryService.getOrderById(Long.valueOf(orderId));
-            if (order != null) {
-                List<Map<String, Object>> dataList = (List<Map<String, Object>>) lastResult.get("data");
-                Map<String, Object> firstData = dataList.get(0);
-                //保存签收时间
-                DateTimeFormatter formatter = DateTimeFormatter.ofPattern(FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
-                order.setReceivingTime(LocalDateTime.parse(firstData.get("time").toString(), formatter));
-                tradeOrderUpdateService.updateOrderById(order);
-            }
-        }
-
         //建议记录一下这个回调的内容,方便出问题后双方排查问题
         log.debug("快递100订阅推送回调结果|{}|{}", param, sign);
         //订阅时传的salt,没有可以忽略
@@ -197,6 +184,20 @@ public class TradeOrderController {
         //加密如果相等,属于快递100推送;否则可以忽略掉当前请求
         if (ourSign.equals(sign)) {
             //TODO 业务处理
+
+            //判断订单状态是否是已签收
+            if (state.equals(TradeOrderStateEnum.RECEIVED.getState())) {
+                TradeOrderDO order = tradeOrderQueryService.getOrderById(Long.valueOf(orderId));
+                if (order != null) {
+                    List<Map<String, Object>> dataList = (List<Map<String, Object>>) lastResult.get("data");
+                    Map<String, Object> firstData = dataList.get(0);
+                    //保存签收时间
+                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
+                    order.setReceivingTime(LocalDateTime.parse(firstData.get("time").toString(), formatter));
+                    tradeOrderUpdateService.updateOrderById(order);
+                }
+            }
+
             return subscribeResp;
         }
         return null;

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

@@ -408,6 +408,8 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         SubscribeParameters subscribeParameters = new SubscribeParameters();
         subscribeParameters.setCallbackurl("https://47.107.28.221:8002/admin-api/trade/order/callBackUrl?orderId="+order.getId());
         subscribeParameters.setPhone(order.getReceiverMobile());
+        //添加盐
+        subscribeParameters.setSalt(order.getLogisticsNo());
 
         // 创建订阅参数实例,并设置相关公司代码、物流单号和密钥
         SubscribeParam subscribeParam = new SubscribeParam();