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 1 package cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto;
2 2  
  3 +import cn.hutool.core.util.StrUtil;
3 4 import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
4 5 import lombok.Data;
5 6  
... ... @@ -13,7 +14,7 @@ public class ExpressTrackQueryReqDTO {
13 14  
14 15 /**
15 16 * 快递公司编码
16   - *
  17 + * <p>
17 18 * 对应 {@link DeliveryExpressDO#getCode()}
18 19 */
19 20 private String expressCode;
... ... @@ -33,4 +34,21 @@ public class ExpressTrackQueryReqDTO {
33 34 */
34 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 206  
207 207 /**
208 208 * 查询物流轨迹
209   - *
  209 + * <p>
210 210 * 缓存的目的:考虑及时性要求不高,但是每次调用需要钱
211 211 *
212 212 * @param code 快递公司编码
... ... @@ -217,10 +217,13 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
217 217 @Cacheable(cacheNames = RedisKeyConstants.EXPRESS_TRACK, key = "#code + '-' + #logisticsNo + '-' + #receiverMobile",
218 218 condition = "#result != null && #result.length() > 0")
219 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 229 // =================== Order Item ===================
... ...