技能:获取用户所在部门权限(所有上级节点)

//userid所在的部门idsSet<Long> userRefOrgIds = sysUserOrganizations.stream().map(SysUserOrganization::getOrgId).collect(Collectors.toSet());
//获取所有部门List<SysOrganization> organizationList = sysOrganizationService.list();
//获取所有上级部门idList<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);}}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部