Commit 456b54d4cbf830d13f940fe33932d0ed623c40c3
Committed by
Gitee
!1052 【代码优化】对customerName内部屏蔽
Merge pull request !1052 from 卢越/master-jdk17
Showing
2 changed files
with
27 additions
and
6 deletions
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 =================== | ... | ... |