瀏覽代碼

feat: 调整地址簿模糊查询;调整京东下单逻辑;

hanchaolong 3 天之前
父節點
當前提交
a81b5a7198

+ 11 - 0
jd-logistics-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BaseEntity.java

@@ -38,6 +38,9 @@ public class BaseEntity implements Serializable
     /** 备注 */
     private String remark;
 
+    /** 搜索关键字 */
+    private String searchKeyword;
+
     /** 请求参数 */
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
     private Map<String, Object> params;
@@ -115,4 +118,12 @@ public class BaseEntity implements Serializable
     {
         this.params = params;
     }
+
+    public String getSearchKeyword() {
+        return searchKeyword;
+    }
+
+    public void setSearchKeyword(String searchKeyword) {
+        this.searchKeyword = searchKeyword;
+    }
 }

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

@@ -63,22 +63,24 @@ public class JDLogisticsService  implements LogisticsService {
             Contact senderContact  = new Contact();
             senderContact.setName(bizWaybillOrder.getSenderName());
             senderContact.setMobile(bizWaybillOrder.getSenderPhone());
-//            senderContact.setFullAddress(bizWaybillOrder.getSenderProvince() + bizWaybillOrder.getSenderCity() + bizWaybillOrder.getSenderCounty() + bizWaybillOrder.getSenderAddress());
-            senderContact.setFullAddress("北京市大兴区亦庄经济开发区abc");
+            senderContact.setFullAddress(bizWaybillOrder.getSenderProvince() + bizWaybillOrder.getSenderCity() + bizWaybillOrder.getSenderCounty() + bizWaybillOrder.getSenderAddress());
+//            senderContact.setFullAddress("北京市大兴区亦庄经济开发区abc");
 
             //收货人
             Contact receiverContact = new Contact();
             receiverContact.setName(bizWaybillOrder.getReceiverName());
             receiverContact.setMobile(bizWaybillOrder.getReceiverPhone());
-//            receiverContact.setFullAddress(bizWaybillOrder.getReceiverProvince() + bizWaybillOrder.getReceiverCity() + bizWaybillOrder.getReceiverCounty() + bizWaybillOrder.getReceiverAddress());
-            receiverContact.setFullAddress("河南省洛阳市西工区正大国际西区");
+            receiverContact.setFullAddress(bizWaybillOrder.getReceiverProvince() + bizWaybillOrder.getReceiverCity() + bizWaybillOrder.getReceiverCounty() + bizWaybillOrder.getReceiverAddress());
+//            receiverContact.setFullAddress("河南省洛阳市西工区正大国际西区");
 
             //订单信息
             CommonCreateOrderRequest requestDTO = new  CommonCreateOrderRequest();
             requestDTO.setOrderOrigin(getOrderOrigin(bizWaybillOrder.getProductCode()));
-            requestDTO.setCustomerCode(requestDTO.getOrderOrigin() == 1 ?
-                    sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE) :
-                    sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            if (requestDTO.getOrderOrigin() == 1) {
+                requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE));
+            } else {
+                requestDTO.setBusinessUnitCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            }
             requestDTO.setPickupStartTime(bizWaybillOrder.getSendStartTime().getTime());
             requestDTO.setPickupEndTime(bizWaybillOrder.getSendEndTime().getTime());
 
@@ -134,23 +136,25 @@ public class JDLogisticsService  implements LogisticsService {
             com.lop.open.api.sdk.domain.ECAP.CommonCreateOrderApi.commonCreateOrderV1.Contact senderContact  = new com.lop.open.api.sdk.domain.ECAP.CommonCreateOrderApi.commonCreateOrderV1.Contact();
             senderContact.setName(bizWaybillOrder.getSenderName());
             senderContact.setMobile(bizWaybillOrder.getSenderPhone());
-//            senderContact.setFullAddress(bizWaybillOrder.getSenderProvince() + bizWaybillOrder.getSenderCity() + bizWaybillOrder.getSenderCounty() + bizWaybillOrder.getSenderAddress());
-            senderContact.setFullAddress("北京市大兴区亦庄经济开发区abc");
+            senderContact.setFullAddress(bizWaybillOrder.getSenderProvince() + bizWaybillOrder.getSenderCity() + bizWaybillOrder.getSenderCounty() + bizWaybillOrder.getSenderAddress());
+//            senderContact.setFullAddress("北京市大兴区亦庄经济开发区abc");
 
             //收货人
             com.lop.open.api.sdk.domain.ECAP.CommonCreateOrderApi.commonCreateOrderV1.Contact receiverContact = new com.lop.open.api.sdk.domain.ECAP.CommonCreateOrderApi.commonCreateOrderV1.Contact();
             receiverContact.setName(bizWaybillOrder.getReceiverName());
             receiverContact.setMobile(bizWaybillOrder.getReceiverPhone());
-//            receiverContact.setFullAddress(bizWaybillOrder.getReceiverProvince() + bizWaybillOrder.getReceiverCity() + bizWaybillOrder.getReceiverCounty() + bizWaybillOrder.getReceiverAddress());
-            receiverContact.setFullAddress("河南省洛阳市西工区正大国际西区");
+            receiverContact.setFullAddress(bizWaybillOrder.getReceiverProvince() + bizWaybillOrder.getReceiverCity() + bizWaybillOrder.getReceiverCounty() + bizWaybillOrder.getReceiverAddress());
+//            receiverContact.setFullAddress("河南省洛阳市西工区正大国际西区");
 
             //订单信息
             com.lop.open.api.sdk.domain.ECAP.CommonCreateOrderApi.commonCreateOrderV1.CommonCreateOrderRequest requestDTO = new  com.lop.open.api.sdk.domain.ECAP.CommonCreateOrderApi.commonCreateOrderV1.CommonCreateOrderRequest();
             requestDTO.setOrderId(bizWaybillOrder.getWaybillNo());
             requestDTO.setOrderOrigin(getOrderOrigin(bizWaybillOrder.getProductCode()));
-            requestDTO.setCustomerCode(requestDTO.getOrderOrigin() == 1 ?
-                    sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE) :
-                    sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            if (requestDTO.getOrderOrigin() == 1) {
+                requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE));
+            } else {
+                requestDTO.setBusinessUnitCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            }
             requestDTO.setSettleType(3);
             requestDTO.setPickupStartTime(bizWaybillOrder.getSendStartTime().getTime());
             requestDTO.setPickupEndTime(bizWaybillOrder.getSendEndTime().getTime());
@@ -222,12 +226,14 @@ public class JDLogisticsService  implements LogisticsService {
 
             //取消订单入参对象
             CommonOrderCancelRequest requestDTO = new CommonOrderCancelRequest();
-            requestDTO.setWaybillCode(bizWaybillOrder.getExternalWaybillNo());//JDV025588771574
-            requestDTO.setCustomerOrderId(bizWaybillOrder.getWaybillNo());//RJSD20260206000027
+            requestDTO.setWaybillCode(bizWaybillOrder.getExternalWaybillNo());
+            requestDTO.setCustomerOrderId(bizWaybillOrder.getWaybillNo());
             requestDTO.setOrderOrigin(getOrderOrigin(bizWaybillOrder.getProductCode()));
-            requestDTO.setCustomerCode(requestDTO.getOrderOrigin() == 1 ?
-                    sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE) :
-                    sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            if (requestDTO.getOrderOrigin() == 1) {
+                requestDTO.setCustomerCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_CUSTOMERCODE));
+            } else {
+                requestDTO.setBusinessUnitCode(sysConfigService.selectConfigByKey(SysConfigConstants.JD_LOGISTICS_BUSINESSUNITCODE));
+            }
             requestDTO.setCancelReason(bizWaybillOrder.getCancelReason());
             requestDTO.setCancelReasonCode("1");
             requestDTO.setCancelType(1);
@@ -360,16 +366,16 @@ public class JDLogisticsService  implements LogisticsService {
     static {
         // 订单来源为1的配置
         Map<String, ProductConfig> origin1Config = new HashMap<>();
-        origin1Config.put("isPack", new ProductConfig("ed-a-0002", true));
-        origin1Config.put("guaranteeMoney", new ProductConfig("ed-a-0010", true));
-        origin1Config.put("isReceiptCollect", new ProductConfig("ed-a-0011", false));
+        origin1Config.put("isPack", new ProductConfig("ed-a-0011", false, true));
+        origin1Config.put("guaranteeMoney", new ProductConfig("ed-a-0002", true, false));
+        origin1Config.put("isReceiptCollect", new ProductConfig("ed-a-0010", true, true));
         SERVICE_CONFIG_MAP.put(1, origin1Config);
         
         // 订单来源为4的配置
         Map<String, ProductConfig> origin4Config = new HashMap<>();
-        origin4Config.put("isPack", new ProductConfig("fr-a-0002", true));
-        origin4Config.put("guaranteeMoney", new ProductConfig("fr-a-0007", true));
-        origin4Config.put("isReceiptCollect", new ProductConfig("fr-a-0005", false));
+        origin4Config.put("isPack", new ProductConfig("fr-a-0005", false, true));
+        origin4Config.put("guaranteeMoney", new ProductConfig("fr-a-0002", true, false));
+        origin4Config.put("isReceiptCollect", new ProductConfig("fr-a-0007", true, true));
         SERVICE_CONFIG_MAP.put(4, origin4Config);
     }
     
@@ -379,10 +385,12 @@ public class JDLogisticsService  implements LogisticsService {
     private static class ProductConfig {
         private final String productCode;
         private final boolean hasAttrs;
+        private final boolean valueType;
         
-        public ProductConfig(String productCode, boolean hasAttrs) {
+        public ProductConfig(String productCode, boolean hasAttrs, boolean valueType) {
             this.productCode = productCode;
             this.hasAttrs = hasAttrs;
+            this.valueType = valueType;
         }
         
         public String getProductCode() {
@@ -392,6 +400,10 @@ public class JDLogisticsService  implements LogisticsService {
         public boolean isHasAttrs() {
             return hasAttrs;
         }
+
+        public boolean getValueType() {
+            return valueType;
+        }
     }
     
     /**
@@ -418,6 +430,9 @@ public class JDLogisticsService  implements LogisticsService {
         for (Map.Entry<String, ProductConfig> entry : configMap.entrySet()) {
             String serviceKey = entry.getKey();
             ProductConfig config = entry.getValue();
+            if (StringUtils.isBlank(addedJson.getString(serviceKey))) {
+                continue;
+            }
             
             // 检查JSON中是否包含该增值服务
             if (addedJson.containsKey(serviceKey)) {

+ 3 - 0
jd-logistics-modules/jd-logistics-system/src/main/resources/mapper/logistics/BizAddressBookMapper.xml

@@ -41,6 +41,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="defaultFlag != null  and defaultFlag != ''"> and default_flag = #{defaultFlag}</if>
             <if test="deptId != null "> and dept_id = #{deptId}</if>
             <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="searchKeyword != null and searchKeyword != ''"> and (contact_name like concat('%', #{searchKeyword}, '%') or
+                                                                            contact_phone like concat('%', #{searchKeyword}, '%') or
+                                                                            detailed_address like concat('%', #{searchKeyword}, '%'))</if>
         </where>
         order by default_flag desc, create_time desc
     </select>

+ 1 - 0
jd-logistics-modules/jd-logistics-system/src/main/resources/mapper/logistics/BizWaybillOrderMapper.xml

@@ -88,6 +88,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <!-- 数据范围过滤 -->
             ${params.dataScope}
         </where>
+        order by create_time desc
     </select>
     
     <select id="selectBizWaybillOrderByWaybillId" parameterType="Long" resultMap="BizWaybillOrderResult">