|
|
@@ -591,6 +591,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
throw BusinessRuntimeException.getInstance("订单不存在");
|
|
|
}
|
|
|
BigDecimal orderDonRefundMoney = Optional.ofNullable(orderDon.getRefundMoney()).orElse(BigDecimal.ZERO);
|
|
|
+ BigDecimal orderDonRefundBalance = Optional.ofNullable(orderDon.getRefundBalance()).orElse(BigDecimal.ZERO);
|
|
|
String refundType = refundReq.getRefundType();
|
|
|
if (orderDon.getType() == OrderDon.Type.BALANCE && !OrderDon.Type.BALANCE.getType().equals(refundType)) {
|
|
|
throw BusinessRuntimeException.getInstance("余额支付的订单不支持金额退款");
|
|
|
@@ -636,6 +637,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
//余额退款
|
|
|
if (OrderDon.Type.BALANCE.getType().equals(refundType)) {
|
|
|
BigDecimal balance = orderDon.getBalance();
|
|
|
+ refundMoney = orderDonRefundBalance.add(refundMoney);
|
|
|
if (OrderDon.Type.BALANCE == orderDon.getType() && refundMoney.compareTo(balance) > 0) {
|
|
|
throw BusinessRuntimeException.getInstance("退款余额大于订单支付余额");
|
|
|
}
|
|
|
@@ -646,10 +648,10 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
orderDon.setRefundMoney(BigDecimal.ZERO);
|
|
|
} else {
|
|
|
//退金额
|
|
|
+ refundMoney = orderDonRefundMoney.add(refundMoney);
|
|
|
if (refundMoney.compareTo(money) > 0) {
|
|
|
throw BusinessRuntimeException.getInstance("退款金额大于订单支付金额");
|
|
|
}
|
|
|
- refundMoney = refundMoney.add(orderDonRefundMoney);
|
|
|
orderDon.setRefundMoney(refundMoney);
|
|
|
}
|
|
|
//礼品卡是否已使用
|
|
|
@@ -952,6 +954,9 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
throw BusinessRuntimeException.getInstance("请输入正确的差价金额");
|
|
|
}
|
|
|
userBenefitsService.addUserBalance(orderDon.getUserId(), refundBalance, UserBalanceSourceRecord.Source.price_differ, orderDon.getYhsId());
|
|
|
+ BigDecimal orderDonRefundBalance = Optional.ofNullable(orderDon.getRefundBalance()).orElse(BigDecimal.ZERO);
|
|
|
+ orderDon.setRefundBalance(orderDonRefundBalance.add(refundBalance));
|
|
|
+ orderDonMapper.updateById(orderDon);
|
|
|
}
|
|
|
|
|
|
/**
|