| | |
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | | import com.ruoyi.common.constant.UserConstants;
|
| | | import com.ruoyi.common.exception.CustomException;
|
| | | import com.ruoyi.common.exception.ServiceException;
|
| | | 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;
|
| | | 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;
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | {
|
| | | if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin())
|
| | | {
|
| | | throw new CustomException("不允许操作超级管理员角色");
|
| | | throw new ServiceException("不允许操作超级管理员角色");
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | SysRole role = selectRoleById(roleId);
|
| | | if (countUserRoleByRoleId(roleId) > 0)
|
| | | {
|
| | | throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName()));
|
| | | throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName()));
|
| | | }
|
| | | }
|
| | | // 删除角色与菜单关联
|
| | |
| | | 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);
|
| | | }
|
| | | }
|