!179 解决 Sms 和 Oa 的厂商配置信息Map会在同时存在时发生冲突的Bug

Merge pull request !179 from 沈自在/dev-3.x
This commit is contained in:
风如歌 2024-06-07 08:16:35 +00:00 committed by Gitee
commit 1ecc65800b
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 5 additions and 3 deletions

View File

@ -3,6 +3,7 @@ package org.dromara.oa.core.config;
import org.dromara.oa.api.OaSender;
import org.dromara.oa.core.provider.config.OaConfig;
import org.dromara.oa.core.provider.factory.OaBaseProviderFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
@ -31,7 +32,7 @@ public class OaSupplierConfig {
protected OaBlendsInitializer smsOasInitializer(
List<OaBaseProviderFactory<? extends OaSender, ? extends org.dromara.oa.comm.config.OaSupplierConfig>> factoryList,
OaConfig oaConfig,
Map<String, Map<String, Object>> oas) {
@Qualifier("oas") Map<String, Map<String, Object>> oas) {
return new OaBlendsInitializer(factoryList,oaConfig,oas);
}
}

View File

@ -13,6 +13,7 @@ import org.dromara.sms4j.core.datainterface.SmsBlendsSelectedConfig;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.provider.factory.BaseProviderFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ -38,7 +39,7 @@ public class SupplierConfig {
@Bean
@ConditionalOnBean({SmsConfig.class})
@SneakyThrows
protected List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList(Map<String, Map<String, Object>> blends, SmsConfig smsConfig) {
protected List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList(@Qualifier("blends") Map<String, Map<String, Object>> blends, SmsConfig smsConfig) {
//注入自定义实现工厂
List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList = new ArrayList<>();
if (ConfigType.YAML.equals(smsConfig.getConfigType())) {
@ -59,7 +60,7 @@ public class SupplierConfig {
@Bean
protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList,
SmsConfig smsConfig,
Map<String, Map<String, Object>> blends,
@Qualifier("blends") Map<String, Map<String, Object>> blends,
ObjectProvider<SmsDao> smsDaos,
ObjectProvider<SmsBlendsBeanConfig> beanConfigs,
ObjectProvider<SmsBlendsSelectedConfig> selectedConfigs,