From 2211a75704860d9e6ae9dd02602746b14ad1e67f Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期五, 17 七月 2020 09:24:04 +0800 Subject: [PATCH] 编码文件名修改为uuid方式 --- ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 44 insertions(+), 1 deletions(-) diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java index 82c458d..71f3c66 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java @@ -11,6 +11,7 @@ import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.framework.aspectj.lang.annotation.DataScope; import com.ruoyi.project.system.domain.SysRole; import com.ruoyi.project.system.domain.SysRoleDept; @@ -18,6 +19,7 @@ import com.ruoyi.project.system.mapper.SysRoleDeptMapper; import com.ruoyi.project.system.mapper.SysRoleMapper; import com.ruoyi.project.system.mapper.SysRoleMenuMapper; +import com.ruoyi.project.system.mapper.SysUserRoleMapper; import com.ruoyi.project.system.service.ISysRoleService; /** @@ -33,6 +35,9 @@ @Autowired private SysRoleMenuMapper roleMenuMapper; + + @Autowired + private SysUserRoleMapper userRoleMapper; @Autowired private SysRoleDeptMapper roleDeptMapper; @@ -76,9 +81,10 @@ * * @return 角色列表 */ + @Override public List<SysRole> selectRoleAll() { - return roleMapper.selectRoleAll(); + return SpringUtils.getAopProxy(this).selectRoleList(new SysRole()); } /** @@ -87,6 +93,7 @@ * @param userId 用户ID * @return 选中角色ID列表 */ + @Override public List<Integer> selectRoleListByUserId(Long userId) { return roleMapper.selectRoleListByUserId(userId); @@ -98,6 +105,7 @@ * @param roleId 角色ID * @return 角色对象信息 */ + @Override public SysRole selectRoleById(Long roleId) { return roleMapper.selectRoleById(roleId); @@ -144,12 +152,25 @@ * * @param role 角色信息 */ + @Override public void checkRoleAllowed(SysRole role) { if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) { throw new CustomException("不允许操作超级管理员角色"); } + } + + /** + * 通过角色ID查询角色使用数量 + * + * @param roleId 角色ID + * @return 结果 + */ + @Override + public int countUserRoleByRoleId(Long roleId) + { + return userRoleMapper.countUserRoleByRoleId(roleId); } /** @@ -190,6 +211,7 @@ * @param role 角色信息 * @return 结果 */ + @Override public int updateRoleStatus(SysRole role) { return roleMapper.updateRole(role); @@ -272,4 +294,25 @@ { return roleMapper.deleteRoleById(roleId); } + + /** + * 批量删除角色信息 + * + * @param roleIds 需要删除的角色ID + * @return 结果 + */ + @Override + public int deleteRoleByIds(Long[] roleIds) + { + for (Long roleId : roleIds) + { + checkRoleAllowed(new SysRole(roleId)); + SysRole role = selectRoleById(roleId); + if (countUserRoleByRoleId(roleId) > 0) + { + throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName())); + } + } + return roleMapper.deleteRoleByIds(roleIds); + } } -- Gitblit v1.9.2