From c111e3eff1191b29d2d2baf2f485a4bf3a2edc00 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 16 八月 2025 14:34:07 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index ff19edc..ba801bf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -2,10 +2,17 @@
 
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
+import java.util.Random;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.system.mapper.SysUserMapper;
+import com.smartor.domain.BaseSmsRequest;
+import com.smartor.service.IBaseSmsaccountService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -41,6 +48,17 @@
     @Autowired
     private SysUserMapper sysUserMapper;
 
+    @Autowired
+    private RedisCache redisCache;
+
+    @Autowired
+    private IBaseSmsaccountService baseSmsaccountService;
+
+
+    @Value("${spring.profiles.active}")
+    private String active;
+
+
     /**
      * 鐧诲綍鏂规硶
      *
@@ -50,8 +68,14 @@
     @PostMapping("/login")
     public AjaxResult login(@RequestBody LoginBody loginBody) {
         AjaxResult ajax = AjaxResult.success();
-        // 鐢熸垚浠ょ墝
-        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid());
+        String token = null;
+        if (loginBody.getPhoneCode() != null) {
+            String phone = redisCache.getCacheObject(loginBody.getPhoneCode());
+            token = loginService.loginByPhone(phone);
+        } else {
+            // 鐢熸垚浠ょ墝
+            token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid());
+        }
         ajax.put(Constants.TOKEN, token);
         return ajax;
     }
@@ -102,4 +126,31 @@
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
     }
+
+    /**
+     * 楠岃瘉鐮佸彂閫�
+     *
+     * @param payload
+     * @return
+     */
+    @PostMapping("/phoneLogin")
+    public AjaxResult sendCode(@RequestBody Map<String, String> payload) {
+        String phone = payload.get("phone");
+        String code = String.format("%06d", new Random().nextInt(999999));
+
+        // 瀛樺叆 Redis锛屾湁鏁堟湡2鍒嗛挓
+        redisCache.setCacheObject(code, phone, 2, TimeUnit.MINUTES);
+
+        //鏃犻敗绾夸笂鐜鎵嶅彂鐭俊
+        if (active.equals("wx")) {
+            BaseSmsRequest baseSmsRequest = new BaseSmsRequest();
+            baseSmsRequest.setPhoneNumber(phone);
+            baseSmsRequest.setContent("鐧婚檰楠岃瘉鐮侊細" + code + " 锛�2鍒嗛挓鍐呮晥锛屽垏鍕垮皢楠岃瘉鐮佹彁渚涚粰浠栦汉锛岃皑闃茶楠椼��");
+            baseSmsaccountService.sendMsg(baseSmsRequest);
+        }
+        // 璋冪敤鐭俊鏈嶅姟鍙戦�侀獙璇佺爜
+        System.out.println("鐧婚檰楠岃瘉鐮侊細" + code);
+
+        return AjaxResult.success(true);
+    }
 }

--
Gitblit v1.9.3