diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index 4b17086..d447006 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.system.service.impl; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import com.bonus.common.core.web.domain.BaseEntity; @@ -86,9 +87,23 @@ public class SysDeptServiceImpl implements ISysDeptService public List selectDeptUserTree(SysUser sysUser) { List depts = deptMapper.selectDeptUserList(sysUser.getRoleIds()); + for (int i = 0; i < 5; i++) { + depts = getFilterDepts(depts); + } return buildDeptTreeSelect(depts); } + private static List getFilterDepts(List depts) { + List newDepts = new ArrayList<>(); + Set pids = depts.stream().map(SysDept::getParentId).collect(Collectors.toSet()); + for (SysDept sysDept : depts) { + if (sysDept.getLevel().equals(99) || pids.contains(sysDept.getDeptId())) { + newDepts.add(sysDept); + } + } + return newDepts; + } + /** * 构建前端所需要树结构 *