From ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 04 九月 2024 09:17:55 +0800 Subject: [PATCH] 新增优化 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/SendSmsServiceImpl.java | 38 ++++++++++++++++++++++++++++++-------- 1 files changed, 30 insertions(+), 8 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 08ce411..7c8ea3e 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,9 +2,12 @@ import cn.hutool.core.util.RandomUtil; import com.ruoyi.admin.service.SendSmsService; +import com.ruoyi.admin.utils.ALiSendSms; +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; +import com.ruoyi.order.api.entity.Order; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -21,27 +24,43 @@ @Resource private RedisTemplate<String, Object> redisTemplate; + @Resource + private SendSmsUtil sendSmsUtil; + @Resource + private ALiSendSms aLiSendSms; + @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) { + @Override + public String dispatchOrder(Order order) { + // 发送验证码 + String phone = order.getReservationPhone(); + String[] arr = {order.getOrderNumber()}; +// sendSmsUtil.sendSms(new SendSmsUtil.SendSmsRequest(phone, sendSmsUtil.reservationId, arr)); + aLiSendSms.send(phone, order.getServerPhone()); + return "发送成功!"; + } + + private String sendPhoneCode(String phone, String redisKey, String templateId) { // 生成随机 6位数字 验证码 String phoneCode = RandomUtil.randomNumbers(6); - // todo 手机验证码暂时 123456 - phoneCode = "123456"; // 判断redis中是否存在手机验证码 Object phoneCodeRedis = redisTemplate.opsForValue().get(redisKey + phone); if (phoneCodeRedis == null) { @@ -62,10 +81,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