订单管理-退单

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.setUpdateBy(SecurityUtils.getUsername());
refundOrderInfo.setUpdateTime(DateUtils.getNowDate()); refundOrderInfo.setUpdateTime(DateUtils.getNowDate());
orderInfoMapper.updateOrderInfo(refundOrderInfo); orderInfoMapper.updateOrderInfo(refundOrderInfo);
log.info("[部分退款]订单id: {}, 退款金额:{}", param.getOrderId(), refundAmount);
TradeAndWalletInfo tradeAndWalletInfo = accTradeList.stream() TradeAndWalletInfo tradeAndWalletInfo = accTradeList.stream()
.filter(trade -> PayStateEnum.PAY_SUCC.getKey().equals(trade.getPayState()) .filter(trade -> PayStateEnum.PAY_SUCC.getKey().equals(trade.getPayState())
&& AccWalletTypeEnum.WALLET.getKey().equals(trade.getWalletType())) && AccWalletTypeEnum.WALLET.getKey().equals(trade.getWalletType()))
.findFirst().orElse(null); .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)) { if(Objects.nonNull(tradeAndWalletInfo)) {
log.info("[部分退款]订单id: {}, 个人钱包支付金额:{}", param.getOrderId(), tradeAndWalletInfo.getActualAmount());
if(tradeAndWalletInfo.getActualAmount().compareTo(refundAmount) >= 0) { if(tradeAndWalletInfo.getActualAmount().compareTo(refundAmount) >= 0) {
refundToWallet(param, refundAmount, orderInfo, tradeAndWalletInfo); refundToWallet(param, refundAmount, orderInfo, tradeAndWalletInfo);
}else { }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); refundToWallet(param, tradeAndWalletInfo.getActualAmount(), orderInfo, tradeAndWalletInfo);
if(Objects.nonNull(tradeAndSubsidyInfo)) { if(Objects.nonNull(tradeAndSubsidyInfo)) {
log.info("[部分退款]订单id: {}, 补贴钱包支付金额:{}", param.getOrderId(), tradeAndSubsidyInfo.getActualAmount());
refundToWallet(param, refundAmount.subtract(tradeAndWalletInfo.getActualAmount()) refundToWallet(param, refundAmount.subtract(tradeAndWalletInfo.getActualAmount())
, orderInfo, tradeAndSubsidyInfo); , orderInfo, tradeAndSubsidyInfo);
} }
} }
}else if(Objects.nonNull(tradeAndSubsidyInfo)) {
log.info("[部分退款]订单id: {}, 纯补贴钱包支付金额:{}", param.getOrderId(), tradeAndSubsidyInfo.getActualAmount());
refundToWallet(param, refundAmount, orderInfo, tradeAndSubsidyInfo);
} }
}else { }else {
throw new ServiceException("订单未支付"); throw new ServiceException("订单未支付");

View File

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