需求分析

image.png
我们这里需要从消息队列取消息 所以需要在pom 导入 amqp 包以及阿里服务短信包
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
我们使用的短信服务是基于阿里云的所以我们要使用阿里云短息服务

image.png
使用阿里短信之前需要注意点: 准备工作

image.png
还需要在配置文件中加入:
aliyun:
sms:
accessKeyId: 不告诉你
accessKeySecret: 不告诉你
template_code: ssss
sign_name: xxx
有集成的短信Util文件 大家需要的可以私信我 : SmsUtil
修改短信监听类
@Component
@RabbitListener(queues = "sms")
@Slf4j
public class SmsListener {
@Autowired
private SmsUtil smsUtil;
@Value("${aliyun.sms.template_code}")
private String templateCode;
@Value("${aliyun.sms.sign_name")
private String signName;
@RabbitHandler
public void receiveSms(Map<String, String> message) {
log.info("手机号" + message.get("mobile"));
log.info("验证码" + message.get("code"));
try {
smsUtil.sendSms(message.get("mobile"), templateCode, signName,
"\" number \" : \""+ message.get("code")+"\" }");
} catch (ClientException e) {
log.error("发送验证码失效!",e);
}
}
}