From 81756dfad5b87bc2114167ecad0ec52f53dd9319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Sat, 23 Nov 2024 09:11:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=AF=94=E4=BE=8B=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=8F=AF=E9=80=80=E9=87=91=E9=A2=9D=E8=AE=A1?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/shopimpl/TbShopTableServiceImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 27a8ceaf..cae67d2d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -2118,7 +2118,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { returnCoupon(orderInfo, true); // 设置折扣比例 - orderInfo.setDiscountRatio(payDTO.getDiscount().setScale(4, RoundingMode.DOWN)); + orderInfo.setDiscountRatio(payDTO.getDiscount().setScale(4, RoundingMode.HALF_DOWN)); Set productIdSet = new HashSet<>(); List cashierCarts = mpCashierCartService.selectByOrderIdAndState(orderInfo.getId()); @@ -2190,7 +2190,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { private BigDecimal resetAmountByDiscount(PayDTO payDTO, TbOrderInfo orderInfo) { List cashierCarts = mpCashierCartService.selectByOrderIdAndState(orderInfo.getId()); List detailList = mpOrderDetailService.selectByOrderId(orderInfo.getId()); - BigDecimal discount = payDTO.getDiscount().setScale(4, RoundingMode.DOWN); + BigDecimal discount = payDTO.getDiscount().setScale(4, RoundingMode.HALF_DOWN); BigDecimal totalAmount = BigDecimal.ZERO; for (TbCashierCart cashierCart : cashierCarts) { if (cashierCart.getUserCouponId() == null) { @@ -2807,7 +2807,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 计算当前商品占比 BigDecimal ratio = calcDetailRatio(orderDetail, returnNum); currentDetailAMount = orderDetail.getPriceAmount().divide(orderDetail.getNum(), 8, RoundingMode.HALF_UP) - .multiply(returnNum).setScale(2, RoundingMode.DOWN); + .multiply(returnNum).setScale(2, RoundingMode.HALF_DOWN); if (oldOrderInfo.getRefundAmount() == null) { oldOrderInfo.setRefundAmount(BigDecimal.ZERO); } @@ -2838,7 +2838,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { .multiply(returnNum)).setScale(2, RoundingMode.HALF_UP); } } - returnAmount = returnAmount.setScale(2, RoundingMode.DOWN); + returnAmount = returnAmount.setScale(2, RoundingMode.HALF_DOWN); if (remainNum.compareTo(BigDecimal.ZERO) > 0) { // 单个打包费 @@ -2920,8 +2920,8 @@ public class TbShopTableServiceImpl implements TbShopTableService { return BigDecimal.ONE; } - return orderDetail.getPriceAmount().divide(totalAmount, 10, RoundingMode.DOWN) - .divide(orderDetail.getNum(), 10, RoundingMode.DOWN).multiply(returnNum).setScale(2, RoundingMode.DOWN); + return orderDetail.getPriceAmount().divide(totalAmount, 10, RoundingMode.HALF_DOWN) + .divide(orderDetail.getNum(), 10, RoundingMode.HALF_DOWN).multiply(returnNum).setScale(2, RoundingMode.HALF_DOWN); } private void updateStockAndRecord(List orderDetailList) {