|
|
@@ -924,6 +924,11 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
//默认补差价余额
|
|
|
String refundType = Optional.ofNullable(orderRefundReq.getRefundType()).orElse("balance");
|
|
|
BigDecimal refundMoney = orderRefundReq.getRefundMoney();
|
|
|
+ BigDecimal orderRefundMoney = Optional.ofNullable(orderDon.getRefundMoney()).orElse(BigDecimal.ZERO);
|
|
|
+ BigDecimal orderDonRefundBalance = Optional.ofNullable(orderDon.getRefundBalance()).orElse(BigDecimal.ZERO);
|
|
|
+ if (refundMoney.add(orderRefundMoney).add(orderDonRefundBalance).compareTo(orderDon.getRealMoney()) >= 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("补差价已达到该订单付款金额");
|
|
|
+ }
|
|
|
if ("money".equals(refundType)) {
|
|
|
if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
throw BusinessRuntimeException.getInstance("该订单为0元订单,无法补差价至用户账户");
|
|
|
@@ -936,7 +941,6 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
}
|
|
|
//退款
|
|
|
String outNo = centerRefund(orderRefundReq, orderDon);
|
|
|
- BigDecimal orderRefundMoney = Optional.ofNullable(orderDon.getRefundMoney()).orElse(BigDecimal.ZERO);
|
|
|
orderDon.setRefundMoney(orderRefundMoney.add(refundMoney));
|
|
|
orderDonMapper.updateById(orderDon);
|
|
|
|
|
|
@@ -954,7 +958,6 @@ 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);
|
|
|
}
|