Commit ae98315616b5d88d4e41d1e2b97b1a954f9d7b14

Authored by YunaiV
1 parent bf3e848c

增加模拟支付的订单号、退款号返回

yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImpl.java
... ... @@ -70,6 +70,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
70 70 case ALIPAY_APP: return (AbstractPayClient<Config>) new AlipayAppPayClient(channelId, (AlipayPayClientConfig) config);
71 71 case ALIPAY_PC: return (AbstractPayClient<Config>) new AlipayPcPayClient(channelId, (AlipayPayClientConfig) config);
72 72 case ALIPAY_BAR: return (AbstractPayClient<Config>) new AlipayBarPayClient(channelId, (AlipayPayClientConfig) config);
  73 + // 其它支付
73 74 case MOCK: return (AbstractPayClient<Config>) new MockPayClient(channelId, (MockPayClientConfig) config);
74 75 }
75 76 // 创建失败,错误日志 + 抛出异常
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/mock/MockPayClient.java
... ... @@ -11,7 +11,9 @@ import java.time.LocalDateTime;
11 11 import java.util.Map;
12 12  
13 13 /**
14   - * 模拟支付的 PayClient 实现类, 模拟支付返回结果都是成功
  14 + * 模拟支付的 PayClient 实现类
  15 + *
  16 + * 模拟支付返回结果都是成功,方便大家日常流畅
15 17 *
16 18 * @author jason
17 19 */
... ... @@ -25,31 +27,30 @@ public class MockPayClient extends AbstractPayClient&lt;MockPayClientConfig&gt; {
25 27  
26 28 @Override
27 29 protected void doInit() {
28   -
29 30 }
30 31  
31 32 @Override
32 33 protected PayOrderRespDTO doUnifiedOrder(PayOrderUnifiedReqDTO reqDTO) {
33   - // 模拟支付渠道订单号为空
34   - return PayOrderRespDTO.successOf("", "", LocalDateTime.now(), reqDTO.getOutTradeNo(), MOCK_RESP_SUCCESS_DATA);
  34 + return PayOrderRespDTO.successOf("MOCK-P-" + reqDTO.getOutTradeNo(), "", LocalDateTime.now(),
  35 + reqDTO.getOutTradeNo(), MOCK_RESP_SUCCESS_DATA);
35 36 }
36 37  
37 38 @Override
38 39 protected PayOrderRespDTO doGetOrder(String outTradeNo) {
39   - // 模拟支付渠道订单号为空
40   - return PayOrderRespDTO.successOf("", "", LocalDateTime.now(), outTradeNo, MOCK_RESP_SUCCESS_DATA);
  40 + return PayOrderRespDTO.successOf("MOCK-P-" + outTradeNo, "", LocalDateTime.now(),
  41 + outTradeNo, MOCK_RESP_SUCCESS_DATA);
41 42 }
42 43  
43 44 @Override
44 45 protected PayRefundRespDTO doUnifiedRefund(PayRefundUnifiedReqDTO reqDTO) {
45   - // 模拟支付渠道退款单号为空
46   - return PayRefundRespDTO.successOf("", LocalDateTime.now(), reqDTO.getOutRefundNo(), MOCK_RESP_SUCCESS_DATA);
  46 + return PayRefundRespDTO.successOf("MOCK-R-" + reqDTO.getOutRefundNo(), LocalDateTime.now(),
  47 + reqDTO.getOutRefundNo(), MOCK_RESP_SUCCESS_DATA);
47 48 }
48 49  
49 50 @Override
50 51 protected PayRefundRespDTO doGetRefund(String outTradeNo, String outRefundNo) {
51   - // 模拟支付渠道退款单号为空
52   - return PayRefundRespDTO.successOf("", LocalDateTime.now(), outRefundNo, MOCK_RESP_SUCCESS_DATA);
  52 + return PayRefundRespDTO.successOf("MOCK-R-" + outRefundNo, LocalDateTime.now(),
  53 + outRefundNo, MOCK_RESP_SUCCESS_DATA);
53 54 }
54 55  
55 56 @Override
... ... @@ -61,4 +62,5 @@ public class MockPayClient extends AbstractPayClient&lt;MockPayClientConfig&gt; {
61 62 protected PayOrderRespDTO doParseOrderNotify(Map<String, String> params, String body) {
62 63 throw new UnsupportedOperationException("模拟支付无支付回调");
63 64 }
64   -}
65 65 \ No newline at end of file
  66 +
  67 +}
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/mock/MockPayClientConfig.java
... ... @@ -14,7 +14,9 @@ import javax.validation.Validator;
14 14 public class MockPayClientConfig implements PayClientConfig {
15 15  
16 16 /**
17   - * 配置名称,如果不加任何属性, JsonUtils.parseObject2 解析会报错. 暂时加个名称
  17 + * 配置名称
  18 + *
  19 + * 如果不加任何属性,JsonUtils.parseObject2 解析会报错,所以暂时加个名称
18 20 */
19 21 private String name;
20 22  
... ... @@ -22,4 +24,5 @@ public class MockPayClientConfig implements PayClientConfig {
22 24 public void validate(Validator validator) {
23 25 // 模拟支付配置无需校验
24 26 }
25   -}
26 27 \ No newline at end of file
  28 +
  29 +}
... ...
yudao-ui-admin/src/views/pay/app/components/mockChannelForm.vue
... ... @@ -10,7 +10,6 @@
10 10 </el-radio>
11 11 </el-radio-group>
12 12 </el-form-item>
13   -
14 13 <el-form-item label-width="180px" label="备注" prop="remark">
15 14 <el-input v-model="formData.remark" :style="{width: '100%'}"></el-input>
16 15 </el-form-item>
... ...