From 9c7901f526aa1fefd35da044b73c1a77e4d67ff0 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Thu, 01 Jul 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