From a21aadf283f279b8610df5dfd396a89bc70dd4b3 Mon Sep 17 00:00:00 2001 From: tortoise <2891138827@qq.com> Date: Sun, 1 Sep 2024 15:51:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E6=9F=A5=E6=89=BE?= =?UTF-8?q?=E6=89=80=E7=94=A8=E7=94=A8=E6=88=B7=E5=8A=A0=E4=B8=8A=E8=A7=92?= =?UTF-8?q?=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sims/controller/AdminController.java | 20 +++++++++---- .../top/suyiiyii/sims/mapper/RoleMapper.java | 30 +++++++++---------- .../suyiiyii/sims/service/RoleService.java | 4 +-- 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/src/main/java/top/suyiiyii/sims/controller/AdminController.java b/src/main/java/top/suyiiyii/sims/controller/AdminController.java index 8aa1be9..e72c5c8 100644 --- a/src/main/java/top/suyiiyii/sims/controller/AdminController.java +++ b/src/main/java/top/suyiiyii/sims/controller/AdminController.java @@ -1,5 +1,6 @@ package top.suyiiyii.sims.controller; +import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -7,10 +8,12 @@ import org.springframework.web.bind.annotation.RestController; import top.suyiiyii.sims.common.AuthAccess; import top.suyiiyii.sims.common.Result; import top.suyiiyii.sims.dto.RecordDto; +import top.suyiiyii.sims.dto.UserDto; import top.suyiiyii.sims.entity.User; import top.suyiiyii.sims.service.RoleService; import top.suyiiyii.sims.service.UserService; +import java.util.ArrayList; import java.util.List; /** @@ -28,13 +31,20 @@ public class AdminController { private RoleService roleService; @Autowired private UserService userService; - + @Autowired + ModelMapper modelMapper; @AuthAccess(allowRoles = {"admin"}) @GetMapping("/findAllUsersWithRoles") - public Result findAllUsersWithRoles() { - - List userList = roleService.findAllUsersWithRoles(); - return Result.success(userList); + public Result> findAllUsersWithRoles() { + List users = userService.selectAll(); + List UserDtos = new ArrayList<>(); + for (User user : users) { + UserDto userDto = modelMapper.map(user, UserDto.class); + userDto.setUserId(user.getStudentId()); + userDto.setRoles(roleService.getRolesById(user.getId())); + UserDtos.add(userDto); + } + return Result.success(UserDtos); } @AuthAccess(allowRoles = {"admin"}) diff --git a/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java b/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java index e8be92e..66eb82e 100644 --- a/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java +++ b/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java @@ -16,14 +16,6 @@ import java.util.List; */ @Mapper public interface RoleMapper { - @Insert("INSERT INTO role(name) VALUES(#{name}") - void addRole(String name); - - @Delete("DELETE FROM role WHERE name=#{name}") - void deleteRole(String name); - - @Update("UPDATE role SET name=#{newName} WHERE name=#{name}") - void updateRole(String name, String newName); /** * @param @@ -32,25 +24,25 @@ public interface RoleMapper { * @Description: TODO 查询用户信息 * @return: java.util.List */ - @Select("SELECT u.username, u.name, u.userId, r.role_name " + + @Select("SELECT u.username, u.student_id, r.role_name " + "FROM user u " + - "LEFT JOIN user_role ur ON u.user_id = ur.user_id " + - "LEFT JOIN role r ON ur.role_id = r.role_id") + "LEFT JOIN user_role ur ON u.student_id = ur.user_id " + + "LEFT JOIN role r ON ur.role_id = r.id") @Results({ @Result(property = "username", column = "username"), - @Result(property = "name", column = "name"), + @Result(property = "userId", column = "userId"), @Result(property = "group", column = "group"), - @Result(property = "roles", column = "role_name", many = @Many(select = "selectRolesByUser")) + @Result(property = "roles", column = "role_name", many = @Many(select = "selectRolesById")) }) List selectAllUsersWithRoles(); // 根据用户ID查询角色 @Select("SELECT role_id, role_name " + "FROM role " + - "WHERE role_id IN " + - "(SELECT role_id FROM user_role WHERE user_id = #{user_id})") - List selectRolesById(@Param("user_id") int id); + "WHERE id IN " + + "(SELECT role_id FROM user_role WHERE user_id = #{student_id})") + List selectRolesById(@Param("student_id") int id); @Select("SELECT role_name FROM role WHERE role_id=#{roleId}") List selectRoleNamesByRoleId(Integer roleId); @@ -62,4 +54,10 @@ public interface RoleMapper { Integer getIdByrolename(String roleName); @Select("SELECT student_id FROM user WHERE username=#{username}") Integer getStudentIdByUsername(String username); + + @Select("SELECT role_name " + + "FROM role " + + "WHERE id IN " + + "(SELECT role_id FROM user_role WHERE user_id = #{id})") + List getRolesById(int id); } diff --git a/src/main/java/top/suyiiyii/sims/service/RoleService.java b/src/main/java/top/suyiiyii/sims/service/RoleService.java index d036fbb..7620962 100644 --- a/src/main/java/top/suyiiyii/sims/service/RoleService.java +++ b/src/main/java/top/suyiiyii/sims/service/RoleService.java @@ -32,8 +32,8 @@ public class RoleService { * @Description: TODO 查看自己身份 * @return: java.util.List */ - public List selectRolesById(int id) { - return roleMapper.selectRolesById(id); + public List getRolesById(int id) { + return roleMapper.getRolesById(id); }