|
|
@@ -2286,6 +2286,13 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
if (orderDon == null) {
|
|
|
throw BusinessRuntimeException.getInstance("订单不存在");
|
|
|
}
|
|
|
+ OrderDon.Type paymentType = orderDon.getType();
|
|
|
+ if (paymentType != OrderDon.Type.WeChat
|
|
|
+ && paymentType != OrderDon.Type.ALI_PAY
|
|
|
+ && paymentType != OrderDon.Type.PAYPAL
|
|
|
+ && paymentType != OrderDon.Type.STRIPE) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该订单支付方式不支持原路退款");
|
|
|
+ }
|
|
|
if (orderDonTicketRecordService.exists(orderId)) {
|
|
|
throw BusinessRuntimeException.getInstance("Multi-quantity orders only support whole-order refunds");
|
|
|
}
|
|
|
@@ -2383,7 +2390,8 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
conversionRecord.setRefundFee(refundFee);
|
|
|
conversionRecord.setRefundBalance(BigDecimal.ZERO);
|
|
|
conversionRecord.setRefundDesc("混合退款余额转现金");
|
|
|
- conversionRecord.setRefundMethod(OrderRefundReq.RefundType.money.name());
|
|
|
+ // 现金退款流水记录实际原支付渠道,与普通现金退款记录保持一致。
|
|
|
+ conversionRecord.setRefundMethod(paymentType.name());
|
|
|
conversionRecord.setIsClearBalance(true);
|
|
|
conversionRecord.setOperator(refundOrderDon.getOperator());
|
|
|
conversionRecord.setChatImg(refundOrderDon.getChatImg());
|