package com.qianwen.core.sms.config;
|
|
import com.github.qcloudsms.SmsMultiSender;
|
import com.qianwen.core.redis.cache.BladeRedis;
|
import com.qianwen.core.sms.TencentSmsTemplate;
|
import com.qianwen.core.sms.props.SmsProperties;
|
import com.qianwen.core.tool.utils.Func;
|
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({SmsMultiSender.class})
|
@ConditionalOnProperty(value = {"sms.name"}, havingValue = "tencent")
|
|
public class TencentSmsConfiguration {
|
private final BladeRedis bladeRedis;
|
|
public TencentSmsConfiguration(final BladeRedis bladeRedis) {
|
this.bladeRedis = bladeRedis;
|
}
|
|
@Bean
|
public TencentSmsTemplate tencentSmsTemplate(SmsProperties smsProperties) {
|
SmsMultiSender smsSender = new SmsMultiSender(Func.toInt(smsProperties.getAccessKey()), smsProperties.getSecretKey());
|
return new TencentSmsTemplate(smsProperties, smsSender, this.bladeRedis);
|
}
|
}
|