Kaynağa Gözat

贸易订单撤销接口贸易合同查询修复

donglang 1 gün önce
ebeveyn
işleme
8d5dd527ee

+ 9 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -58,6 +58,7 @@ import com.sckw.order.model.vo.res.GoodsInfoDetailRes;
 import com.sckw.order.model.vo.res.OrderDetailRes;
 import com.sckw.order.model.vo.res.UnitInfoDetailRes;
 import com.sckw.order.model.vo.res.*;
+import com.sckw.order.repository.KwoTradeOrderContractRepository;
 import com.sckw.order.repository.KwoTradeOrderUnitRepository;
 import com.sckw.order.util.TradeOrderDashboardUtils;
 import com.sckw.payment.api.dubbo.PayCenterDubboService;
@@ -180,6 +181,7 @@ public class KwoTradeOrderService {
     private final KwoTradeOrderAmountService tradeOrderAmountService;
     private final KwoTradeOrderTransportService kwoTradeOrderTransportService;
     private final KwoTradeOrderUnitRepository kwoTradeOrderUnitRepository;
+    private final KwoTradeOrderContractRepository tradeOrderContractRepository;
     @Resource
     private KwoTradeOrderGoodsMapper kwoTradeOrderGoodsMapper;
     @Resource
@@ -2402,7 +2404,13 @@ public class KwoTradeOrderService {
         if (!Objects.equals(order.getStatus(), TradeOrderStatusEnum.AUDIT.getCode())) {
             throw new BusinessException("当前订单状态不允许撤销");
         }
-        TradeContractResDto tradeContractResDto = remoteContractService.queryTradeContract(param.getTradeContractId(), param.getGoodsId());
+
+        KwoTradeOrderContract tradeOrderContract = tradeOrderContractRepository.queryByTradeOrderId(param.getTradeContractId());
+        if (tradeOrderContract == null) {
+            throw new BusinessException("贸易订单关联的合同不存在");
+        }
+
+        TradeContractResDto tradeContractResDto = remoteContractService.queryTradeContract(tradeOrderContract.getContractId(), param.getGoodsId());
         // 1. 线下钱包加回预付余额、减冻结金额
         List<TradeContractUnitDto> unitList = tradeContractResDto.getUnitList();
         WalletPrepaidDto freezeDto = new WalletPrepaidDto();