package com.qianwen.core.sms.config;
|
|
import com.qiniu.sms.SmsManager;
|
import com.qiniu.util.Auth;
|
import com.qianwen.core.redis.cache.BladeRedis;
|
import com.qianwen.core.sms.QiniuSmsTemplate;
|
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({SmsManager.class})
|
@ConditionalOnProperty(value = {"sms.name"}, havingValue = "qiniu")
|
|
public class QiniuSmsConfiguration {
|
private final BladeRedis bladeRedis;
|
|
public QiniuSmsConfiguration(final BladeRedis bladeRedis) {
|
this.bladeRedis = bladeRedis;
|
}
|
|
@Bean
|
public QiniuSmsTemplate qiniuSmsTemplate(SmsProperties smsProperties) {
|
Auth auth = Auth.create(smsProperties.getAccessKey(), smsProperties.getSecretKey());
|
SmsManager smsManager = new SmsManager(auth);
|
return new QiniuSmsTemplate(smsProperties, smsManager, this.bladeRedis);
|
}
|
}
|