package com.qianwen.core.sms.config;
|
|
import com.aliyuncs.DefaultAcsClient;
|
import com.aliyuncs.IAcsClient;
|
import com.aliyuncs.profile.DefaultProfile;
|
import com.qianwen.core.redis.cache.BladeRedis;
|
import com.qianwen.core.sms.AliSmsTemplate;
|
import com.qianwen.core.sms.props.SmsProperties;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@EnableConfigurationProperties({SmsProperties.class})
|
@Configuration(proxyBeanMethods = false)
|
@ConditionalOnClass({IAcsClient.class})
|
@ConditionalOnProperty(value = {"sms.name"}, havingValue = "aliyun")
|
|
public class AliSmsConfiguration {
|
private final BladeRedis bladeRedis;
|
|
public AliSmsConfiguration(final BladeRedis bladeRedis) {
|
this.bladeRedis = bladeRedis;
|
}
|
|
@Bean
|
public AliSmsTemplate aliSmsTemplate(SmsProperties smsProperties) {
|
return new AliSmsTemplate(smsProperties, new DefaultAcsClient(DefaultProfile.getProfile(smsProperties.getRegionId(), smsProperties.getAccessKey(), smsProperties.getSecretKey())), this.bladeRedis);
|
}
|
}
|