Commit 456b54d4cbf830d13f940fe33932d0ed623c40c3

Authored by 芋道源码
Committed by Gitee
2 parents 0f512299 d4e4207a

!1052 【代码优化】对customerName内部屏蔽

Merge pull request !1052 from 卢越/master-jdk17
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;
3 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; 4 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
4 import lombok.Data; 5 import lombok.Data;
5 6
@@ -13,7 +14,7 @@ public class ExpressTrackQueryReqDTO { @@ -13,7 +14,7 @@ public class ExpressTrackQueryReqDTO {
13 14
14 /** 15 /**
15 * 快递公司编码 16 * 快递公司编码
16 - * 17 + * <p>
17 * 对应 {@link DeliveryExpressDO#getCode()} 18 * 对应 {@link DeliveryExpressDO#getCode()}
18 */ 19 */
19 private String expressCode; 20 private String expressCode;
@@ -33,4 +34,21 @@ public class ExpressTrackQueryReqDTO { @@ -33,4 +34,21 @@ public class ExpressTrackQueryReqDTO {
33 */ 34 */
34 private String customerName; 35 private String customerName;
35 36
  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 + }
36 } 54 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java
@@ -206,7 +206,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { @@ -206,7 +206,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
206 206
207 /** 207 /**
208 * 查询物流轨迹 208 * 查询物流轨迹
209 - * 209 + * <p>
210 * 缓存的目的:考虑及时性要求不高,但是每次调用需要钱 210 * 缓存的目的:考虑及时性要求不高,但是每次调用需要钱
211 * 211 *
212 * @param code 快递公司编码 212 * @param code 快递公司编码
@@ -217,10 +217,13 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { @@ -217,10 +217,13 @@ 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().getExpressTrackList(  
221 - new ExpressTrackQueryReqDTO().setExpressCode(code).setLogisticsNo(logisticsNo)  
222 - // TODO @卢越:1)为什么 customerName 使用 mobile 哈?2)如果使用 mobile,其实可以考虑通过 phone 计算下  
223 - .setPhone(receiverMobile).setCustomerName(StrUtil.subSuf(receiverMobile, receiverMobile.length() - 4))); 220 + return expressClientFactory.getDefaultExpressClient()
  221 + .getExpressTrackList(
  222 + new ExpressTrackQueryReqDTO()
  223 + .setExpressCode(code)
  224 + .setLogisticsNo(logisticsNo)
  225 + .setPhone(receiverMobile)
  226 + );
224 } 227 }
225 228
226 // =================== Order Item =================== 229 // =================== Order Item ===================