订单管理-退单

This commit is contained in:
gaowdong 2025-06-10 14:00:44 +08:00
parent c30fe148de
commit 3965503f89
2 changed files with 11 additions and 7 deletions

View File

@ -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("订单未支付");

View File

@ -353,7 +353,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
)
</if>
order by
oi.pay_time desc
at2.trade_id desc
</select>
</mapper>