From d452ddf5f00f9f7f7a8de12c02adb725f4be2f12 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期二, 21 四月 2020 16:00:06 +0800 Subject: [PATCH] 用户管理角色选择权限控制 --- ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java index f4e4dec..338e2a6 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java @@ -49,14 +49,19 @@ public List<SysDept> buildDeptTree(List<SysDept> depts) { List<SysDept> returnList = new ArrayList<SysDept>(); + List<Long> tempList = new ArrayList<Long>(); + for (SysDept dept : depts) + { + tempList.add(dept.getDeptId()); + } for (Iterator<SysDept> iterator = depts.iterator(); iterator.hasNext();) { - SysDept t = (SysDept) iterator.next(); - // 根据传入的某个父节点ID,遍历该父节点的所有子节点 - if (t.getParentId() == 0) + SysDept dept = (SysDept) iterator.next(); + // 如果是顶级节点, 遍历该父节点的所有子节点 + if (!tempList.contains(dept.getParentId())) { - recursionFn(depts, t); - returnList.add(t); + recursionFn(depts, dept); + returnList.add(dept); } } if (returnList.isEmpty()) @@ -271,7 +276,7 @@ while (it.hasNext()) { SysDept n = (SysDept) it.next(); - if (n.getParentId().longValue() == t.getDeptId().longValue()) + if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) { tlist.add(n); } -- Gitblit v1.9.2