Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
068c3e6f
Commit
068c3e6f
authored
Aug 28, 2020
by
RuoYi
Browse files
优化递归子节点
parent
dd664008
Changes
2
Hide whitespace changes
Inline
Side-by-side
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
View file @
068c3e6f
...
@@ -267,13 +267,7 @@ public class SysDeptServiceImpl implements ISysDeptService
...
@@ -267,13 +267,7 @@ public class SysDeptServiceImpl implements ISysDeptService
{
{
if
(
hasChild
(
list
,
tChild
))
if
(
hasChild
(
list
,
tChild
))
{
{
// 判断是否有子节点
recursionFn
(
list
,
tChild
);
Iterator
<
SysDept
>
it
=
childList
.
iterator
();
while
(
it
.
hasNext
())
{
SysDept
n
=
(
SysDept
)
it
.
next
();
recursionFn
(
list
,
n
);
}
}
}
}
}
}
}
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
View file @
068c3e6f
...
@@ -178,14 +178,19 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -178,14 +178,19 @@ public class SysMenuServiceImpl implements ISysMenuService
public
List
<
SysMenu
>
buildMenuTree
(
List
<
SysMenu
>
menus
)
public
List
<
SysMenu
>
buildMenuTree
(
List
<
SysMenu
>
menus
)
{
{
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
List
<
Long
>
tempList
=
new
ArrayList
<
Long
>();
for
(
SysMenu
dept
:
menus
)
{
tempList
.
add
(
dept
.
getMenuId
());
}
for
(
Iterator
<
SysMenu
>
iterator
=
menus
.
iterator
();
iterator
.
hasNext
();)
for
(
Iterator
<
SysMenu
>
iterator
=
menus
.
iterator
();
iterator
.
hasNext
();)
{
{
SysMenu
t
=
(
SysMenu
)
iterator
.
next
();
SysMenu
menu
=
(
SysMenu
)
iterator
.
next
();
//
根据传入的某个父节点ID,
遍历该父节点的所有子节点
//
如果是顶级节点,
遍历该父节点的所有子节点
if
(
t
.
getParentId
()
==
0
)
if
(
!
tempList
.
contains
(
menu
.
getParentId
()
)
)
{
{
recursionFn
(
menus
,
t
);
recursionFn
(
menus
,
menu
);
returnList
.
add
(
t
);
returnList
.
add
(
menu
);
}
}
}
}
if
(
returnList
.
isEmpty
())
if
(
returnList
.
isEmpty
())
...
@@ -406,13 +411,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -406,13 +411,7 @@ public class SysMenuServiceImpl implements ISysMenuService
{
{
if
(
hasChild
(
list
,
tChild
))
if
(
hasChild
(
list
,
tChild
))
{
{
// 判断是否有子节点
recursionFn
(
list
,
tChild
);
Iterator
<
SysMenu
>
it
=
childList
.
iterator
();
while
(
it
.
hasNext
())
{
SysMenu
n
=
(
SysMenu
)
it
.
next
();
recursionFn
(
list
,
n
);
}
}
}
}
}
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment