优化加载

This commit is contained in:
xiafang
2020-12-11 11:35:17 +08:00
parent b122973e4b
commit 8127af7e98
3 changed files with 21 additions and 16 deletions

View File

@@ -2,6 +2,18 @@
> ❗注意:<span style= 'color:red;'>目前并没有上传到Maven中央仓库等稳定后会进行支持。</span>
## Spring Boot 版本适配
克隆项目后修改根目录下的`pom.xml`以下配置项:
```xml
<properties>
<!-- 修改为你对应的Spring Boot版本号 -->
<spring-boot.version>2.4.0</spring-boot.version>
</properties>
```
## 自行安装
以**Spring Boot Starter**的形式集成到项目中。从[GitHub项目地址](https://github.com/NotFound403/payment-spring-boot)拉取`release`分支到本地后使用以下两种方式之一进行环境集成:

View File

@@ -2,6 +2,7 @@ package cn.felord.payment.wechat;
import cn.felord.payment.wechat.v3.*;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -23,19 +24,20 @@ public class WechatPayConfiguration {
* @return the wechat cert bean
*/
@Bean
@ConditionalOnMissingBean
WechatMetaContainer wechatMetaContainer(WechatPayProperties wechatPayProperties) {
Map<String, WechatPayProperties.V3> v3Map = wechatPayProperties.getV3();
WechatMetaContainer container = new WechatMetaContainer();
KeyPairFactory keyPairFactory = new KeyPairFactory();
v3Map.keySet().forEach(tenantId -> {
WechatPayProperties.V3 v3 = v3Map.get(tenantId);
String certPath = v3.getCertPath();
String mchId = v3.getMchId();
WechatMetaBean wechatMetaBean = new KeyPairFactory().createPKCS12(certPath, CERT_ALIAS, mchId);
WechatMetaBean wechatMetaBean = keyPairFactory.createPKCS12(certPath, CERT_ALIAS, mchId);
wechatMetaBean.setV3(v3);
wechatMetaBean.setTenantId(tenantId);
container.addWechatMeta(tenantId, wechatMetaBean);
container.addTenant(tenantId);
});
return container;
}

View File

@@ -1,6 +1,5 @@
package cn.felord.payment.wechat.v3;
import lombok.Data;
import java.util.*;
@@ -18,12 +17,13 @@ public class WechatMetaContainer {
/**
* Add wechat meta boolean.
*
* @param tenantId the tenantId
* @param tenantId the tenantId
* @param wechatMetaBean the wechat meta bean
* @return the boolean
*/
public boolean addWechatMeta(String tenantId, WechatMetaBean wechatMetaBean) {
return Objects.nonNull(this.wechatMetaBeanMap.put(tenantId, wechatMetaBean));
public WechatMetaBean addWechatMeta(String tenantId, WechatMetaBean wechatMetaBean) {
tenantIds.add(tenantId);
return this.wechatMetaBeanMap.put(tenantId, wechatMetaBean);
}
/**
@@ -33,6 +33,7 @@ public class WechatMetaContainer {
* @return the wechat meta bean
*/
public WechatMetaBean removeWechatMeta(String tenantId) {
tenantIds.remove(tenantId);
return this.wechatMetaBeanMap.remove(tenantId);
}
@@ -46,16 +47,6 @@ public class WechatMetaContainer {
return Objects.requireNonNull(this.wechatMetaBeanMap.get(tenantId));
}
/**
* Add key boolean.
*
* @param tenantId the tenant id
* @return the boolean
*/
public boolean addTenant(String tenantId) {
return tenantIds.add(tenantId);
}
/**
* Gets properties keys.
*