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
c0fdc077
Commit
c0fdc077
authored
Jun 02, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新菜单树列表
parent
2163e7c2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
15 deletions
+85
-15
portal-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
.../java/com/mortals/xhx/base/login/web/LoginController.java
+6
-0
portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
...mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
+74
-10
portal-manager/src/main/resources/sqlmap/module/menu/menuExt.xml
...manager/src/main/resources/sqlmap/module/menu/menuExt.xml
+5
-5
No files found.
portal-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
View file @
c0fdc077
...
...
@@ -13,6 +13,7 @@ import com.mortals.framework.util.HttpUtil;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.module.menu.model.MenuEntity
;
import
com.mortals.xhx.module.menu.service.MenuService
;
import
com.mortals.xhx.module.user.model.UserEntity
;
import
com.mortals.xhx.module.user.service.UserService
;
...
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
...
...
@@ -69,6 +71,10 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
// List<ModelEntity> modelList = this.service.findModelList(userEntity.getId());
// userEntity.setModelList(modelList);
List
<
MenuEntity
>
menuList
=
menuService
.
findTreeMenuByUser
(
userEntity
);
userEntity
.
setMenuList
(
menuList
);
userEntity
.
setLoginTime
(
System
.
currentTimeMillis
());
userEntity
.
setToken
(
IdUtil
.
fastSimpleUUID
());
userEntity
.
setExpireTime
(
DateUtils
.
addCurrDate
(
7
).
getTime
());
...
...
portal-manager/src/main/java/com/mortals/xhx/module/menu/service/impl/MenuServiceImpl.java
View file @
c0fdc077
package
com.mortals.xhx.module.menu.service.impl
;
import
com.mortals.framework.common.code.YesNo
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
...
...
@@ -16,12 +17,12 @@ import com.mortals.xhx.module.menu.service.MenuService;
import
java.util.*
;
/**
* MenuService
* 菜单信息业务 service实现
*
* @author zxfei
* @date 2022-05-25
*/
* MenuService
* 菜单信息业务 service实现
*
* @author zxfei
* @date 2022-05-25
*/
@Service
(
"menuService"
)
public
class
MenuServiceImpl
extends
AbstractCRUDServiceImpl
<
MenuDao
,
MenuEntity
,
Long
>
implements
MenuService
{
@Override
...
...
@@ -38,7 +39,7 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
@Override
public
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
{
//保存已有菜单
//保存已有菜单
Set
<
Long
>
authIds
=
new
HashSet
<>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<>();
//获取所有启用的菜单
...
...
@@ -84,7 +85,10 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
@Override
public
List
<
MenuEntity
>
findTreeMenuByUser
(
IUser
user
)
throws
AppException
{
return
dao
.
selectMenuTreeByUserId
(
user
.
getId
());
List
<
MenuEntity
>
menuList
=
dao
.
selectMenuTreeByUserId
(
user
.
getId
());
//转换为树结构
List
<
MenuEntity
>
menuTreeList
=
getChildPerms
(
menuList
,
-
1
);
return
menuTreeList
;
}
public
List
<
MenuEntity
>
findTreeMenu
()
throws
AppException
{
...
...
@@ -168,11 +172,71 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
MenuQuery
query
=
new
MenuQuery
();
query
.
setParentId
(
entity
.
getParentId
());
Comparator
<
Integer
>
comparator
=
Comparator
.
comparing
(
Integer:
:
intValue
);
Optional
<
Integer
>
maxOptional
=
this
.
find
(
query
).
stream
().
map
(
MenuEntity:
:
getOrderId
).
filter
(
f
->
f
!=
9999
).
max
(
comparator
);
Optional
<
Integer
>
maxOptional
=
this
.
find
(
query
).
stream
().
map
(
MenuEntity:
:
getOrderId
).
filter
(
f
->
f
!=
9999
).
max
(
comparator
);
maxOptional
.
ifPresent
(
e
->
{
e
=
e
+
1
;
e
=
e
+
1
;
entity
.
setOrderId
(
e
);
});
super
.
saveBefore
(
entity
,
context
);
}
/**
* 根据父节点的ID获取所有子节点
*
* @param list 分类表
* @param parentId 传入的父节点ID
* @return String
*/
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
();
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
if
(
t
.
getParentId
()
==
parentId
)
{
recursionFn
(
list
,
t
);
returnList
.
add
(
t
);
}
}
return
returnList
;
}
/**
* 递归列表
*
* @param list
* @param t
*/
private
void
recursionFn
(
List
<
MenuEntity
>
list
,
MenuEntity
t
)
{
// 得到子节点列表
List
<
MenuEntity
>
childList
=
getChildList
(
list
,
t
);
t
.
setChildList
(
childList
);
for
(
MenuEntity
tChild
:
childList
)
{
if
(
hasChild
(
list
,
tChild
))
{
recursionFn
(
list
,
tChild
);
}
}
}
/**
* 得到子节点列表
*/
private
List
<
MenuEntity
>
getChildList
(
List
<
MenuEntity
>
list
,
MenuEntity
t
)
{
List
<
MenuEntity
>
tlist
=
new
ArrayList
<>();
Iterator
<
MenuEntity
>
it
=
list
.
iterator
();
while
(
it
.
hasNext
())
{
MenuEntity
n
=
it
.
next
();
if
(
n
.
getParentId
().
longValue
()
==
t
.
getId
().
longValue
())
{
tlist
.
add
(
n
);
}
}
return
tlist
;
}
/**
* 判断是否有子节点
*/
private
boolean
hasChild
(
List
<
MenuEntity
>
list
,
MenuEntity
t
)
{
return
getChildList
(
list
,
t
).
size
()
>
0
?
true
:
false
;
}
}
\ No newline at end of file
portal-manager/src/main/resources/sqlmap/module/menu/menuExt.xml
View file @
c0fdc077
...
...
@@ -14,14 +14,14 @@
<select
id=
"selectMenuTreeByUserId"
parameterType=
"paramDto"
resultMap=
"MenuEntity-Map"
>
select
<include
refid=
"_columns"
/>
from mortals_xhx_menu
m
left join mortals_xhx_role_auth rm on
m
.id = rm.menuId
select
<include
refid=
"_columns"
/>
from mortals_xhx_menu
a
left join mortals_xhx_role_auth rm on
a
.id = rm.menuId
left join mortals_xhx_role_user ur on rm.roleId = ur.roleId
left join mortals_xhx_role ro on ur.roleId = ro.id
left join mortals_xhx_user u on ur.userId = u.id
where u.id = #{condition.userId} and
m.menuType in ('0','1','2') and m
.status = 1 AND ro.status = 1
order by
m.parentId, m
.orderId
where u.id = #{condition.userId} and
a.menuType in ('0','1','2') and a
.status = 1 AND ro.status = 1
order by
a.parentId, a
.orderId
</select>
</mapper>
\ No newline at end of file
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