|
|
@@ -890,6 +890,23 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
refundOrderDonMapper.insert(refund);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void refundPriceDiffer(OrderRefundReq orderRefundReq) {
|
|
|
+ Long orderId = orderRefundReq.getOrderId();
|
|
|
+ OrderDon orderDon = orderDonMapper.selectById(orderId);
|
|
|
+ if (orderDon == null) {
|
|
|
+ throw BusinessRuntimeException.getInstance("订单不存在");
|
|
|
+ }
|
|
|
+ if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该订单是0元订单,无法补差价");
|
|
|
+ }
|
|
|
+ BigDecimal refundBalance = orderRefundReq.getRefundBalance();
|
|
|
+ if (refundBalance == null || refundBalance.compareTo(BigDecimal.ZERO) <= 0 || refundBalance.compareTo(orderDon.getMoney()) > 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("请输入正确的差价金额");
|
|
|
+ }
|
|
|
+ userBenefitsService.addUserBalance(orderDon.getUserId(), refundBalance, UserBalanceSourceRecord.Source.price_differ);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 寻找该车队空余车位
|
|
|
*/
|