code review:支付钱包

This commit is contained in:
YunaiV
2023-08-31 20:13:12 +08:00
parent bca6fb4698
commit ba444c9538
5 changed files with 19 additions and 15 deletions

View File

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

View File

@ -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) {