This commit is contained in:
2025-10-16 13:53:07 +08:00
parent de062744b4
commit e5f0d57286
51 changed files with 1327 additions and 641 deletions

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.sdk.payment.client;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
/**
* 支付客户端的工厂接口
@@ -33,6 +33,6 @@ public interface PayClientFactory {
* @param channel 支付渠道的编码的枚举
* @param payClientClass 支付客户端 class
*/
void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass);
void registerPayClientClass(PayTypeEnum channel, Class<?> payClientClass);
}

View File

@@ -7,14 +7,14 @@ import com.tashow.cloud.sdk.payment.client.PayClientConfig;
import com.tashow.cloud.sdk.payment.client.PayClientFactory;
import com.tashow.cloud.sdk.payment.client.impl.alipay.*;
import com.tashow.cloud.sdk.payment.client.impl.weixin.*;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import static com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum.*;
import static com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum.*;
/**
@@ -35,7 +35,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
/**
* 支付客户端 Class Map
*/
private final Map<PayChannelEnum, Class<?>> clientClass = new ConcurrentHashMap<>();
private final Map<PayTypeEnum, Class<?>> clientClass = new ConcurrentHashMap<>();
public PayClientFactoryImpl() {
// 微信支付客户端
@@ -56,7 +56,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
}
@Override
public void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass) {
public void registerPayClientClass(PayTypeEnum channel, Class<?> payClientClass) {
clientClass.put(channel, payClientClass);
}
@@ -87,7 +87,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
@SuppressWarnings("unchecked")
private <Config extends PayClientConfig> AbstractPayClient<Config> createPayClient(Long channelId, String channelCode,
Config config) {
PayChannelEnum channelEnum = PayChannelEnum.getByCode(channelCode);
PayTypeEnum channelEnum = PayTypeEnum.getByCode(channelCode);
Assert.notNull(channelEnum, String.format("支付渠道(%s) 为空", channelCode));
Class<?> payClientClass = clientClass.get(channelEnum);
Assert.notNull(payClientClass, String.format("支付渠道(%s) Class 为空", channelCode));

View File

@@ -6,7 +6,7 @@ import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j;
public class AlipayAppPayClient extends AbstractAlipayPayClient {
public AlipayAppPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayChannelEnum.ALIPAY_APP.getCode(), config);
super(channelId, PayTypeEnum.ALIPAY_APP.getCode(), config);
}
@Override

View File

@@ -9,7 +9,7 @@ import com.alipay.api.request.AlipayTradePayRequest;
import com.alipay.api.response.AlipayTradePayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -32,7 +32,7 @@ import static com.tashow.cloud.sdk.payment.client.impl.alipay.AlipayPayClientCon
public class AlipayBarPayClient extends AbstractAlipayPayClient {
public AlipayBarPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayChannelEnum.ALIPAY_BAR.getCode(), config);
super(channelId, PayTypeEnum.ALIPAY_BAR.getCode(), config);
}
@Override

View File

@@ -8,7 +8,7 @@ import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -25,7 +25,7 @@ import java.util.Objects;
public class AlipayPcPayClient extends AbstractAlipayPayClient {
public AlipayPcPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayChannelEnum.ALIPAY_PC.getCode(), config);
super(channelId, PayTypeEnum.ALIPAY_PC.getCode(), config);
}
@Override

View File

@@ -6,7 +6,7 @@ import com.alipay.api.request.AlipayTradePrecreateRequest;
import com.alipay.api.response.AlipayTradePrecreateResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -26,7 +26,7 @@ import static com.tashow.cloud.sdk.payment.client.impl.alipay.AlipayPayClientCon
public class AlipayQrPayClient extends AbstractAlipayPayClient {
public AlipayQrPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayChannelEnum.ALIPAY_QR.getCode(), config);
super(channelId, PayTypeEnum.ALIPAY_QR.getCode(), config);
}
@Override

View File

@@ -7,7 +7,7 @@ import com.alipay.api.request.AlipayTradeWapPayRequest;
import com.alipay.api.response.AlipayTradeWapPayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -22,7 +22,7 @@ import lombok.extern.slf4j.Slf4j;
public class AlipayWapPayClient extends AbstractAlipayPayClient {
public AlipayWapPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayChannelEnum.ALIPAY_WAP.getCode(), config);
super(channelId, PayTypeEnum.ALIPAY_WAP.getCode(), config);
}
@Override

View File

@@ -9,7 +9,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -29,7 +29,7 @@ import static com.tashow.cloud.common.util.json.JsonUtils.toJsonString;
public class WxAppPayClient extends AbstractWxPayClient {
public WxAppPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayChannelEnum.WX_APP.getCode(), config);
super(channelId, PayTypeEnum.WX_APP.getCode(), config);
}
@Override

View File

@@ -10,7 +10,7 @@ import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.common.util.date.LocalDateTimeUtils;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -38,7 +38,7 @@ public class WxBarPayClient extends AbstractWxPayClient {
private static final Duration AUTH_CODE_EXPIRE = Duration.ofMinutes(3);
public WxBarPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayChannelEnum.WX_BAR.getCode(), config);
super(channelId, PayTypeEnum.WX_BAR.getCode(), config);
}
@Override

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.sdk.payment.client.impl.weixin;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import lombok.extern.slf4j.Slf4j;
/**
@@ -16,7 +16,7 @@ import lombok.extern.slf4j.Slf4j;
public class WxLitePayClient extends WxPubPayClient {
public WxLitePayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayChannelEnum.WX_LITE.getCode(), config);
super(channelId, PayTypeEnum.WX_LITE.getCode(), config);
}
}

View File

@@ -8,7 +8,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j;
public class WxNativePayClient extends AbstractWxPayClient {
public WxNativePayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayChannelEnum.WX_NATIVE.getCode(), config);
super(channelId, PayTypeEnum.WX_NATIVE.getCode(), config);
}
@Override

View File

@@ -11,7 +11,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -30,7 +30,7 @@ import static com.tashow.cloud.common.util.json.JsonUtils.toJsonString;
public class WxPubPayClient extends AbstractWxPayClient {
public WxPubPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayChannelEnum.WX_PUB.getCode(), config);
super(channelId, PayTypeEnum.WX_PUB.getCode(), config);
}
protected WxPubPayClient(Long channelId, String channelCode, WxPayClientConfig config) {

View File

@@ -8,7 +8,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j;
public class WxWapPayClient extends AbstractWxPayClient {
public WxWapPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayChannelEnum.WX_WAP.getCode(), config);
super(channelId, PayTypeEnum.WX_WAP.getCode(), config);
}
protected WxWapPayClient(Long channelId, String channelCode, WxPayClientConfig config) {

View File

@@ -14,7 +14,7 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum PayChannelEnum {
public enum PayTypeEnum {
WX_PUB("wx_pub", "微信 JSAPI 支付", WxPayClientConfig.class), // 公众号网页
WX_LITE("wx_lite", "微信小程序支付", WxPayClientConfig.class),
@@ -55,8 +55,12 @@ public enum PayChannelEnum {
* 支付宝支付
*/
public static final String ALIPAY = "ALIPAY";
/**
* 云闪付支付
*/
public static final String CLOUDPAY = "CLOUDPAY";
public static PayChannelEnum getByCode(String code) {
public static PayTypeEnum getByCode(String code) {
return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values());
}