From 560281db00f4e5f7182f42e7ca28158688f83377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Fri, 22 Nov 2024 15:02:13 +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 --- .../service/impl/shopimpl/TbShopTableServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 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 424806ed..f0456786 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 @@ -2818,7 +2818,10 @@ 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.HALF_UP); - returnAmount = returnAmount.add(oldOrderInfo.getPayAmount().multiply(ratio)); + if (oldOrderInfo.getRefundAmount() == null) { + oldOrderInfo.setRefundAmount(BigDecimal.ZERO); + } + returnAmount = returnAmount.add(oldOrderInfo.getPayAmount().subtract(oldOrderInfo.getRefundAmount()).multiply(ratio)); saleAmount = saleAmount.add(orderDetail.getPrice()); packAMount = packAMount.add(orderDetail.getPackAmount() .divide(orderDetail.getNum(), 8, RoundingMode.HALF_UP) @@ -2894,7 +2897,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } private BigDecimal calcDetailRatio(TbOrderDetail orderDetail, BigDecimal returnNum) { - List detailList = mpOrderDetailService.selectByOrderIdAndState(orderDetail.getOrderId(), TableConstant.OrderInfo.Status.CLOSED, TableConstant.OrderInfo.Status.REFUND); + List detailList = mpOrderDetailService.selectByOrderIdAndState(orderDetail.getOrderId(), TableConstant.OrderInfo.Status.CLOSED); BigDecimal totalAmount = BigDecimal.ZERO; for (TbOrderDetail item : detailList) { if (item.getUserCouponId() == null) {