Set<Long> userRefOrgIds = sysUserOrganizations.stream().map(SysUserOrganization::getOrgId).collect(Collectors.toSet());
List<SysOrganization> organizationList = sysOrganizationService.list();
List<Long> parentIds = CollUtil.newArrayList();for (Long ids : userRefOrgIds) {getParentOrgIds(organizationList, ids, parentIds);}userRefOrgIds.addAll(parentIds);
List<SysOrgRole> sysOrgRoles = sysOrgRoleService.list(Wrappers.<SysOrgRole>query().lambda().in(SysOrgRole::getOrgId, userRefOrgIds));
sysOrgRoles.stream().map(SysOrgRole::getRoleId).collect(Collectors.toSet())
private void getParentOrgIds(List<SysOrganization> organizationList, Long id, List<Long> parentIds) {for (SysOrganization organization : organizationList) {if (ObjectUtil.isEmpty(organization.getPid()) || "0".equals(organization.getPid())) {continue;}if (id.equals(organization.getId())) {parentIds.add(organization.getPid());getParentOrgIds(organizationList, organization.getPid(), parentIds);}}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!