|
@@ -438,34 +438,68 @@ public class FsStoreOrderController extends BaseController
|
|
|
@GetMapping(value = "/getExpress/{id}")
|
|
|
public R getExpress(@PathVariable("id") Long id)
|
|
|
{
|
|
|
- FsStoreOrder order=fsStoreOrderService.selectFsStoreOrderByOrderId(id);
|
|
|
- ExpressInfoDTO expressInfoDTO=null;
|
|
|
+ logger.info("开始查询快递信息,订单ID: {}", id);
|
|
|
+ // 查询订单信息
|
|
|
+ FsStoreOrder order = fsStoreOrderService.selectFsStoreOrderByOrderId(id);
|
|
|
+ logger.info("查询到订单信息,订单号: {}, 快递公司代码: {}, 快递单号: {}",
|
|
|
+ order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn());
|
|
|
+
|
|
|
+ ExpressInfoDTO expressInfoDTO = null;
|
|
|
if(StringUtils.isNotEmpty(order.getDeliverySn())){
|
|
|
+ logger.info("订单存在快递单号,开始查询快递信息,订单号: {}", order.getOrderCode());
|
|
|
String lastFourNumber = "";
|
|
|
- if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue())) {
|
|
|
+ if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue()) ||
|
|
|
+ order.getDeliveryCode().equals(ShipperCodeEnum.ZTO.getValue())) {
|
|
|
|
|
|
lastFourNumber = order.getUserPhone();
|
|
|
+ logger.info("顺丰或中通快递需要手机号后四位,原始手机号长度: {}", lastFourNumber.length());
|
|
|
+
|
|
|
if (lastFourNumber.length() == 11) {
|
|
|
lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
|
|
|
+ logger.info("截取手机号后四位: {}", lastFourNumber);
|
|
|
}else if (lastFourNumber.length()>11){
|
|
|
String jm = decryptPhone(lastFourNumber);
|
|
|
lastFourNumber = StrUtil.sub(jm, jm.length(), -4);
|
|
|
+ logger.info("手机号解密后截取后四位: {}", lastFourNumber);
|
|
|
}
|
|
|
}
|
|
|
- expressInfoDTO=expressService.getExpressInfo(order.getOrderCode(),order.getDeliveryCode(),order.getDeliverySn(),lastFourNumber);
|
|
|
- if((expressInfoDTO.getStateEx()!=null&&expressInfoDTO.getStateEx().equals("0"))&&(expressInfoDTO.getState()!=null&&expressInfoDTO.getState().equals("0"))){
|
|
|
+
|
|
|
+ logger.info("调用快递查询接口,订单号: {}, 快递公司代码: {}, 快递单号: {}, 手机号后四位: {}",
|
|
|
+ order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
|
|
|
+
|
|
|
+ expressInfoDTO = expressService.getExpressInfo(order.getOrderCode(), order.getDeliveryCode(),
|
|
|
+ order.getDeliverySn(), lastFourNumber);
|
|
|
+
|
|
|
+ logger.info("快递查询接口返回结果,状态码: {}, 扩展状态码: {}",
|
|
|
+ expressInfoDTO.getState(), expressInfoDTO.getStateEx());
|
|
|
+
|
|
|
+ if((expressInfoDTO.getStateEx()!=null && expressInfoDTO.getStateEx().equals("0")) &&
|
|
|
+ (expressInfoDTO.getState()!=null && expressInfoDTO.getState().equals("0"))){
|
|
|
+ logger.info("首次查询快递信息失败,尝试使用默认手机号重新查询");
|
|
|
+
|
|
|
lastFourNumber = "19923690275";
|
|
|
- if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue())) {
|
|
|
+ if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue()) ||
|
|
|
+ order.getDeliveryCode().equals(ShipperCodeEnum.ZTO.getValue())) {
|
|
|
if (lastFourNumber.length() == 11) {
|
|
|
lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
|
|
|
+ logger.info("使用默认手机号后四位重新查询: {}", lastFourNumber);
|
|
|
}
|
|
|
}
|
|
|
+ logger.info("再次调用快递查询接口,订单号: {}, 快递公司代码: {}, 快递单号: {}, 默认手机号后四位: {}",
|
|
|
+ order.getOrderCode(), order.getDeliveryCode(), order.getDeliverySn(), lastFourNumber);
|
|
|
|
|
|
- expressInfoDTO=expressService.getExpressInfo(order.getOrderCode(),order.getDeliveryCode(),order.getDeliverySn(),lastFourNumber);
|
|
|
+ expressInfoDTO = expressService.getExpressInfo(order.getOrderCode(), order.getDeliveryCode(),
|
|
|
+ order.getDeliverySn(), lastFourNumber);
|
|
|
|
|
|
+ logger.info("重新查询快递信息结果,状态码: {}, 扩展状态码: {}",
|
|
|
+ expressInfoDTO.getState(), expressInfoDTO.getStateEx());
|
|
|
}
|
|
|
+ } else {
|
|
|
+ logger.info("订单不存在快递单号,无法查询快递信息,订单号: {}", order.getOrderCode());
|
|
|
}
|
|
|
- return R.ok().put("data",expressInfoDTO);
|
|
|
+
|
|
|
+ logger.info("查询快递信息完成,订单ID: {}, 订单号: {}", id, order.getOrderCode());
|
|
|
+ return R.ok().put("data", expressInfoDTO);
|
|
|
}
|
|
|
@Autowired
|
|
|
IErpOrderService erpOrderService;
|
|
@@ -543,9 +577,6 @@ public class FsStoreOrderController extends BaseController
|
|
|
@Qualifier("hzOMSErpOrderServiceImpl")
|
|
|
private IErpOrderService hzOMSErpOrderService;
|
|
|
|
|
|
- @Autowired
|
|
|
- @Qualifier("hzOMSErpOrderServiceImpl")
|
|
|
- private IErpOrderService hzOMSErpOrderService;
|
|
|
@Autowired
|
|
|
@Qualifier("dfOrderServiceImpl")
|
|
|
private IErpOrderService dfOrderService;
|