Commit 4014137a4c56ea537fcb4f9dc7fe452e2574934b

Authored by YunaiV
1 parent efb221b1

mall + pay:调整异常的处理

1. 在 PayOrderUnifiedRespDTO 增加 status 字段,用于后续微信付款码支付时,直接支付成功的场景。
Showing 32 changed files with 103 additions and 65 deletions
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/notify/PayRefundNotifyRespDTO.java
1 1 package cn.iocoder.yudao.framework.pay.core.client.dto.notify;
2 2  
3   -import cn.iocoder.yudao.framework.pay.core.enums.PayNotifyRefundStatusEnum;
  3 +import cn.iocoder.yudao.framework.pay.core.enums.refund.PayNotifyRefundStatusEnum;
4 4 import lombok.Builder;
5 5 import lombok.Data;
6 6 import lombok.ToString;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java
1 1 package cn.iocoder.yudao.framework.pay.core.client.dto.order;
2 2  
3   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  3 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
4 4 import lombok.Data;
5 5 import org.hibernate.validator.constraints.Length;
6 6 import org.hibernate.validator.constraints.URL;
... ... @@ -8,7 +8,6 @@ import org.hibernate.validator.constraints.URL;
8 8 import javax.validation.constraints.DecimalMin;
9 9 import javax.validation.constraints.NotEmpty;
10 10 import javax.validation.constraints.NotNull;
11   -import java.awt.*;
12 11 import java.time.LocalDateTime;
13 12 import java.util.Map;
14 13  
... ... @@ -85,7 +84,7 @@ public class PayOrderUnifiedReqDTO {
85 84 *
86 85 * 如果不传递,则每个支付渠道使用默认的方式
87 86 *
88   - * 枚举 {@link PayDisplayModeEnum}
  87 + * 枚举 {@link PayOrderDisplayModeEnum}
89 88 */
90 89 private String displayMode;
91 90  
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/order/PayOrderUnifiedRespDTO.java
1 1 package cn.iocoder.yudao.framework.pay.core.client.dto.order;
2 2  
  3 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
  4 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum;
3 5 import lombok.Data;
4 6  
5 7 /**
... ... @@ -12,6 +14,8 @@ public class PayOrderUnifiedRespDTO {
12 14  
13 15 /**
14 16 * 展示模式
  17 + *
  18 + * 枚举 {@link PayOrderDisplayModeEnum} 类
15 19 */
16 20 private String displayMode;
17 21 /**
... ... @@ -19,4 +23,20 @@ public class PayOrderUnifiedRespDTO {
19 23 */
20 24 private String displayContent;
21 25  
  26 + /**
  27 + * 支付状态
  28 + *
  29 + * 枚举 {@link PayOrderStatusRespEnum} 类
  30 + */
  31 + private Integer status;
  32 +
  33 + public PayOrderUnifiedRespDTO(String displayMode, String displayContent) {
  34 + this(displayMode, displayContent, PayOrderStatusRespEnum.WAITING.getStatus());
  35 + }
  36 +
  37 + public PayOrderUnifiedRespDTO(String displayMode, String displayContent, Integer status) {
  38 + this.displayMode = displayMode;
  39 + this.displayContent = displayContent;
  40 + this.status = status;
  41 + }
22 42 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/refund/PayRefundUnifiedRespDTO.java
1 1 package cn.iocoder.yudao.framework.pay.core.client.dto.refund;
2 2  
3   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelRefundRespEnum;
4 3 import lombok.AllArgsConstructor;
5 4 import lombok.Builder;
6 5 import lombok.Data;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImpl.java
... ... @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig;
6 6 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
7 7 import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.*;
8 8 import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.*;
9   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  9 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
10 10 import lombok.extern.slf4j.Slf4j;
11 11  
12 12 import java.util.concurrent.ConcurrentHashMap;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java
... ... @@ -10,7 +10,7 @@ import cn.iocoder.yudao.framework.pay.core.client.dto.notify.PayRefundNotifyResp
10 10 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO;
11 11 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedRespDTO;
12 12 import cn.iocoder.yudao.framework.pay.core.client.impl.AbstractPayClient;
13   -import cn.iocoder.yudao.framework.pay.core.enums.PayNotifyRefundStatusEnum;
  13 +import cn.iocoder.yudao.framework.pay.core.enums.refund.PayNotifyRefundStatusEnum;
14 14 import com.alipay.api.*;
15 15 import com.alipay.api.domain.AlipayTradeRefundModel;
16 16 import com.alipay.api.internal.util.AlipaySignature;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayAppPayClient.java
... ... @@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.alipay;
2 2  
3 3 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO;
4 4 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
5   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
6   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  5 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  6 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
7 7 import com.alipay.api.AlipayApiException;
8 8 import com.alipay.api.domain.AlipayTradeAppPayModel;
9 9 import com.alipay.api.request.AlipayTradeAppPayRequest;
... ... @@ -38,7 +38,7 @@ public class AlipayAppPayClient extends AbstractAlipayPayClient {
38 38 model.setProductCode(" QUICK_MSECURITY_PAY"); // 销售产品码:无线快捷支付产品
39 39 // ② 个性化的参数【无】
40 40 // ③ 支付宝扫码支付只有一种展示
41   - String displayMode = PayDisplayModeEnum.APP.getMode();
  41 + String displayMode = PayOrderDisplayModeEnum.APP.getMode();
42 42  
43 43 // 1.2 构建 AlipayTradePrecreateRequest 请求
44 44 AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
... ... @@ -50,8 +50,7 @@ public class AlipayAppPayClient extends AbstractAlipayPayClient {
50 50 AlipayTradeAppPayResponse response = client.execute(request);
51 51 // 2.2 处理结果
52 52 validateUnifiedOrderResponse(request, response);
53   - return new PayOrderUnifiedRespDTO()
54   - .setDisplayMode(displayMode).setDisplayContent("");
  53 + return new PayOrderUnifiedRespDTO(displayMode, "");
55 54 }
56 55  
57 56 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayBarPayClient.java
... ... @@ -4,8 +4,8 @@ import cn.hutool.core.map.MapUtil;
4 4 import cn.hutool.core.util.StrUtil;
5 5 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO;
6 6 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
7   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
8   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  7 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  8 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
9 9 import com.alipay.api.AlipayApiException;
10 10 import com.alipay.api.domain.AlipayTradePayModel;
11 11 import com.alipay.api.request.AlipayTradePayRequest;
... ... @@ -47,7 +47,7 @@ public class AlipayBarPayClient extends AbstractAlipayPayClient {
47 47 // ② 个性化的参数
48 48 model.setAuthCode(authCode);
49 49 // ③ 支付宝条码支付只有一种展示
50   - String displayMode = PayDisplayModeEnum.BAR_CODE.getMode();
  50 + String displayMode = PayOrderDisplayModeEnum.BAR_CODE.getMode();
51 51  
52 52 // 1.2 构建 AlipayTradePayRequest 请求
53 53 AlipayTradePayRequest request = new AlipayTradePayRequest();
... ... @@ -59,8 +59,7 @@ public class AlipayBarPayClient extends AbstractAlipayPayClient {
59 59 AlipayTradePayResponse response = client.execute(request);
60 60 // 2.2 处理结果
61 61 validateUnifiedOrderResponse(request, response);
62   - return new PayOrderUnifiedRespDTO()
63   - .setDisplayMode(displayMode).setDisplayContent("");
  62 + return new PayOrderUnifiedRespDTO(displayMode, "");
64 63 }
65 64  
66 65 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPcPayClient.java
... ... @@ -4,8 +4,8 @@ import cn.hutool.core.util.ObjectUtil;
4 4 import cn.hutool.http.Method;
5 5 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO;
6 6 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
7   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
8   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  7 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  8 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
9 9 import com.alipay.api.AlipayApiException;
10 10 import com.alipay.api.domain.AlipayTradePagePayModel;
11 11 import com.alipay.api.request.AlipayTradePagePayRequest;
... ... @@ -44,7 +44,7 @@ public class AlipayPcPayClient extends AbstractAlipayPayClient {
44 44 model.setQrPayMode("2"); // 跳转模式 - 订单码,效果参见:https://help.pingxx.com/article/1137360/
45 45 // ③ 支付宝 PC 支付有两种展示模式:FORM、URL
46 46 String displayMode = ObjectUtil.defaultIfNull(reqDTO.getDisplayMode(),
47   - PayDisplayModeEnum.URL.getMode());
  47 + PayOrderDisplayModeEnum.URL.getMode());
48 48  
49 49 // 1.2 构建 AlipayTradePagePayRequest 请求
50 50 AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
... ... @@ -54,15 +54,14 @@ public class AlipayPcPayClient extends AbstractAlipayPayClient {
54 54  
55 55 // 2.1 执行请求
56 56 AlipayTradePagePayResponse response;
57   - if (Objects.equals(displayMode, PayDisplayModeEnum.FORM.getMode())) {
  57 + if (Objects.equals(displayMode, PayOrderDisplayModeEnum.FORM.getMode())) {
58 58 response = client.pageExecute(request, Method.POST.name()); // 需要特殊使用 POST 请求
59 59 } else {
60 60 response = client.pageExecute(request, Method.GET.name());
61 61 }
62 62 // 2.2 处理结果
63 63 validateUnifiedOrderResponse(request, response);
64   - return new PayOrderUnifiedRespDTO().setDisplayMode(displayMode)
65   - .setDisplayContent(response.getBody());
  64 + return new PayOrderUnifiedRespDTO(displayMode, response.getBody());
66 65 }
67 66  
68 67 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayQrPayClient.java
... ... @@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.alipay;
2 2  
3 3 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO;
4 4 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
5   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
6   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  5 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  6 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
7 7 import com.alipay.api.AlipayApiException;
8 8 import com.alipay.api.domain.AlipayTradePrecreateModel;
9 9 import com.alipay.api.request.AlipayTradePrecreateRequest;
... ... @@ -36,7 +36,7 @@ public class AlipayQrPayClient extends AbstractAlipayPayClient {
36 36 model.setProductCode("FACE_TO_FACE_PAYMENT"); // 销售产品码. 目前扫码支付场景下仅支持 FACE_TO_FACE_PAYMENT
37 37 // ② 个性化的参数【无】
38 38 // ③ 支付宝扫码支付只有一种展示,考虑到前端可能希望二维码扫描后,手机打开
39   - String displayMode = PayDisplayModeEnum.QR_CODE.getMode();
  39 + String displayMode = PayOrderDisplayModeEnum.QR_CODE.getMode();
40 40  
41 41 // 1.2 构建 AlipayTradePrecreateRequest 请求
42 42 AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
... ... @@ -48,7 +48,7 @@ public class AlipayQrPayClient extends AbstractAlipayPayClient {
48 48 AlipayTradePrecreateResponse response = client.execute(request);
49 49 // 2.2 处理结果
50 50 validateUnifiedOrderResponse(request, response);
51   - return new PayOrderUnifiedRespDTO()
52   - .setDisplayMode(displayMode).setDisplayContent(response.getQrCode());
  51 + return new PayOrderUnifiedRespDTO(displayMode, response.getQrCode());
53 52 }
  53 +
54 54 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayWapPayClient.java
... ... @@ -3,8 +3,8 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.alipay;
3 3 import cn.hutool.http.Method;
4 4 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO;
5 5 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
6   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
7   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  6 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  7 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
8 8 import com.alipay.api.AlipayApiException;
9 9 import com.alipay.api.domain.AlipayTradeWapPayModel;
10 10 import com.alipay.api.request.AlipayTradeWapPayRequest;
... ... @@ -37,7 +37,7 @@ public class AlipayWapPayClient extends AbstractAlipayPayClient {
37 37 model.setProductCode("QUICK_WAP_PAY"); // 销售产品码. 目前 Wap 支付场景下仅支持 QUICK_WAP_PAY
38 38 // ② 个性化的参数【无】
39 39 // ③ 支付宝 Wap 支付只有一种展示:URL
40   - String displayMode = PayDisplayModeEnum.URL.getMode();
  40 + String displayMode = PayOrderDisplayModeEnum.URL.getMode();
41 41  
42 42 // 1.2 构建 AlipayTradeWapPayRequest 请求
43 43 AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
... ... @@ -51,8 +51,7 @@ public class AlipayWapPayClient extends AbstractAlipayPayClient {
51 51  
52 52 // 2.2 处理结果
53 53 validateUnifiedOrderResponse(request, response);
54   - return new PayOrderUnifiedRespDTO()
55   - .setDisplayMode(displayMode).setDisplayContent(response.getBody());
  54 + return new PayOrderUnifiedRespDTO(displayMode, response.getBody());
56 55 }
57 56  
58 57 }
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WXNativePayClient.java
... ... @@ -13,7 +13,7 @@ import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespD
13 13 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO;
14 14 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedRespDTO;
15 15 import cn.iocoder.yudao.framework.pay.core.client.impl.AbstractPayClient;
16   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  16 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
17 17 import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
18 18 import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyV3Result;
19 19 import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxBarPayClient.java
... ... @@ -7,8 +7,8 @@ import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDT
7 7 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
8 8 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO;
9 9 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedRespDTO;
10   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
11   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  10 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  11 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
12 12 import com.github.binarywang.wxpay.bean.request.WxPayMicropayRequest;
13 13 import com.github.binarywang.wxpay.bean.result.WxPayMicropayResult;
14 14 import com.github.binarywang.wxpay.constant.WxPayConstants;
... ... @@ -44,8 +44,8 @@ public class WxBarPayClient extends AbstractWxPayClient {
44 44  
45 45 // 转换结果
46 46 // TODO 芋艿:这里后面要看看
47   - return new PayOrderUnifiedRespDTO().setDisplayMode(PayDisplayModeEnum.CUSTOM.getMode())
48   - .setDisplayContent(JsonUtils.toJsonString(response));
  47 + return new PayOrderUnifiedRespDTO(PayOrderDisplayModeEnum.CUSTOM.getMode(),
  48 + JsonUtils.toJsonString(response));
49 49 }
50 50  
51 51 @Override
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxLitePayClient.java
1 1 package cn.iocoder.yudao.framework.pay.core.client.impl.weixin;
2 2  
3   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  3 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
4 4 import lombok.extern.slf4j.Slf4j;
5 5  
6 6 /**
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/weixin/WxPubPayClient.java
... ... @@ -7,8 +7,8 @@ import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDT
7 7 import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedRespDTO;
8 8 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO;
9 9 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedRespDTO;
10   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
11   -import cn.iocoder.yudao.framework.pay.core.enums.PayDisplayModeEnum;
  10 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
  11 +import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum;
12 12 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
13 13 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
14 14 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request;
... ... @@ -58,8 +58,8 @@ public class WxPubPayClient extends AbstractWxPayClient {
58 58 WxPayMpOrderResult response = client.createOrder(request);
59 59  
60 60 // 转换结果
61   - return new PayOrderUnifiedRespDTO().setDisplayMode(PayDisplayModeEnum.CUSTOM.getMode())
62   - .setDisplayContent(JsonUtils.toJsonString(response));
  61 + return new PayOrderUnifiedRespDTO(PayOrderDisplayModeEnum.CUSTOM.getMode(),
  62 + JsonUtils.toJsonString(response));
63 63 }
64 64  
65 65 @Override
... ... @@ -77,8 +77,8 @@ public class WxPubPayClient extends AbstractWxPayClient {
77 77 WxPayUnifiedOrderV3Result.JsapiResult response = client.createOrderV3(TradeTypeEnum.JSAPI, request);
78 78  
79 79 // 转换结果
80   - return new PayOrderUnifiedRespDTO().setDisplayMode(PayDisplayModeEnum.CUSTOM.getMode())
81   - .setDisplayContent(JsonUtils.toJsonString(response));
  80 + return new PayOrderUnifiedRespDTO(PayOrderDisplayModeEnum.CUSTOM.getMode(),
  81 + JsonUtils.toJsonString(response));
82 82 }
83 83  
84 84 @Override
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelEnum.java renamed to yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/channel/PayChannelEnum.java
1   -package cn.iocoder.yudao.framework.pay.core.enums;
  1 +package cn.iocoder.yudao.framework.pay.core.enums.channel;
2 2  
3 3 import cn.hutool.core.util.ArrayUtil;
4 4 import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig;
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayDisplayModeEnum.java renamed to yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/order/PayOrderDisplayModeEnum.java
1   -package cn.iocoder.yudao.framework.pay.core.enums;
  1 +package cn.iocoder.yudao.framework.pay.core.enums.order;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
... ... @@ -10,7 +10,7 @@ import lombok.Getter;
10 10 */
11 11 @Getter
12 12 @AllArgsConstructor
13   -public enum PayDisplayModeEnum {
  13 +public enum PayOrderDisplayModeEnum {
14 14  
15 15 URL("url"), // Redirect 跳转链接的方式
16 16 IFRAME("iframe"), // IFrame 内嵌链接的方式【目前暂时用不到】
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/order/PayOrderStatusRespEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.pay.core.enums.order;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 渠道的支付状态枚举
  8 + *
  9 + * @author 遇到源码
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum PayOrderStatusRespEnum {
  14 +
  15 + WAITING(0, "未支付"),
  16 + SUCCESS(10, "支付成功"),
  17 + CLOSED(20, "支付关闭"), // 未付款交易超时关闭,或支付完成后全额退款
  18 + ;
  19 +
  20 + private final Integer status;
  21 + private final String name;
  22 +
  23 +}
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayNotifyRefundStatusEnum.java renamed to yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/refund/PayNotifyRefundStatusEnum.java
1   -package cn.iocoder.yudao.framework.pay.core.enums;
  1 +package cn.iocoder.yudao.framework.pay.core.enums.refund;
2 2  
  3 +// TODO 芋艿:看看能不能去掉
3 4 /**
4 5 * 退款通知, 统一的渠道退款状态
5 6 *
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/PayChannelRefundRespEnum.java renamed to yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/enums/refund/PayRefundRespEnum.java
1   -package cn.iocoder.yudao.framework.pay.core.enums;
  1 +package cn.iocoder.yudao.framework.pay.core.enums.refund;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
5 5  
6 6 /**
7   - * 渠道统一的退款返回结果
  7 + * 渠道的退款状态枚举
8 8 *
9   - * @author jason
  9 + * @author jason
10 10 */
11 11 @Getter
12 12 @AllArgsConstructor
13   -public enum PayChannelRefundRespEnum {
  13 +public enum PayRefundRespEnum {
14 14  
15 15 SUCCESS(1, "退款成功"),
16 16 FAILURE(2, "退款失败"),
... ...
yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImplIntegrationTest.java
... ... @@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayQrPayClient;
9 9 import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayWapPayClient;
10 10 import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig;
11 11 import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPubPayClient;
12   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  12 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
13 13 import org.junit.jupiter.api.Disabled;
14 14 import org.junit.jupiter.api.Test;
15 15  
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/PayAppController.java
... ... @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
7 7 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
8 8 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
9   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  9 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
10 10 import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app.*;
11 11 import cn.iocoder.yudao.module.pay.convert.app.PayAppConvert;
12 12 import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/PayOrderController.java
... ... @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 7 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
8 8 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
9 9 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
10   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  10 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
11 11 import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*;
12 12 import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert;
13 13 import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayAppDO;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/PayRefundController.java
... ... @@ -17,7 +17,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
17 17 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
18 18 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
19 19 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
20   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  20 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
21 21 import io.swagger.v3.oas.annotations.tags.Tag;
22 22 import io.swagger.v3.oas.annotations.Parameter;
23 23 import io.swagger.v3.oas.annotations.Operation;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/merchant/PayChannelDO.java
... ... @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.pay.dal.dataobject.merchant;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig;
5   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  5 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
6 6 import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
7 7 import com.baomidou.mybatisplus.annotation.KeySequence;
8 8 import com.baomidou.mybatisplus.annotation.TableField;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java
... ... @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.pay.enums.order.PayOrderNotifyStatusEnum;
7 7 import cn.iocoder.yudao.module.pay.enums.refund.PayRefundTypeEnum;
8 8 import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum;
9 9 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
10   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  10 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
11 11 import com.baomidou.mybatisplus.annotation.KeySequence;
12 12 import com.baomidou.mybatisplus.annotation.TableName;
13 13 import lombok.*;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/refund/PayRefundDO.java
... ... @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
6 6 import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
7 7 import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum;
8 8 import cn.iocoder.yudao.module.pay.enums.refund.PayRefundTypeEnum;
9   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  9 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
10 10 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
11 11 import com.baomidou.mybatisplus.annotation.KeySequence;
12 12 import com.baomidou.mybatisplus.annotation.TableId;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/merchant/PayChannelServiceImpl.java
... ... @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
7 7 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 8 import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig;
9 9 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
10   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  10 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
11 11 import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
12 12 import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelCreateReqVO;
13 13 import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelExportReqVO;
... ...
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java
... ... @@ -10,7 +10,7 @@ import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
10 10 import cn.iocoder.yudao.framework.pay.core.client.dto.notify.PayNotifyReqDTO;
11 11 import cn.iocoder.yudao.framework.pay.core.client.dto.notify.PayRefundNotifyRespDTO;
12 12 import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO;
13   -import cn.iocoder.yudao.framework.pay.core.enums.PayNotifyRefundStatusEnum;
  13 +import cn.iocoder.yudao.framework.pay.core.enums.refund.PayNotifyRefundStatusEnum;
14 14 import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO;
15 15 import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO;
16 16 import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundPageReqVO;
... ...
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/merchant/PayChannelServiceTest.java
... ... @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
6 6 import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig;
7 7 import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig;
8   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  8 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
9 9 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
10 10 import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelCreateReqVO;
11 11 import cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel.PayChannelExportReqVO;
... ...
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java
... ... @@ -5,7 +5,7 @@ import cn.hutool.core.util.RandomUtil;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.pay.config.PayProperties;
7 7 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
8   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  8 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
9 9 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
10 10 import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO;
11 11 import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderPageReqVO;
... ...
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceTest.java
... ... @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.service.refund;
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.framework.pay.config.PayProperties;
5 5 import cn.iocoder.yudao.framework.pay.core.client.PayClientFactory;
6   -import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
  6 +import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum;
7 7 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
8 8 import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundExportReqVO;
9 9 import cn.iocoder.yudao.module.pay.controller.admin.refund.vo.PayRefundPageReqVO;
... ...