From b254172b60b4ac350c22abb30c1bc520b5110e56 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 29 七月 2021 17:31:18 +0800 Subject: [PATCH] 防止错误token导致的解析异常 --- src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java index 71f3c66..81f4192 100644 --- a/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java +++ b/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java @@ -16,6 +16,7 @@ import com.ruoyi.project.system.domain.SysRole; import com.ruoyi.project.system.domain.SysRoleDept; import com.ruoyi.project.system.domain.SysRoleMenu; +import com.ruoyi.project.system.domain.SysUserRole; import com.ruoyi.project.system.mapper.SysRoleDeptMapper; import com.ruoyi.project.system.mapper.SysRoleMapper; import com.ruoyi.project.system.mapper.SysRoleMenuMapper; @@ -53,6 +54,31 @@ public List<SysRole> selectRoleList(SysRole role) { return roleMapper.selectRoleList(role); + } + + /** + * 鏍规嵁鐢ㄦ埛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; } /** @@ -290,8 +316,13 @@ * @return 缁撴灉 */ @Override + @Transactional public int deleteRoleById(Long roleId) { + // 鍒犻櫎瑙掕壊涓庤彍鍗曞叧鑱� + roleMenuMapper.deleteRoleMenuByRoleId(roleId); + // 鍒犻櫎瑙掕壊涓庨儴闂ㄥ叧鑱� + roleDeptMapper.deleteRoleDeptByRoleId(roleId); return roleMapper.deleteRoleById(roleId); } @@ -302,6 +333,7 @@ * @return 缁撴灉 */ @Override + @Transactional public int deleteRoleByIds(Long[] roleIds) { for (Long roleId : roleIds) @@ -313,6 +345,57 @@ throw new CustomException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", role.getRoleName())); } } + // 鍒犻櫎瑙掕壊涓庤彍鍗曞叧鑱� + roleMenuMapper.deleteRoleMenu(roleIds); + // 鍒犻櫎瑙掕壊涓庨儴闂ㄥ叧鑱� + roleDeptMapper.deleteRoleDept(roleIds); return roleMapper.deleteRoleByIds(roleIds); } + + /** + * 鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊 + * + * @param userRole 鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭� + * @return 缁撴灉 + */ + @Override + public int deleteAuthUser(SysUserRole userRole) + { + return userRoleMapper.deleteUserRoleInfo(userRole); + } + + /** + * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊 + * + * @param roleId 瑙掕壊ID + * @param userIds 闇�瑕佸彇娑堟巿鏉冪殑鐢ㄦ埛鏁版嵁ID + * @return 缁撴灉 + */ + @Override + public int deleteAuthUsers(Long roleId, Long[] userIds) + { + return userRoleMapper.deleteUserRoleInfos(roleId, userIds); + } + + /** + * 鎵归噺閫夋嫨鎺堟潈鐢ㄦ埛瑙掕壊 + * + * @param roleId 瑙掕壊ID + * @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛鏁版嵁ID + * @return 缁撴灉 + */ + @Override + public int insertAuthUsers(Long roleId, Long[] userIds) + { + // 鏂板鐢ㄦ埛涓庤鑹茬鐞� + List<SysUserRole> list = new ArrayList<SysUserRole>(); + for (Long userId : userIds) + { + SysUserRole ur = new SysUserRole(); + ur.setUserId(userId); + ur.setRoleId(roleId); + list.add(ur); + } + return userRoleMapper.batchUserRole(list); + } } -- Gitblit v1.9.3