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 73b02276..43914f23 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 @@ -608,12 +608,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 查询订单信息 SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry); if (null == saOrder) { - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; + return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; } // 订单支付日期 < 当前日期-7天 Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7); if (beforeDate.compareTo(saOrder.getPayTime()) > 0) { - return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED); + return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED; } // 操作日志内容 @@ -679,16 +679,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 CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE; } if (iSaOrderChargeLogService.save(saOrderChargeLog)) { @@ -697,13 +694,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()) { @@ -736,12 +727,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 查询订单收货地址信息 SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry); if (null == saOrder) { - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; + return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; } // 订单支付日期 < 当前日期-7天 Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7); if (beforeDate.compareTo(saOrder.getPayTime()) > 0) { - return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED); + return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED; } // 涉及会员ID列表 @@ -786,24 +777,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 CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE; } if (iSaOrderChargeLogService.save(saOrderChargeLog)) { @@ -817,7 +793,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { } return submitStr; } - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED); + return CommonMsgConstants.OPERATION_FAILED; } @Transactional(rollbackFor = Exception.class) 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 a380a975..211eeeb4 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 @@ -173,4 +173,8 @@ public class SaOrderMsgConstants { */ public static final String WARES_PRE_SALE_QUANTITY_LACK = "商品预售数量不足"; + /** + * 原订单价格和调换完货之后的价格不相同 -- 不允许货物调换 + */ + public static final String PRODUCT_CONFIRM_PRICE = "原订单价格和调换完货之后的价格不相同"; }