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/common/enumerates/DataDictionaryEnum.java | 1 +
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 29 ++++++++++++++++++++++++++---
src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java | 14 +++++++++++++-
3 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index e9cf56c..201e304 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -9,6 +9,7 @@
SENDER_NAME("SENDER_SET", "NAME"),
SENDER_MOBILE("SENDER_SET", "MOBILE"),
SENDER_ADDRESS("SENDER_SET", "ADDRESS"),
+ SENDER_STATE("SENDER_SET", "STATE"),
// 发票的通知回调路径
FP_CALLBACK_URL("FP_CALLBACK_URL", "FP_CALLBACK_URL"),
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, "取消发货失败");
//更新发货状态
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
index d70d969..6b5241e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
@@ -1,5 +1,7 @@
package cc.mrbird.febs.mall.service.impl;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.ApiCheckTraceInfoDto;
@@ -142,6 +144,16 @@
// }
@Override
public KdTraceQueryRsp checkTraceInfo(ApiCheckTraceInfoDto checkTraceInfoDto) {
- return ClientParamService.getInstance(ClientParamEnum.PRD.name()).checkTraceInfo(checkTraceInfoDto);
+ String state = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SENDER_ADDRESS.getType(),
+ DataDictionaryEnum.SENDER_ADDRESS.getCode()
+ ).getValue();
+ if(state.equals("0")){
+ return ClientParamService.getInstance(ClientParamEnum.TEST.name()).checkTraceInfo(checkTraceInfoDto);
+ }else if(state.equals("1")){
+ return ClientParamService.getInstance(ClientParamEnum.PRD.name()).checkTraceInfo(checkTraceInfoDto);
+ }else{
+ throw new FebsException("获取快递信息接口,系统配置异常");
+ }
}
}
--
Gitblit v1.9.1