From 242725f795b4cca830421c07f714a3ec36af0add Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期二, 02 七月 2024 13:59:39 +0800 Subject: [PATCH] feat: 代码初始化、腾讯云短信SDK --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/SendSmsServiceImpl.java | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/SendSmsServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/SendSmsServiceImpl.java index 2b349b9..e7b95a8 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/SendSmsServiceImpl.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/SendSmsServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.util.RandomUtil; import com.ruoyi.admin.service.SendSmsService; +import com.ruoyi.admin.utils.SendSmsUtil; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.RedisConstants; import com.ruoyi.common.core.exception.GlobalException; @@ -21,23 +22,28 @@ @Resource private RedisTemplate<String, Object> redisTemplate; + @Resource + private SendSmsUtil sendSmsUtil; @Override public String workerSettleSms(String phone) { - return sendPhoneCode(phone, RedisConstants.WORKER_SETTLE_KEY, Constants.FIVE, TimeUnit.MINUTES); + return sendPhoneCode(phone, RedisConstants.WORKER_SETTLE_KEY, + sendSmsUtil.applyId); } @Override public String workerLoginSms(String phone) { - return sendPhoneCode(phone, RedisConstants.WORKER_APPLY_KEY, Constants.FIVE, TimeUnit.MINUTES); + return sendPhoneCode(phone, RedisConstants.WORKER_APPLY_KEY, + sendSmsUtil.loginId); } @Override public String userLoginSms(String phone) { - return sendPhoneCode(phone, RedisConstants.USER_LOGIN_PHONE_CODE, Constants.FIVE, TimeUnit.MINUTES); + return sendPhoneCode(phone, RedisConstants.USER_LOGIN_PHONE_CODE, + sendSmsUtil.loginId); } - private String sendPhoneCode(String phone, String redisKey, Integer timeout, TimeUnit timeUnit) { + private String sendPhoneCode(String phone, String redisKey, String templateId) { // 生成随机 6位数字 验证码 String phoneCode = RandomUtil.randomNumbers(6); // 判断redis中是否存在手机验证码 @@ -60,10 +66,13 @@ * key为 --> phone_code:手机号码 (phone_code表示该业务为 验证码登录) * value为 --> 随机验证码:时间戳 (时间戳用于计算是否超过1分钟的重发时间) */ - redisTemplate.opsForValue().set(redisKey + phone, phoneCode + ":" + System.currentTimeMillis(), timeout, timeUnit); + redisTemplate.opsForValue().set(redisKey + phone, phoneCode + ":" + System.currentTimeMillis(), + Constants.FIVE, TimeUnit.MINUTES); String sendMessage = "验证码发送成功,您的验证码为:" + phoneCode + ",该验证码三分钟内有效,请及时完成登陆"; - // todo 发送此消息 System.out.println(sendMessage); + String[] param = {phoneCode}; + // 发送验证码 + sendSmsUtil.sendSms(new SendSmsUtil.SendSmsRequest(phone, templateId, param)); return phoneCode; } -- Gitblit v1.7.1