|
|
@@ -4289,26 +4289,34 @@ public class KwtWaybillOrderV1Service {
|
|
|
kwtWaybillOrderSubtaskRepository.queryByLogId(logOrder.getId()),traceTaskExecutor);
|
|
|
|
|
|
|
|
|
- CompletableFuture<TradeContractGoodsDto> contractFuture =
|
|
|
- goodsFuture.thenCompose(goods -> {
|
|
|
- Long goodsId = Optional.ofNullable(goods)
|
|
|
- .map(KwtLogisticsOrderGoods::getGoodsId)
|
|
|
- .orElse(null);
|
|
|
- log.debug("开始查询合同信息,贸易订单ID: {}, 商品ID: {}", logOrder.getTOrderId(), goodsId);
|
|
|
-
|
|
|
- return CompletableFuture
|
|
|
- .supplyAsync(
|
|
|
- () -> tradeOrderInfoService.queryByContractByTradeOrderId(logOrder.getTOrderId()), traceTaskExecutor)
|
|
|
- .thenCompose(tradeOrderInfo -> {
|
|
|
- log.debug("贸易订单合同信息查询完成,合同ID: {}", tradeOrderInfo.getContractId());
|
|
|
- return CompletableFuture.supplyAsync(
|
|
|
- () -> remoteContractService.queryContractGoodsByContractId(tradeOrderInfo.getContractId(), goodsId), traceTaskExecutor
|
|
|
- );
|
|
|
- });
|
|
|
- }).exceptionally(ex -> {
|
|
|
- log.error("异步任务执行失败", ex);
|
|
|
- throw new BusinessException("查询合同信息失败");
|
|
|
- });
|
|
|
+ CompletableFuture<TradeContractGoodsDto> contractFuture;
|
|
|
+ //1.正常流程
|
|
|
+ if (!Objects.equals(1, logOrder.getOrderType())) {
|
|
|
+ contractFuture =
|
|
|
+ goodsFuture.thenCompose(goods -> {
|
|
|
+ Long goodsId = Optional.ofNullable(goods)
|
|
|
+ .map(KwtLogisticsOrderGoods::getGoodsId)
|
|
|
+ .orElse(null);
|
|
|
+ log.debug("开始查询合同信息,贸易订单ID: {}, 商品ID: {}", logOrder.getTOrderId(), goodsId);
|
|
|
+
|
|
|
+ return CompletableFuture
|
|
|
+ .supplyAsync(
|
|
|
+ () -> tradeOrderInfoService.queryByContractByTradeOrderId(logOrder.getTOrderId()), traceTaskExecutor)
|
|
|
+ .thenCompose(tradeOrderInfo -> {
|
|
|
+ log.debug("贸易订单合同信息查询完成,合同ID: {}", tradeOrderInfo.getContractId());
|
|
|
+ return CompletableFuture.supplyAsync(
|
|
|
+ () -> remoteContractService.queryContractGoodsByContractId(tradeOrderInfo.getContractId(), goodsId), traceTaskExecutor
|
|
|
+ );
|
|
|
+ });
|
|
|
+ }).exceptionally(ex -> {
|
|
|
+ log.error("异步任务执行失败", ex);
|
|
|
+ throw new BusinessException("查询合同信息失败");
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ //2.原矿运输
|
|
|
+ contractFuture = new CompletableFuture<>();
|
|
|
+ }
|
|
|
+
|
|
|
// 等待所有并行查询完成
|
|
|
log.debug("等待所有并行查询完成");
|
|
|
CompletableFuture.allOf(
|