From 9c7901f526aa1fefd35da044b73c1a77e4d67ff0 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 01 七月 2021 18:01:36 +0800 Subject: [PATCH] 用户管理新增分配角色功能 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 8bfc5a4..409baf0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -56,6 +56,31 @@ } /** + * 根据用户ID查询角色 + * + * @param userId 用户ID + * @return 角色列表 + */ + @Override + public List<SysRole> selectRolesByUserId(Long userId) + { + List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId); + List<SysRole> roles = selectRoleAll(); + for (SysRole role : roles) + { + for (SysRole userRole : userRoles) + { + if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) + { + role.setFlag(true); + break; + } + } + } + return roles; + } + + /** * 根据用户ID查询权限 * * @param userId 用户ID @@ -290,8 +315,13 @@ * @return 结果 */ @Override + @Transactional public int deleteRoleById(Long roleId) { + // 删除角色与菜单关联 + roleMenuMapper.deleteRoleMenuByRoleId(roleId); + // 删除角色与部门关联 + roleDeptMapper.deleteRoleDeptByRoleId(roleId); return roleMapper.deleteRoleById(roleId); } @@ -302,6 +332,7 @@ * @return 结果 */ @Override + @Transactional public int deleteRoleByIds(Long[] roleIds) { for (Long roleId : roleIds) @@ -313,6 +344,10 @@ throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName())); } } + // 删除角色与菜单关联 + roleMenuMapper.deleteRoleMenu(roleIds); + // 删除角色与部门关联 + roleDeptMapper.deleteRoleDept(roleIds); return roleMapper.deleteRoleByIds(roleIds); } } -- Gitblit v1.9.2