From 1eb2c70ea76d69cc8dfc9c00019d2b42dccfa333 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, 20 Dec 2024 10:24:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=80=E6=AC=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/service/PayService.java | 10 ++++++++++ src/main/resources/mapper/TbOrderInfoMapper.xml | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 516a66d..df6f4aa 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -1283,6 +1283,8 @@ public class PayService { BigDecimal saleAmount = BigDecimal.ZERO; ArrayList remainOrderDetailList = new ArrayList<>(); boolean hasNormalReturn = false; + + ArrayList copyDetailList = new ArrayList<>(); for (TbOrderDetail orderDetail : detailList) { // 原始金额 BigDecimal originalAmount = orderDetail.getPriceAmount(); @@ -1374,6 +1376,11 @@ public class PayService { orderDetail.setReturnAmount(returnAmount); // orderDetail.setStatus(isOnline ? "refunding" : "refund"); orderDetail.setStatus("refund"); + + TbOrderDetail returnOrderDetailCopy = new TbOrderDetail(); + cn.hutool.core.bean.BeanUtil.copyProperties(orderDetail, returnOrderDetailCopy); + returnOrderDetailCopy.setId(null); + copyDetailList.add(returnOrderDetailCopy); } if (returnAmount.compareTo(BigDecimal.ZERO) < 0) { @@ -1411,6 +1418,9 @@ public class PayService { returnOrder.setSettlementAmount(returnAmount); returnOrder.setPayAmount(returnAmount); mPOrderInfoMapper.insert(returnOrder); + // 保存新的退款detail信息 + copyDetailList.forEach(item -> item.setOrderId(returnOrder.getId())); + mpOrderDetailService.saveBatch(copyDetailList); updateStockAndRecord(detailList); mpOrderDetailService.updateBatchById(detailList); diff --git a/src/main/resources/mapper/TbOrderInfoMapper.xml b/src/main/resources/mapper/TbOrderInfoMapper.xml index 99e9bc8..11dc85e 100644 --- a/src/main/resources/mapper/TbOrderInfoMapper.xml +++ b/src/main/resources/mapper/TbOrderInfoMapper.xml @@ -115,7 +115,6 @@ and toi.order_no = #{orderNo} - and toi.source is null group by toi.id,toi.shop_id order by toi.id desc