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