Quellcode durchsuchen

fix: 快递鸟订阅修复

xdd vor 2 Monaten
Ursprung
Commit
ef0c0f0e6c

+ 9 - 0
fs-admin/src/test/java/com/fs/store/controller/FsStorePaymentControllerTest.java

@@ -11,6 +11,7 @@ import com.fs.store.enums.IcgProcessStatusEnum;
 import com.fs.store.mapper.FsMiniprogramSubNotifyTaskMapper;
 import com.fs.store.service.IFsCouponScheduleService;
 import com.fs.store.service.IFsStorePaymentService;
+import com.fs.task.ExpressTask;
 import com.fs.task.MiniProgramSubTask;
 import com.fs.task.StoreTask;
 import com.fs.tzBank.TzBankService;
@@ -170,11 +171,19 @@ public class FsStorePaymentControllerTest {
     @Autowired
     private StoreTask storeTask;
 
+    @Autowired
+    private ExpressTask expressTask;
+
     @Test
     public void deliveryOp(){
         storeTask.deliveryOp();
     }
 
+    @Test
+    public void subscribeExpress(){
+        expressTask.subscribeExpress();
+    }
+
     @Test
     public void issueCoupon() throws Exception {
         fsCouponScheduleService.issueCoupon();

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

@@ -1,6 +1,7 @@
 package com.fs.express.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fs.express.IExpressService;
 import com.fs.express.dto.ExpressPushRespDTO;
 import com.fs.express.enums.TaskStatusEnum;
@@ -10,6 +11,7 @@ import com.fs.store.domain.FsOrderExpressPush;
 import com.fs.store.mapper.FsOrderExpressPushMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.net.URLDecoder;
@@ -27,6 +29,8 @@ public class ExpressServiceImpl implements IExpressService {
     @Autowired
     private KdniaoSubscribeHttp kdniaoSubscribeHttp;
 
+    @Value("${fsConfig.notifyUrl}")
+    private String kdnNotifyUrl;
     /**
      * 推送物流信息到快递鸟
      */
@@ -43,9 +47,12 @@ public class ExpressServiceImpl implements IExpressService {
             ExpressPushRespDTO expressPushRespDTO = null;
             try {
                 params = URLDecoder.decode(params, "UTF-8");
-                LogisticsInfoDTO payload = JSON.parseObject(params, LogisticsInfoDTO.class);
+                JSONObject jsonObject = JSON.parseObject(params);
+                String requestData = jsonObject.getString("RequestData");
+                LogisticsInfoDTO payload = JSON.parseObject(requestData, LogisticsInfoDTO.class);
+                payload.setCallback(kdnNotifyUrl);
                 expressPushRespDTO = kdniaoSubscribeHttp.subscribeLogistic(payload);
-            } catch (Throwable e) {
+            } catch (Exception e) {
                 log.error("物流订阅发生异常 - 单号: {}, 错误信息: {}", fsOrderExpressPush.getOrderId(), JSON.toJSONString(e));
                 expressPushRespDTO = new ExpressPushRespDTO();
                 expressPushRespDTO.setSuccess(false);