From 47e03d0aa72b6bd1c62c4ecff0c25289890f7abc Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 12 Feb 2025 10:49:17 +0800
Subject: [PATCH] refactor(mall): 根据系统配置选择不同的物流服务接口 - 在 AdminMallOrderService 和 CommonService 中添加了根据系统配置选择物流服务接口的逻辑 - 新增了 SENDER_STATE 数据字典项,用于控制使用测试环境还是生产环境的物流服务 - 根据系统配置,选择不同的 ClientParamEnum 实例来调用

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
index 2f6a777..34fa13b 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.*;
+import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.ValidateEntityUtils;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
@@ -546,8 +547,18 @@
         kdCreateWaybillOrderPdfNotifyReq.setItems(items);
 
         kdCreateWaybillOrderPdfNotifyReq.setPiece(1);
-        KdCreateWaybillOrderPdfNotifyRsp pdfOrder = ClientParamService.getInstance(ClientParamEnum.TEST.name()).createPdfOrder(kdCreateWaybillOrderPdfNotifyReq);
-
+        String state = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.SENDER_ADDRESS.getType(),
+                DataDictionaryEnum.SENDER_ADDRESS.getCode()
+        ).getValue();
+        KdCreateWaybillOrderPdfNotifyRsp pdfOrder;
+        if(state.equals("0")){
+            pdfOrder = ClientParamService.getInstance(ClientParamEnum.TEST.name()).createPdfOrder(kdCreateWaybillOrderPdfNotifyReq);
+        }else if(state.equals("1")){
+            pdfOrder = ClientParamService.getInstance(ClientParamEnum.PRD.name()).createPdfOrder(kdCreateWaybillOrderPdfNotifyReq);
+        }else{
+            throw new FebsException("一键发货失败,系统配置异常");
+        }
         ValidateEntityUtils.ensureEqual(pdfOrder.getResult(), true, "一键发货失败,创建PDF电子面单异常");
         //更新发货状态
         mallOrderInfoMapper.updateOrderStateAndDeliveryState(
@@ -575,7 +586,19 @@
         KdCancelOrderNotifyReq kdCancelOrderNotifyReq = new KdCancelOrderNotifyReq();
         kdCancelOrderNotifyReq.setTxLogisticId(mallOrderInfo.getOrderNo());
         kdCancelOrderNotifyReq.setReason("Don't want to buy");
-        KdCancelOrderNotifyRsp kdCancelOrderNotifyRsp = ClientParamService.getInstance(ClientParamEnum.TEST.name()).cancelOrder(kdCancelOrderNotifyReq);
+
+        String state = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.SENDER_ADDRESS.getType(),
+                DataDictionaryEnum.SENDER_ADDRESS.getCode()
+        ).getValue();
+        KdCancelOrderNotifyRsp kdCancelOrderNotifyRsp;
+        if(state.equals("0")){
+            kdCancelOrderNotifyRsp = ClientParamService.getInstance(ClientParamEnum.TEST.name()).cancelOrder(kdCancelOrderNotifyReq);
+        }else if(state.equals("1")){
+            kdCancelOrderNotifyRsp = ClientParamService.getInstance(ClientParamEnum.PRD.name()).cancelOrder(kdCancelOrderNotifyReq);
+        }else{
+            throw new FebsException("取消发货失败,系统配置异常");
+        }
         ValidateEntityUtils.ensureEqual(kdCancelOrderNotifyRsp.getResult(), true, "取消发货失败");
 
         //更新发货状态

--
Gitblit v1.9.1