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; }