From 9731627e0f6440f094079830c6a9dff41f9715cb Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 4 Sep 2025 14:50:04 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E8=B0=83=E6=8D=A2=E8=B4=A7=E7=89=A9?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=A0=A1=E9=AA=8C,=E5=8E=9F=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=BB=B7=E6=A0=BC=E5=92=8C=E8=B0=83=E6=8D=A2=E5=AE=8C?= =?UTF-8?q?=E8=B4=A7=E4=B9=8B=E5=90=8E=E7=9A=84=E4=BB=B7=E6=A0=BC=E4=B8=8D?= =?UTF-8?q?=E7=9B=B8=E5=90=8C=EF=BC=8C=E5=B0=B1=E4=B8=8D=E8=AE=A9=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=8D=A2=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBusinessServiceImpl.java | 37 +++---------------- .../constant/msg/SaOrderMsgConstants.java | 5 +++ 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java index fa861c3a..fad42328 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java @@ -648,16 +648,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { return "订单已经发货,不能进行调换货物"; } - // 是否扣款 - boolean orderCostFlag = false; // 修改前的订单金额 + 邮费 BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); // 修改后的订单金额 + 邮费 BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); - // 对比修改前后订单价格处理是否补差价 + // 校验订单原订单价格和调换完货之后的价格不相同不进行换货 if (beforeAmount.compareTo(afterAmount) != 0) { - // 修改前后金额不相同则进行处理 - orderCostFlag = true; + return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE; } if (iSaOrderChargeLogService.save(saOrderChargeLog)) { @@ -666,13 +663,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { changeIdList, noChangeIdList, userId, pkCountry, nowDate); - if (orderCostFlag) { - // 订单调换货物扣费处理 - R resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto); - if (!resultR.isSuccess()) { - throw new BaseException(resultR.getMsg()); - } - } else if (null != dto) { + if (null != dto) { // 订单总价未变化,但是需要手续费 R resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto); if (!resultR.isSuccess()) { @@ -755,24 +746,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); // 修改后的订单金额 + 邮费 BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); - // 对比修改前后订单价格处理是否补差价 - if (beforeAmount.compareTo(afterAmount) < 0) { - // 存在差额 - // 封装订单数据 - SaOrder updateOrder = BeanUtil.copyProperties(saOrder, SaOrder.class); - updateOrder.setPkId(saOrder.getPkId()); - updateOrder.setOrderAmount(afterData.getOrderAmount()); - updateOrder.setOrderAchieve(afterData.getOrderAchieve()); - updateOrder.setOrderAssAchieve(afterData.getOrderAssAchieve()); - updateOrder.setPostage(param.getPostage()); - updateOrder.setPkModified(userId); - updateOrder.setModifiedTime(nowDate); - - // 校验订单支付金额是否足够 - R resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder); - if (!resultR.isSuccess()) { - return resultR.getMsg(); - } + //校验订单原订单价格和调换完货之后的价格不相同不进行换货 + if (beforeAmount.compareTo(afterAmount) != 0) { + return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE; } if (iSaOrderChargeLogService.save(saOrderChargeLog)) { @@ -2015,7 +1991,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { BigDecimal afterOrderAssAchieve = BigDecimal.ZERO; // 修改后明细数据 List afterDetailList = new ArrayList<>(); - // 产品ID列表 List productIdList = param.getItemList().stream().map(OrderProductDetailParam::getPkProduct).collect(Collectors.toList()); // 查询产品列表 diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java index dec42129..2cf68e3d 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java @@ -163,4 +163,9 @@ public class SaOrderMsgConstants { */ public static final String CHECK_MEMBER_LOWER_EXIST = "该会员推荐存在会员不能撤单"; + /** + * 原订单价格和调换完货之后的价格不相同 -- 不允许货物调换 + */ + public static final String PRODUCT_CONFIRM_PRICE = "原订单价格和调换完货之后的价格不相同"; + }