订单管理-退单
This commit is contained in:
parent
c30fe148de
commit
3965503f89
|
|
@ -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("订单未支付");
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
Loading…
Reference in New Issue