From 5fcd300883ac4446a86290b616c5b206957b6140 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Mon, 4 Nov 2024 15:39:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=84=E7=BB=87=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/SysDeptServiceImpl.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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; + } + /** * 构建前端所需要树结构 *