From 9c612156784a9f80f7288aa137e9be3ad2c53d25 Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Thu, 5 Sep 2024 18:35:00 +0800 Subject: [PATCH] =?UTF-8?q?Reapply=20"refactor(sims):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?JwtInterceptor=E5=B9=B6=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=8A=A0=E8=BD=BD"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 4579dbda81299d207de88db0f073bc48301e931a. --- .../suyiiyii/sims/common/JwtInterceptor.java | 3 +++ .../sims/controller/UserController.java | 6 +++-- .../suyiiyii/sims/service/UserService.java | 22 ++++--------------- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/main/java/top/suyiiyii/sims/common/JwtInterceptor.java b/src/main/java/top/suyiiyii/sims/common/JwtInterceptor.java index 10759c6..9c634f1 100644 --- a/src/main/java/top/suyiiyii/sims/common/JwtInterceptor.java +++ b/src/main/java/top/suyiiyii/sims/common/JwtInterceptor.java @@ -57,4 +57,7 @@ public class JwtInterceptor implements HandlerInterceptor { request.setAttribute("userId", userId); return true; } + public static int getUserIdFromReq(HttpServletRequest request){ + return (int) request.getAttribute("userId"); + } } diff --git a/src/main/java/top/suyiiyii/sims/controller/UserController.java b/src/main/java/top/suyiiyii/sims/controller/UserController.java index a9a606d..7ece1a7 100644 --- a/src/main/java/top/suyiiyii/sims/controller/UserController.java +++ b/src/main/java/top/suyiiyii/sims/controller/UserController.java @@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import top.suyiiyii.sims.common.AuthAccess; +import top.suyiiyii.sims.common.JwtInterceptor; import top.suyiiyii.sims.common.Result; import top.suyiiyii.sims.dto.CommonResponse; import top.suyiiyii.sims.dto.UserDto; @@ -100,8 +101,9 @@ public class UserController { @Operation(description = "获取当前用户信息") @AuthAccess(allowRoles = {"user"}) @GetMapping("/user/me") - public Result getSelf() { - UserDto user = userService.findUser(0); + public Result getSelf(HttpServletRequest request) { + int userId = JwtInterceptor.getUserIdFromReq(request); + UserDto user = userService.findUser(userId); return Result.success(user); } diff --git a/src/main/java/top/suyiiyii/sims/service/UserService.java b/src/main/java/top/suyiiyii/sims/service/UserService.java index e7f8f40..e63a278 100644 --- a/src/main/java/top/suyiiyii/sims/service/UserService.java +++ b/src/main/java/top/suyiiyii/sims/service/UserService.java @@ -124,14 +124,6 @@ public class UserService { UserDto.setUserGroup(user.getUserGroup()); UserDto.setRoles(new ArrayList<>()); Integer id = user.getId(); - List roles = roleMapper.selectRolesById(id); - for (Role role : roles) { - Integer roleId = role.getId(); - // 获取一个角色的名称列表 - List roleNameList = roleMapper.selectRoleNamesByRoleId(roleId); - // 累加角色名称到用户的角色列表中 - UserDto.getRoles().addAll(roleNameList); - } UserDtos.add(UserDto); } return UserDtos; @@ -141,21 +133,15 @@ public class UserService { UserDto UserDto = new UserDto(); User user = userMapper.selectById(id); + if (user == null) { + throw new ServiceException("用户不存在"); + } UserDto.setUserId(user.getId()); UserDto.setUsername(user.getUsername()); UserDto.setGrade(user.getGrade()); UserDto.setUserGroup(user.getUserGroup()); UserDto.setRoles(new ArrayList<>()); - List roles = roleMapper.selectRolesById(id); - for (Role role : roles) { - Integer roleId = role.getId(); - // 获取一个角色的名称列表 - List roleNameList = roleMapper.selectRoleNamesByRoleId(roleId); - // 累加角色名称到用户的角色列表中 - UserDto.getRoles().addAll(roleNameList); - } - - + //TODO: 获取用户角色 return UserDto; }