From 0b0a52c69918a64d7f2b728c43a46b50520e4232 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期五, 26 八月 2022 15:21:24 +0800
Subject: [PATCH] !221 hutool版本影响 Merge pull request !221 from 沉浸独/dev
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 219 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 133 insertions(+), 86 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 dab2bf8..d4d0570 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
@@ -1,86 +1,133 @@
-package com.ruoyi.web.controller.system;
-
-import java.util.List;
-import java.util.Set;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.entity.SysMenu;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.domain.model.LoginBody;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.framework.web.service.SysLoginService;
-import com.ruoyi.framework.web.service.SysPermissionService;
-import com.ruoyi.system.service.ISysMenuService;
-
-/**
- * 鐧诲綍楠岃瘉
- *
- * @author ruoyi
- */
-@RestController
-public class SysLoginController
-{
- @Autowired
- private SysLoginService loginService;
-
- @Autowired
- private ISysMenuService menuService;
-
- @Autowired
- private SysPermissionService permissionService;
-
- /**
- * 鐧诲綍鏂规硶
- *
- * @param loginBody 鐧诲綍淇℃伅
- * @return 缁撴灉
- */
- @PostMapping("/login")
- public AjaxResult login(@RequestBody LoginBody loginBody)
- {
- AjaxResult ajax = AjaxResult.success();
- // 鐢熸垚浠ょ墝
- String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
- loginBody.getUuid());
- ajax.put(Constants.TOKEN, token);
- return ajax;
- }
-
- /**
- * 鑾峰彇鐢ㄦ埛淇℃伅
- *
- * @return 鐢ㄦ埛淇℃伅
- */
- @GetMapping("getInfo")
- public AjaxResult getInfo()
- {
- SysUser user = SecurityUtils.getLoginUser().getUser();
- // 瑙掕壊闆嗗悎
- Set<String> roles = permissionService.getRolePermission(user);
- // 鏉冮檺闆嗗悎
- Set<String> permissions = permissionService.getMenuPermission(user);
- AjaxResult ajax = AjaxResult.success();
- ajax.put("user", user);
- ajax.put("roles", roles);
- ajax.put("permissions", permissions);
- return ajax;
- }
-
- /**
- * 鑾峰彇璺敱淇℃伅
- *
- * @return 璺敱淇℃伅
- */
- @GetMapping("getRouters")
- public AjaxResult getRouters()
- {
- Long userId = SecurityUtils.getUserId();
- List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
- return AjaxResult.success(menuService.buildMenus(menus));
- }
-}
+package com.ruoyi.web.controller.system;
+
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysMenu;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginBody;
+import com.ruoyi.common.core.domain.model.SmsLoginBody;
+import com.ruoyi.common.helper.LoginHelper;
+import com.ruoyi.system.domain.vo.RouterVo;
+import com.ruoyi.system.service.ISysMenuService;
+import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.service.SysLoginService;
+import com.ruoyi.system.service.SysPermissionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.constraints.NotBlank;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * 鐧诲綍楠岃瘉
+ *
+ * @author Lion Li
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+public class SysLoginController {
+
+ private final SysLoginService loginService;
+ private final ISysMenuService menuService;
+ private final ISysUserService userService;
+ private final SysPermissionService permissionService;
+
+ /**
+ * 鐧诲綍鏂规硶
+ *
+ * @param loginBody 鐧诲綍淇℃伅
+ * @return 缁撴灉
+ */
+ @Anonymous
+ @PostMapping("/login")
+ public R<Map<String, Object>> login(@Validated @RequestBody LoginBody loginBody) {
+ Map<String, Object> ajax = new HashMap<>();
+ // 鐢熸垚浠ょ墝
+ String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
+ loginBody.getUuid());
+ ajax.put(Constants.TOKEN, token);
+ return R.ok(ajax);
+ }
+
+ /**
+ * 鐭俊鐧诲綍(绀轰緥)
+ *
+ * @param smsLoginBody 鐧诲綍淇℃伅
+ * @return 缁撴灉
+ */
+ @Anonymous
+ @PostMapping("/smsLogin")
+ public R<Map<String, Object>> smsLogin(@Validated @RequestBody SmsLoginBody smsLoginBody) {
+ Map<String, Object> ajax = new HashMap<>();
+ // 鐢熸垚浠ょ墝
+ String token = loginService.smsLogin(smsLoginBody.getPhonenumber(), smsLoginBody.getSmsCode());
+ ajax.put(Constants.TOKEN, token);
+ return R.ok(ajax);
+ }
+
+ /**
+ * 灏忕▼搴忕櫥褰�(绀轰緥)
+ *
+ * @param xcxCode 灏忕▼搴廲ode
+ * @return 缁撴灉
+ */
+ @Anonymous
+ @PostMapping("/xcxLogin")
+ public R<Map<String, Object>> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
+ Map<String, Object> ajax = new HashMap<>();
+ // 鐢熸垚浠ょ墝
+ String token = loginService.xcxLogin(xcxCode);
+ ajax.put(Constants.TOKEN, token);
+ return R.ok(ajax);
+ }
+
+ /**
+ * 閫�鍑虹櫥褰�
+ */
+ @Anonymous
+ @PostMapping("/logout")
+ public R<Void> logout() {
+ loginService.logout();
+ return R.ok("閫�鍑烘垚鍔�");
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛淇℃伅
+ *
+ * @return 鐢ㄦ埛淇℃伅
+ */
+ @GetMapping("getInfo")
+ public R<Map<String, Object>> getInfo() {
+ SysUser user = userService.selectUserById(LoginHelper.getUserId());
+ // 瑙掕壊闆嗗悎
+ Set<String> roles = permissionService.getRolePermission(user);
+ // 鏉冮檺闆嗗悎
+ Set<String> permissions = permissionService.getMenuPermission(user);
+ Map<String, Object> ajax = new HashMap<>();
+ ajax.put("user", user);
+ ajax.put("roles", roles);
+ ajax.put("permissions", permissions);
+ return R.ok(ajax);
+ }
+
+ /**
+ * 鑾峰彇璺敱淇℃伅
+ *
+ * @return 璺敱淇℃伅
+ */
+ @GetMapping("getRouters")
+ public R<List<RouterVo>> getRouters() {
+ Long userId = LoginHelper.getUserId();
+ List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
+ return R.ok(menuService.buildMenus(menus));
+ }
+}
--
Gitblit v1.9.3