diff --git a/docs/quick_start.md b/docs/quick_start.md
index de518a5..e42d164 100644
--- a/docs/quick_start.md
+++ b/docs/quick_start.md
@@ -2,6 +2,18 @@
> ❗注意:目前并没有上传到Maven中央仓库,等稳定后会进行支持。
+
+## Spring Boot 版本适配
+
+克隆项目后修改根目录下的`pom.xml`以下配置项:
+```xml
+
+
+ 2.4.0
+
+```
+
+
## 自行安装
以**Spring Boot Starter**的形式集成到项目中。从[GitHub项目地址](https://github.com/NotFound403/payment-spring-boot)拉取`release`分支到本地后使用以下两种方式之一进行环境集成:
diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/WechatPayConfiguration.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/WechatPayConfiguration.java
index 2a7eb43..dec0ba0 100644
--- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/WechatPayConfiguration.java
+++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/WechatPayConfiguration.java
@@ -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 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;
}
diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMetaContainer.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMetaContainer.java
index 2fcdd73..698ba00 100644
--- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMetaContainer.java
+++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v3/WechatMetaContainer.java
@@ -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.
*