Pārlūkot izejas kodu

Merge branch 'master' into pre

# Conflicts:
#	netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java
zoujiajian 1 dienu atpakaļ
vecāks
revīzija
541de813ba

+ 9 - 1
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -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());