From 9e39021f891484b6accb2abc77d34c87bd65681a Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期六, 26 八月 2023 13:27:23 +0800 Subject: [PATCH] 角色管理 --- user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java index f18693f..72e2822 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.mapper.RoleManageMapper; +import com.yuanchu.limslaboratory.pojo.RoleMenu; import com.yuanchu.limslaboratory.pojo.User; import com.yuanchu.limslaboratory.mapper.UserMapper; +import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto; import com.yuanchu.limslaboratory.service.UserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.utils.JackSonUtil; @@ -20,6 +23,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * <p> @@ -34,6 +39,9 @@ @Resource private UserMapper userMapper; + + @Resource + private RoleManageMapper roleManageMapper; @Override public Map<String, Object> getUserInfo(String token) { @@ -52,6 +60,11 @@ data.put("name",loginUser.get("name")); data.put("id",loginUser.get("id")); data.put("remind", remind); + RoleAndMenuDto role = getRoleInfo(Long.valueOf(String.valueOf(loginUser.get("roleId")))); + System.out.println("+++++++++++++++++++++++++++++++++++++++++++++"); + System.out.println(role); + System.out.println("++++++++++++++++++++++++++++++++++++++++++++++"); + data.put("role",role); return data; } return null; @@ -96,7 +109,7 @@ public User AccordingUsernameSelectAll(String account) { LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(User::getAccount, account); - wrapper.select(User::getPassword, User::getId, User::getName, User::getAccount, User::getEnterpriseId); + wrapper.select(User::getPassword, User::getRoleId,User::getId, User::getName, User::getAccount, User::getEnterpriseId); return userMapper.selectOne(wrapper); } @@ -132,4 +145,27 @@ MyUtil.PrintLog(name + status + "============="); return userMapper.getNewPersonnelPage(name, page, status); } + + + public RoleAndMenuDto getRoleInfo(Long roleId) { + RoleAndMenuDto roleAndMenuDto = roleManageMapper.selectAllRoleAndMenuByRoleId(roleId); + List<RoleMenu> collect = roleAndMenuDto.getRoleMenuList() + .stream() + .filter(t -> t.getParentId() == 0) + .peek((menu) -> menu.setChildren(this.getRoleMenuChildren(menu, roleAndMenuDto.getRoleMenuList()))) + .collect(Collectors.toList()); + roleAndMenuDto.setRoleMenuList(collect); + return roleAndMenuDto; + } + + + private List<RoleMenu> getRoleMenuChildren(RoleMenu root, List<RoleMenu> all) { + return all.stream() + .filter(t -> Objects.equals(t.getParentId(), root.getMenuId())) + .peek(g -> { + //鎵惧瓙鑿滃崟 + g.setChildren(getRoleMenuChildren(g, all)); + }) + .collect(Collectors.toList()); + } } -- Gitblit v1.9.3