Browse Source

feat: 京东快运二维码订单查询逻辑调整;

hanchaolong 12 hours ago
parent
commit
88d181c6b2

+ 10 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/front/request/CommonBusinessGetQRCodeExtendRequest.java

@@ -0,0 +1,10 @@
+package com.ruoyi.front.request;
+
+import com.lop.open.api.sdk.domain.ECAP.CommonBusinessApi.commonGetQRCodeV1.CommonBusinessGetQRCodeRequest;
+import lombok.Data;
+
+@Data
+public class CommonBusinessGetQRCodeExtendRequest extends CommonBusinessGetQRCodeRequest {
+
+    private String businessUnitCode;
+}

+ 10 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/front/request/CommonMonthSettleQRQueryExtendRequest.java

@@ -0,0 +1,10 @@
+package com.ruoyi.front.request;
+
+import com.lop.open.api.sdk.domain.ECAP.CommonQueryOrderApi.commonGetOrderByMonthSettleQRV1.CommonMonthSettleQRQueryRequest;
+import lombok.Data;
+
+@Data
+public class CommonMonthSettleQRQueryExtendRequest extends CommonMonthSettleQRQueryRequest {
+
+    private String businessUnitCode;
+}

+ 5 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/dto/MonthQRCodeDTO.java

@@ -47,4 +47,9 @@ public class MonthQRCodeDTO {
      * 创建时间
      */
     private Date createTime;
+
+    /**
+     * 类型 1.京东快递 2.京东快运
+     */
+    private Integer type;
 }

+ 2 - 2
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/LogisticsOrderService.java

@@ -107,10 +107,10 @@ public class LogisticsOrderService {
         }
     }
 
-    public JSONObject queryOrderByQRCode(Integer orderType, String qrCode) {
+    public JSONObject queryOrderByQRCode(Integer orderType, String qrCode, Integer qrcodeType) {
         // 根据订单中的物流公司类型获取对应服务
         LogisticsService logisticsService = logisticsFactory.getLogisticsService(orderType==1?"JD":"SF");
-        JSONObject jsonObject = logisticsService.queryOrderByQRCode(qrCode);
+        JSONObject jsonObject = logisticsService.queryOrderByQRCode(qrCode, qrcodeType);
         return jsonObject;
     }
 

+ 1 - 1
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/LogisticsService.java

@@ -50,7 +50,7 @@ public interface LogisticsService {
     /**
      * 根据二维码查询
      */
-    JSONObject queryOrderByQRCode(String qrCode);
+    JSONObject queryOrderByQRCode(String qrCode, Integer qrcodeType);
 
     /**
      * 根据运单号查询订单详情

+ 11 - 5
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/JDLogisticsService.java

@@ -21,6 +21,8 @@ import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
+import com.ruoyi.front.request.CommonBusinessGetQRCodeExtendRequest;
+import com.ruoyi.front.request.CommonMonthSettleQRQueryExtendRequest;
 import com.ruoyi.logistics.config.JDExpressConfig;
 import com.ruoyi.logistics.constant.JDDictConstants;
 import com.ruoyi.logistics.constant.SysConfigConstants;
@@ -512,11 +514,11 @@ public class JDLogisticsService  implements LogisticsService {
             EcapV1BusinessQrcodeLopRequest request = new EcapV1BusinessQrcodeLopRequest();
 
             //取消订单入参对象
-            CommonBusinessGetQRCodeRequest requestDTO = new CommonBusinessGetQRCodeRequest();
+            CommonBusinessGetQRCodeExtendRequest requestDTO = new CommonBusinessGetQRCodeExtendRequest();
             if (type == 1) {
                 requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE));
             } else if (type == 2) {
-                requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+                requestDTO.setBusinessUnitCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
             }
 
             request.setRequest(requestDTO);
@@ -550,7 +552,7 @@ public class JDLogisticsService  implements LogisticsService {
     }
 
     @Override
-    public JSONObject queryOrderByQRCode(String qrCode) {
+    public JSONObject queryOrderByQRCode(String qrCode, Integer qrcodeType) {
         log.info("京东开放平台根据二维码查询运单号接口,入参:{}", qrCode);
         JSONObject result = new JSONObject();
         try {
@@ -561,8 +563,12 @@ public class JDLogisticsService  implements LogisticsService {
             //入参对象
             CommonqueryorderapiCommongetorderbymonthsettleqrv1LopRequest request = new CommonqueryorderapiCommongetorderbymonthsettleqrv1LopRequest();
 
-            CommonMonthSettleQRQueryRequest requestDTO = new CommonMonthSettleQRQueryRequest();
-            requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE));
+            CommonMonthSettleQRQueryExtendRequest requestDTO = new CommonMonthSettleQRQueryExtendRequest();
+            if (1 == qrcodeType) {
+                requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE));
+            } else if (2 == qrcodeType) {
+                requestDTO.setBusinessUnitCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            }
             requestDTO.setMonthSettleQR(qrCode);
             requestDTO.setAppKey(jdExpressConfig.getAppKey());
 

+ 1 - 1
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/MonthQRCodeTaskServiceImpl.java

@@ -93,7 +93,7 @@ public class MonthQRCodeTaskServiceImpl implements IMonthQRCodeTaskService {
     }
 
     private void jdQRCodeConsume(MonthQRCodeDTO monthQRCodeDTO, SysUser sysUser, SysDept sysDept, String key) {
-        JSONObject waybillCode = logisticsOrderService.queryOrderByQRCode(1, monthQRCodeDTO.getQrCodeContent());
+        JSONObject waybillCode = logisticsOrderService.queryOrderByQRCode(1, monthQRCodeDTO.getQrCodeContent(), monthQRCodeDTO.getType());
         if(!waybillCode.getBooleanValue("success")){
             log.info("根据二维码查询运单号失败{}", waybillCode.getString("msg"));
             return;

+ 1 - 1
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/SFLogisticsService.java

@@ -346,7 +346,7 @@ public class SFLogisticsService implements LogisticsService {
     }
 
     @Override
-    public JSONObject queryOrderByQRCode(String qrCode) {
+    public JSONObject queryOrderByQRCode(String qrCode, Integer qrcodeType) {
         return null;
     }