From 56e6e579618a13221e56cd49e72c9ac0904da95c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 06 十一月 2025 14:01:56 +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