Commit 9bb231eb7338f7dc4649d0f8ef219de43f1ed259

Authored by YunaiV
1 parent 456b54d4

【代码优化】商城:查询 SF 物流,需要 CustomerName 的情况

yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/delivery/core/client/dto/ExpressTrackQueryReqDTO.java
1 package cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto; 1 package cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto;
2 2
3 -import cn.hutool.core.util.StrUtil;  
4 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; 3 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
5 import lombok.Data; 4 import lombok.Data;
6 5
@@ -34,21 +33,4 @@ public class ExpressTrackQueryReqDTO { @@ -34,21 +33,4 @@ public class ExpressTrackQueryReqDTO {
34 */ 33 */
35 private String customerName; 34 private String customerName;
36 35
37 - public ExpressTrackQueryReqDTO setExpressCode(String expressCode) {  
38 - this.expressCode = expressCode;  
39 - updateCustomerName();  
40 - return this; // 返回实体对象  
41 - }  
42 -  
43 - public ExpressTrackQueryReqDTO setPhone(String phone) {  
44 - this.phone = phone;  
45 - updateCustomerName();  
46 - return this; // 返回实体对象  
47 - }  
48 -  
49 - private void updateCustomerName() {  
50 - if ("SF".equals(expressCode) && phone != null && phone.length() >= 4) {  
51 - this.customerName = phone.substring(phone.length() - 4);  
52 - }  
53 - }  
54 } 36 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/delivery/core/client/impl/kdniao/KdNiaoExpressClient.java
@@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.trade.framework.delivery.core.client.impl.kdniao @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.trade.framework.delivery.core.client.impl.kdniao
3 import cn.hutool.core.codec.Base64; 3 import cn.hutool.core.codec.Base64;
4 import cn.hutool.core.collection.CollUtil; 4 import cn.hutool.core.collection.CollUtil;
5 import cn.hutool.core.net.URLEncodeUtil; 5 import cn.hutool.core.net.URLEncodeUtil;
  6 +import cn.hutool.core.util.ObjUtil;
  7 +import cn.hutool.core.util.StrUtil;
6 import cn.hutool.crypto.digest.DigestUtil; 8 import cn.hutool.crypto.digest.DigestUtil;
7 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 9 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
8 import cn.iocoder.yudao.module.trade.framework.delivery.config.TradeExpressProperties; 10 import cn.iocoder.yudao.module.trade.framework.delivery.config.TradeExpressProperties;
@@ -60,6 +62,11 @@ public class KdNiaoExpressClient implements ExpressClient { @@ -60,6 +62,11 @@ public class KdNiaoExpressClient implements ExpressClient {
60 // 发起请求 62 // 发起请求
61 KdNiaoExpressQueryReqDTO requestDTO = INSTANCE.convert(reqDTO) 63 KdNiaoExpressQueryReqDTO requestDTO = INSTANCE.convert(reqDTO)
62 .setExpressCode(reqDTO.getExpressCode().toUpperCase()); 64 .setExpressCode(reqDTO.getExpressCode().toUpperCase());
  65 + if (ObjUtil.equal(requestDTO.getExpressCode(), "SF")
  66 + && StrUtil.isBlank(reqDTO.getCustomerName())
  67 + && StrUtil.length(reqDTO.getPhone()) >= 4) {
  68 + requestDTO.setCustomerName(StrUtil.subSufByLength(reqDTO.getPhone(), 4));
  69 + }
63 KdNiaoExpressQueryRespDTO respDTO = httpRequest(REAL_TIME_QUERY_URL, REAL_TIME_FREE_REQ_TYPE, 70 KdNiaoExpressQueryRespDTO respDTO = httpRequest(REAL_TIME_QUERY_URL, REAL_TIME_FREE_REQ_TYPE,
64 requestDTO, KdNiaoExpressQueryRespDTO.class); 71 requestDTO, KdNiaoExpressQueryRespDTO.class);
65 72
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java
@@ -217,13 +217,8 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { @@ -217,13 +217,8 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
217 @Cacheable(cacheNames = RedisKeyConstants.EXPRESS_TRACK, key = "#code + '-' + #logisticsNo + '-' + #receiverMobile", 217 @Cacheable(cacheNames = RedisKeyConstants.EXPRESS_TRACK, key = "#code + '-' + #logisticsNo + '-' + #receiverMobile",
218 condition = "#result != null && #result.length() > 0") 218 condition = "#result != null && #result.length() > 0")
219 public List<ExpressTrackRespDTO> getExpressTrackList(String code, String logisticsNo, String receiverMobile) { 219 public List<ExpressTrackRespDTO> getExpressTrackList(String code, String logisticsNo, String receiverMobile) {
220 - return expressClientFactory.getDefaultExpressClient()  
221 - .getExpressTrackList(  
222 - new ExpressTrackQueryReqDTO()  
223 - .setExpressCode(code)  
224 - .setLogisticsNo(logisticsNo)  
225 - .setPhone(receiverMobile)  
226 - ); 220 + return expressClientFactory.getDefaultExpressClient().getExpressTrackList(new ExpressTrackQueryReqDTO()
  221 + .setExpressCode(code).setLogisticsNo(logisticsNo).setPhone(receiverMobile));
227 } 222 }
228 223
229 // =================== Order Item =================== 224 // =================== Order Item ===================