mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-23 23:45:08 +08:00
code review:支付钱包
This commit is contained in:
@ -28,10 +28,11 @@ public interface PayClientFactory {
|
||||
Config config);
|
||||
|
||||
/**
|
||||
* 注册支付客户端 Class, 用于模块中实现的 PayClient
|
||||
* 注册支付客户端 Class,用于模块中实现的 PayClient
|
||||
*
|
||||
* @param payChannelEnum 支付渠道的编码的枚举
|
||||
* @param channel 支付渠道的编码的枚举
|
||||
* @param payClientClass 支付客户端 class
|
||||
*/
|
||||
void registerPayClientClass(PayChannelEnum payChannelEnum, Class<?> payClientClass);
|
||||
void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass);
|
||||
|
||||
}
|
||||
|
@ -27,15 +27,15 @@ public class PayClientFactoryImpl implements PayClientFactory {
|
||||
|
||||
/**
|
||||
* 支付客户端 Map
|
||||
*
|
||||
* key:渠道编号
|
||||
*/
|
||||
private final ConcurrentMap<Long, AbstractPayClient<?>> clients = new ConcurrentHashMap<>();
|
||||
|
||||
/**
|
||||
* 支付客户端 Class Map
|
||||
* key: 支付渠道的编码的枚举
|
||||
*/
|
||||
private final Map<PayChannelEnum, Class<?>>clientClass = new ConcurrentHashMap<>(16);
|
||||
private final Map<PayChannelEnum, Class<?>> clientClass = new ConcurrentHashMap<>();
|
||||
|
||||
public PayClientFactoryImpl() {
|
||||
// 微信支付客户端
|
||||
@ -54,6 +54,11 @@ public class PayClientFactoryImpl implements PayClientFactory {
|
||||
clientClass.put(MOCK, MockPayClient.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass) {
|
||||
clientClass.put(channel, payClientClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayClient getPayClient(Long channelId) {
|
||||
AbstractPayClient<?> client = clients.get(channelId);
|
||||
@ -77,11 +82,6 @@ public class PayClientFactoryImpl implements PayClientFactory {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerPayClientClass(PayChannelEnum payChannelEnum, Class<?> payClientClass) {
|
||||
clientClass.put(payChannelEnum, payClientClass);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private <Config extends PayClientConfig> AbstractPayClient<Config> createPayClient(Long channelId, String channelCode,
|
||||
Config config) {
|
||||
|
Reference in New Issue
Block a user