This commit is contained in:
lym
2024-12-16 10:00:03 +08:00
@@ -261,15 +261,20 @@ public class RoleServiceImpl implements RoleService {
public List<RoleDO> getRoleListByStatus(Collection<Integer> statuses, Long organId) { public List<RoleDO> getRoleListByStatus(Collection<Integer> statuses, Long organId) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
assert loginUser != null; assert loginUser != null;
if (!loginUser.getIsSupAdmin()) { // 内置角色organId0L
Long[] roleOrganArr = new Long[2];
roleOrganArr[0] = 0L;
// 超管可查看其他组织角色,其余只看本机构下
Long currOrganId = (loginUser.getIsSupAdmin() && ObjectUtil.isNotNull(organId)) ? organId : loginUser.getOrganId();
if(ObjectUtil.isNotNull(currOrganId)) {
roleOrganArr[1] = currOrganId;
}
return roleMapper.selectList(new LambdaQueryWrapperX<RoleDO>() return roleMapper.selectList(new LambdaQueryWrapperX<RoleDO>()
.in(RoleDO::getStatus, statuses) .in(RoleDO::getStatus, statuses)
.in(RoleDO::getOrganId, loginUser.getOrganId(), 0L) .in(RoleDO::getOrganId, roleOrganArr)
.ne(RoleDO::getId, 1) .ne(RoleDO::getId, 1)
); );
} }
return roleMapper.selectListByStatus(statuses, ObjectUtil.isNotNull(organId) ? organId : loginUser.getOrganId());
}
@Override @Override
public List<RoleDO> getRoleList() { public List<RoleDO> getRoleList() {