不再调用快递取消/拦截接口
parent
7fbfb06c36
commit
8bb26814c1
|
|
@ -370,28 +370,27 @@ public class StoreOrderController extends XktBaseController {
|
|||
//创建售后订单
|
||||
AfterSaleApplyResultDTO afterSaleApplyResult = storeOrderService.createAfterSaleOrder(dto);
|
||||
//取消/拦截物流
|
||||
//TODO 调用失败如何补偿?
|
||||
Set<ExpressSimpleDTO> stopExpresses = afterSaleApplyResult.getNeedStopExpresses();
|
||||
for (ExpressSimpleDTO express : stopExpresses) {
|
||||
boolean cancelSuccess = true;
|
||||
ExpressManager expressManager = expressService.getExpressManager(express.getExpressId());
|
||||
if (EExpressStatus.PLACING.getValue().equals(express.getExpressStatus())
|
||||
|| EExpressStatus.PLACED.getValue().equals(express.getExpressStatus())) {
|
||||
cancelSuccess = expressManager.cancelShip(new ExpressCancelReqDTO(
|
||||
express.getExpressReqNo(),
|
||||
express.getExpressWaybillNo()
|
||||
));
|
||||
logger.info("物流订单取消:waybillNo={},result={}", express.getExpressWaybillNo(), cancelSuccess);
|
||||
}
|
||||
if (!cancelSuccess ||
|
||||
EExpressStatus.PICKED_UP.getValue().equals(express.getExpressStatus())) {
|
||||
boolean interceptSuccess = expressManager.interceptShip(new ExpressInterceptReqDTO(
|
||||
express.getExpressReqNo(),
|
||||
express.getExpressWaybillNo()
|
||||
));
|
||||
logger.info("物流订单拦截:waybillNo={},result={}", express.getExpressWaybillNo(), interceptSuccess);
|
||||
}
|
||||
}
|
||||
// Set<ExpressSimpleDTO> stopExpresses = afterSaleApplyResult.getNeedStopExpresses();
|
||||
// for (ExpressSimpleDTO express : stopExpresses) {
|
||||
// boolean cancelSuccess = true;
|
||||
// ExpressManager expressManager = expressService.getExpressManager(express.getExpressId());
|
||||
// if (EExpressStatus.PLACING.getValue().equals(express.getExpressStatus())
|
||||
// || EExpressStatus.PLACED.getValue().equals(express.getExpressStatus())) {
|
||||
// cancelSuccess = expressManager.cancelShip(new ExpressCancelReqDTO(
|
||||
// express.getExpressReqNo(),
|
||||
// express.getExpressWaybillNo()
|
||||
// ));
|
||||
// logger.info("物流订单取消:waybillNo={},result={}", express.getExpressWaybillNo(), cancelSuccess);
|
||||
// }
|
||||
// if (!cancelSuccess ||
|
||||
// EExpressStatus.PICKED_UP.getValue().equals(express.getExpressStatus())) {
|
||||
// boolean interceptSuccess = expressManager.interceptShip(new ExpressInterceptReqDTO(
|
||||
// express.getExpressReqNo(),
|
||||
// express.getExpressWaybillNo()
|
||||
// ));
|
||||
// logger.info("物流订单拦截:waybillNo={},result={}", express.getExpressWaybillNo(), interceptSuccess);
|
||||
// }
|
||||
// }
|
||||
return success(afterSaleApplyResult.getStoreOrderId());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -99,64 +99,62 @@ public class YtoExpressManagerImpl implements ExpressManager {
|
|||
|
||||
@Override
|
||||
public boolean cancelShip(ExpressCancelReqDTO cancelReqDTO) {
|
||||
//取消订单,直接不发货不取件
|
||||
// Assert.notNull(cancelReqDTO);
|
||||
// Assert.notEmpty(cancelReqDTO.getExpressReqNo());
|
||||
// YtoCancelOrderParam cancelOrderParam = new YtoCancelOrderParam();
|
||||
// cancelOrderParam.setLogisticsNo(cancelReqDTO.getExpressReqNo());
|
||||
// cancelOrderParam.setCancelDesc("订单取消");
|
||||
// try {
|
||||
// String param = JSONUtil.toJsonStr(cancelOrderParam);
|
||||
// String sign = YtoSignUtil.sign("korder_cancel_adapter", "v1", param, appSecret);
|
||||
// YtoPublicRequest request = YtoPublicRequest.builder()
|
||||
// .timestamp(System.currentTimeMillis())
|
||||
// .param(param)
|
||||
// .format(YtoPublicRequest.EFormat.JSON)
|
||||
// .sign(sign).build();
|
||||
// String rtnStr = HttpUtil.post(gatewayUrl + "open/korder_cancel_adapter/v1/av7bfQ/" + appKey,
|
||||
// JSONUtil.toJsonStr(request));
|
||||
// log.info("圆通订单取消返回信息: {}", rtnStr);
|
||||
// JSONObject rtnJson = JSONUtil.parseObj(rtnStr);
|
||||
// String logisticsNo = rtnJson.getStr("logisticsNo");
|
||||
// if (StrUtil.isNotEmpty(logisticsNo)
|
||||
// && logisticsNo.equals(cancelOrderParam.getLogisticsNo())) {
|
||||
// return true;
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// log.error("圆通订单取消异常", e);
|
||||
// }
|
||||
// log.warn("圆通订单取消失败: {}", cancelReqDTO);
|
||||
Assert.notNull(cancelReqDTO);
|
||||
Assert.notEmpty(cancelReqDTO.getExpressReqNo());
|
||||
YtoCancelOrderParam cancelOrderParam = new YtoCancelOrderParam();
|
||||
cancelOrderParam.setLogisticsNo(cancelReqDTO.getExpressReqNo());
|
||||
cancelOrderParam.setCancelDesc("订单取消");
|
||||
try {
|
||||
String param = JSONUtil.toJsonStr(cancelOrderParam);
|
||||
String sign = YtoSignUtil.sign("korder_cancel_adapter", "v1", param, appSecret);
|
||||
YtoPublicRequest request = YtoPublicRequest.builder()
|
||||
.timestamp(System.currentTimeMillis())
|
||||
.param(param)
|
||||
.format(YtoPublicRequest.EFormat.JSON)
|
||||
.sign(sign).build();
|
||||
String rtnStr = HttpUtil.post(gatewayUrl + "open/korder_cancel_adapter/v1/av7bfQ/" + appKey,
|
||||
JSONUtil.toJsonStr(request));
|
||||
log.info("圆通订单取消返回信息: {}", rtnStr);
|
||||
JSONObject rtnJson = JSONUtil.parseObj(rtnStr);
|
||||
String logisticsNo = rtnJson.getStr("logisticsNo");
|
||||
if (StrUtil.isNotEmpty(logisticsNo)
|
||||
&& logisticsNo.equals(cancelOrderParam.getLogisticsNo())) {
|
||||
return true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("圆通订单取消异常", e);
|
||||
}
|
||||
log.warn("圆通订单取消失败: {}", cancelReqDTO);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean interceptShip(ExpressInterceptReqDTO interceptReqDTO) {
|
||||
//TODO 未对接
|
||||
// Assert.notNull(interceptReqDTO);
|
||||
// Assert.notEmpty(interceptReqDTO.getExpressWaybillNo());
|
||||
// YtoInterceptReturnParam interceptReturnParam = new YtoInterceptReturnParam();
|
||||
// interceptReturnParam.setWaybillNo(interceptReqDTO.getExpressWaybillNo());
|
||||
// interceptReturnParam.setWantedDesc("拦截退回");
|
||||
// try {
|
||||
// String param = JSONUtil.toJsonStr(interceptReturnParam);
|
||||
// String sign = YtoSignUtil.sign("wanted_report_adapter", "v1", param, appSecret);
|
||||
// YtoPublicRequest request = YtoPublicRequest.builder()
|
||||
// .timestamp(System.currentTimeMillis())
|
||||
// .param(param)
|
||||
// .format(YtoPublicRequest.EFormat.JSON)
|
||||
// .sign(sign).build();
|
||||
// String rtnStr = HttpUtil.post(gatewayUrl + "open/wanted_report_adapter/v1/av7bfQ/" + appKey,
|
||||
// JSONUtil.toJsonStr(request));
|
||||
// log.info("圆通订单拦截返回信息: {}", rtnStr);
|
||||
// JSONObject rtnJson = JSONUtil.parseObj(rtnStr);
|
||||
// Integer statusCode = rtnJson.getInt("statusCode");
|
||||
// if (statusCode != null && statusCode == 0) {
|
||||
// return true;
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// log.error("圆通订单拦截异常", e);
|
||||
// }
|
||||
// log.warn("圆通订单拦截失败: {}", interceptReqDTO);
|
||||
Assert.notNull(interceptReqDTO);
|
||||
Assert.notEmpty(interceptReqDTO.getExpressWaybillNo());
|
||||
YtoInterceptReturnParam interceptReturnParam = new YtoInterceptReturnParam();
|
||||
interceptReturnParam.setWaybillNo(interceptReqDTO.getExpressWaybillNo());
|
||||
interceptReturnParam.setWantedDesc("拦截退回");
|
||||
try {
|
||||
String param = JSONUtil.toJsonStr(interceptReturnParam);
|
||||
String sign = YtoSignUtil.sign("wanted_report_adapter", "v1", param, appSecret);
|
||||
YtoPublicRequest request = YtoPublicRequest.builder()
|
||||
.timestamp(System.currentTimeMillis())
|
||||
.param(param)
|
||||
.format(YtoPublicRequest.EFormat.JSON)
|
||||
.sign(sign).build();
|
||||
String rtnStr = HttpUtil.post(gatewayUrl + "open/wanted_report_adapter/v1/av7bfQ/" + appKey,
|
||||
JSONUtil.toJsonStr(request));
|
||||
log.info("圆通订单拦截返回信息: {}", rtnStr);
|
||||
JSONObject rtnJson = JSONUtil.parseObj(rtnStr);
|
||||
Integer statusCode = rtnJson.getInt("statusCode");
|
||||
if (statusCode != null && statusCode == 0) {
|
||||
return true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("圆通订单拦截异常", e);
|
||||
}
|
||||
log.warn("圆通订单拦截失败: {}", interceptReqDTO);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue