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