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