Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart_gov_platform
Commits
476f0fde
Commit
476f0fde
authored
Jun 02, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新菜单树列表
parent
c0fdc077
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
109 deletions
+29
-109
portal-manager/src/main/java/com/mortals/xhx/module/menu/service/MenuService.java
...java/com/mortals/xhx/module/menu/service/MenuService.java
+12
-32
portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
...mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
+17
-77
No files found.
portal-manager/src/main/java/com/mortals/xhx/module/menu/service/MenuService.java
View file @
476f0fde
package
com.mortals.xhx.module.menu.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.IUser
;
...
...
@@ -8,32 +9,21 @@ import java.util.List;
import
java.util.Set
;
/**
* MenuService
*
* 菜单信息业务 service接口
*
* @author zxfei
* @date 2022-05-25
*/
public
interface
MenuService
extends
ICRUDService
<
MenuEntity
,
Long
>{
/**
* 获取所有可用菜单
* MenuService
* <p>
* 菜单信息业务 service接口
*
* @return
* @throws AppException
* @author zxfei
* @date 2022-05-25
*/
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
;
public
interface
MenuService
extends
ICRUDService
<
MenuEntity
,
Long
>
{
/**
*
查询有权限的菜单
*
获取所有可用菜单,树结构
*
* @param user 当前用户
* @param urls 有权限的访问地址集合
* @return
* @throws AppException
*/
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
;
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
;
/**
* 查询用户所有权限的菜单
...
...
@@ -44,19 +34,9 @@ public interface MenuService extends ICRUDService<MenuEntity,Long>{
*/
List
<
MenuEntity
>
findTreeMenuByUser
(
IUser
user
)
throws
AppException
;
/**
* 查看所有菜单
*
* @return
* @throws AppException
*/
List
<
MenuEntity
>
findTreeMenu
()
throws
AppException
;
/**
* 更新排列顺序
*
* @param id
* @param type
*/
...
...
portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
View file @
476f0fde
...
...
@@ -27,93 +27,33 @@ import java.util.*;
public
class
MenuServiceImpl
extends
AbstractCRUDServiceImpl
<
MenuDao
,
MenuEntity
,
Long
>
implements
MenuService
{
@Override
public
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
{
MenuQuery
params
=
new
MenuQuery
();
params
.
setStatus
(
YesNo
.
YES
.
getValue
());
params
.
setMenuType
(
0
);
//主菜单
MenuQuery
query
=
new
MenuQuery
();
query
.
setStatus
(
YesNo
.
YES
.
getValue
());
List
<
OrderCol
>
orderColList
=
new
ArrayList
<
OrderCol
>();
orderColList
.
add
(
new
OrderCol
(
"parentId"
));
orderColList
.
add
(
new
OrderCol
(
"orderId"
));
params
.
setOrderColList
(
orderColList
);
return
dao
.
getList
(
params
);
}
query
.
setOrderColList
(
orderColList
);
@Override
public
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
{
//保存已有菜单
Set
<
Long
>
authIds
=
new
HashSet
<>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<>();
//获取所有启用的菜单
List
<
MenuEntity
>
userModuleList
=
this
.
findAllEnable
();
for
(
MenuEntity
sysModule
:
userModuleList
)
{
if
(
sysModule
==
null
)
{
continue
;
}
menuMap
.
put
(
sysModule
.
getId
(),
sysModule
);
if
(!
user
.
isAdmin
()
&&
urls
.
contains
(
StringUtils
.
trim
(
sysModule
.
getUrl
())))
{
authIds
.
add
(
sysModule
.
getId
());
}
}
if
(!
user
.
isAdmin
())
{
Long
[]
ids
=
authIds
.
toArray
(
new
Long
[
authIds
.
size
()]);
for
(
Long
id
:
ids
)
{
MenuEntity
menu
=
menuMap
.
get
(
id
);
//找父节点
while
(
menu
!=
null
)
{
authIds
.
add
(
menu
.
getId
());
menu
=
menuMap
.
get
(
menu
.
getParentId
());
}
}
}
List
<
MenuEntity
>
outlookBar
=
new
ArrayList
<>();
List
<
MenuEntity
>
norightList
=
new
ArrayList
<>();
for
(
MenuEntity
sysModule
:
userModuleList
)
{
if
(!
user
.
isAdmin
()
&&
!
authIds
.
contains
(
sysModule
.
getId
()))
{
norightList
.
add
(
sysModule
);
continue
;
}
if
(
sysModule
.
getParentId
()
==
null
||
sysModule
.
getParentId
().
longValue
()
==
0
)
{
outlookBar
.
add
(
sysModule
);
continue
;
}
MenuEntity
sysModuleParent
=
menuMap
.
get
(
sysModule
.
getParentId
());
if
(
sysModuleParent
!=
null
)
{
sysModuleParent
.
getChildList
().
add
(
sysModule
);
}
}
return
outlookBar
;
List
<
MenuEntity
>
menuEntityList
=
this
.
find
(
query
);
List
<
MenuEntity
>
menuTreeList
=
getChildPerms
(
menuEntityList
,
-
1
);
return
menuTreeList
;
}
@Override
public
List
<
MenuEntity
>
findTreeMenuByUser
(
IUser
user
)
throws
AppException
{
if
(!
user
.
isAdmin
())
{
List
<
MenuEntity
>
menuList
=
dao
.
selectMenuTreeByUserId
(
user
.
getId
());
//转换为树结构
List
<
MenuEntity
>
menuTreeList
=
getChildPerms
(
menuList
,
-
1
);
return
menuTreeList
;
}
else
{
return
findAllEnable
();
}
public
List
<
MenuEntity
>
findTreeMenu
()
throws
AppException
{
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<>();
List
<
MenuEntity
>
userModuleList
=
this
.
findAllEnable
();
for
(
MenuEntity
sysModule
:
userModuleList
)
{
if
(
sysModule
==
null
)
{
continue
;
}
menuMap
.
put
(
sysModule
.
getId
(),
sysModule
);
}
List
<
MenuEntity
>
outlookBar
=
new
ArrayList
<>();
for
(
MenuEntity
sysModule
:
userModuleList
)
{
if
(
sysModule
.
getParentId
()
==
null
||
sysModule
.
getParentId
().
longValue
()
==
0
)
{
outlookBar
.
add
(
sysModule
);
continue
;
}
MenuEntity
sysModuleParent
=
menuMap
.
get
(
sysModule
.
getParentId
());
if
(
sysModuleParent
!=
null
)
{
sysModuleParent
.
getChildList
().
add
(
sysModule
);
}
}
return
outlookBar
;
}
@Override
public
void
upOrDown
(
Long
id
,
Integer
type
)
{
...
...
@@ -191,7 +131,7 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
public
List
<
MenuEntity
>
getChildPerms
(
List
<
MenuEntity
>
list
,
int
parentId
)
{
List
<
MenuEntity
>
returnList
=
new
ArrayList
<
MenuEntity
>();
for
(
Iterator
<
MenuEntity
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();
)
{
MenuEntity
t
=
iterator
.
next
();
MenuEntity
t
=
iterator
.
next
();
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
if
(
t
.
getParentId
()
==
parentId
)
{
recursionFn
(
list
,
t
);
...
...
@@ -225,7 +165,7 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
List
<
MenuEntity
>
tlist
=
new
ArrayList
<>();
Iterator
<
MenuEntity
>
it
=
list
.
iterator
();
while
(
it
.
hasNext
())
{
MenuEntity
n
=
it
.
next
();
MenuEntity
n
=
it
.
next
();
if
(
n
.
getParentId
().
longValue
()
==
t
.
getId
().
longValue
())
{
tlist
.
add
(
n
);
}
...
...
Write
Preview
Markdown
is supported
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