From 3965503f89d974d503d2f267af3af287849c3b0b Mon Sep 17 00:00:00 2001 From: gaowdong Date: Tue, 10 Jun 2025 14:00:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86-=E9=80=80?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/order/business/OrderBusiness.java | 16 ++++++++++------ .../resources/mapper/account/AccTradeMapper.xml | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java index 8b466a9..56b314c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/business/OrderBusiness.java @@ -288,26 +288,30 @@ public class OrderBusiness { refundOrderInfo.setUpdateBy(SecurityUtils.getUsername()); refundOrderInfo.setUpdateTime(DateUtils.getNowDate()); orderInfoMapper.updateOrderInfo(refundOrderInfo); - + log.info("[部分退款]:订单id: {}, 退款金额:{}", param.getOrderId(), refundAmount); TradeAndWalletInfo tradeAndWalletInfo = accTradeList.stream() .filter(trade -> PayStateEnum.PAY_SUCC.getKey().equals(trade.getPayState()) && AccWalletTypeEnum.WALLET.getKey().equals(trade.getWalletType())) .findFirst().orElse(null); + TradeAndWalletInfo tradeAndSubsidyInfo = accTradeList.stream() + .filter(trade -> PayStateEnum.PAY_SUCC.getKey().equals(trade.getPayState()) + && AccWalletTypeEnum.SUBSIDY.getKey().equals(trade.getWalletType())) + .findFirst().orElse(null); if(Objects.nonNull(tradeAndWalletInfo)) { + log.info("[部分退款]:订单id: {}, 个人钱包支付金额:{}", param.getOrderId(), tradeAndWalletInfo.getActualAmount()); if(tradeAndWalletInfo.getActualAmount().compareTo(refundAmount) >= 0) { refundToWallet(param, refundAmount, orderInfo, tradeAndWalletInfo); }else { - TradeAndWalletInfo tradeAndSubsidyInfo = accTradeList.stream() - .filter(trade -> PayStateEnum.PAY_SUCC.getKey().equals(trade.getPayState()) - && AccWalletTypeEnum.SUBSIDY.getKey().equals(trade.getWalletType())) - .findFirst().orElse(null); refundToWallet(param, tradeAndWalletInfo.getActualAmount(), orderInfo, tradeAndWalletInfo); - if(Objects.nonNull(tradeAndSubsidyInfo)) { + log.info("[部分退款]:订单id: {}, 补贴钱包支付金额:{}", param.getOrderId(), tradeAndSubsidyInfo.getActualAmount()); refundToWallet(param, refundAmount.subtract(tradeAndWalletInfo.getActualAmount()) , orderInfo, tradeAndSubsidyInfo); } } + }else if(Objects.nonNull(tradeAndSubsidyInfo)) { + log.info("[部分退款]:订单id: {}, 纯补贴钱包支付金额:{}", param.getOrderId(), tradeAndSubsidyInfo.getActualAmount()); + refundToWallet(param, refundAmount, orderInfo, tradeAndSubsidyInfo); } }else { throw new ServiceException("订单未支付"); diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml index 87c16ca..dd355db 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml @@ -353,7 +353,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) order by - oi.pay_time desc + at2.trade_id desc \ No newline at end of file