Преглед на файлове

原矿运输运单详情接口更改

donglang преди 1 месец
родител
ревизия
d6dae8e247
променени са 1 файла, в които са добавени 28 реда и са изтрити 20 реда
  1. 28 20
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

+ 28 - 20
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -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(