Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
有来技术
youlai-mall
提交
e78f6837
Y
youlai-mall
项目概览
有来技术
/
youlai-mall
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
youlai-mall
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e78f6837
编写于
8月 31, 2021
作者:
有
有来技术
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(MenuController.java): 添加菜单的treeSelect级联接口
上级
21dadfbe
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
62 addition
and
8 deletion
+62
-8
youlai-admin/admin-boot/src/main/java/com/youlai/admin/controller/MenuController.java
...main/java/com/youlai/admin/controller/MenuController.java
+14
-6
youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/ISysMenuService.java
...c/main/java/com/youlai/admin/service/ISysMenuService.java
+9
-1
youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/impl/SysMenuServiceImpl.java
...ava/com/youlai/admin/service/impl/SysMenuServiceImpl.java
+39
-1
未找到文件。
youlai-admin/admin-boot/src/main/java/com/youlai/admin/controller/MenuController.java
浏览文件 @
e78f6837
...
...
@@ -5,6 +5,7 @@ import com.youlai.admin.pojo.entity.SysMenu;
import
com.youlai.admin.pojo.vo.MenuVO
;
import
com.youlai.admin.pojo.vo.RouteVO
;
import
com.youlai.admin.pojo.vo.SelectVO
;
import
com.youlai.admin.pojo.vo.TreeSelectVO
;
import
com.youlai.admin.service.ISysMenuService
;
import
com.youlai.admin.service.ISysPermissionService
;
import
com.youlai.common.result.Result
;
...
...
@@ -38,7 +39,7 @@ public class MenuController {
@ApiOperation
(
value
=
"菜单表格(Table)层级列表"
)
@ApiImplicitParam
(
name
=
"name"
,
value
=
"菜单名称"
,
paramType
=
"query"
,
dataType
=
"String"
)
@GetMapping
(
"/table"
)
public
Result
get
Menu
TableList
(
String
name
)
{
public
Result
getTableList
(
String
name
)
{
List
<
MenuVO
>
menuList
=
menuService
.
listTable
(
name
);
return
Result
.
success
(
menuList
);
}
...
...
@@ -46,19 +47,26 @@ public class MenuController {
@ApiOperation
(
value
=
"菜单下拉(Select)层级列表"
)
@GetMapping
(
"/select"
)
public
Result
get
Menu
SelectList
()
{
public
Result
getSelectList
()
{
List
<
SelectVO
>
menuList
=
menuService
.
listSelect
();
return
Result
.
success
(
menuList
);
}
@ApiOperation
(
value
=
"菜单下拉(TreeSelect)层级列表"
)
@GetMapping
(
"/tree-select"
)
public
Result
getTreeSelectList
()
{
List
<
TreeSelectVO
>
menuList
=
menuService
.
listTreeSelect
();
return
Result
.
success
(
menuList
);
}
@ApiOperation
(
value
=
"菜单路由(Route)层级列表"
)
@GetMapping
(
"/route"
)
public
Result
getMenuRouteList
()
{
log
.
info
(
"加载菜单路由"
);
List
<
RouteVO
>
menuList
=
menuService
.
listRoute
();
return
Result
.
success
(
menuList
);
public
Result
getRouteList
()
{
List
<
RouteVO
>
routeList
=
menuService
.
listRoute
();
return
Result
.
success
(
routeList
);
}
@ApiOperation
(
value
=
"菜单详情"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"菜单id"
,
required
=
true
,
paramType
=
"path"
,
dataType
=
"Long"
)
@GetMapping
(
"/{id}"
)
...
...
youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/ISysMenuService.java
浏览文件 @
e78f6837
...
...
@@ -6,11 +6,12 @@ import com.youlai.admin.pojo.entity.SysMenu;
import
com.youlai.admin.pojo.vo.MenuVO
;
import
com.youlai.admin.pojo.vo.RouteVO
;
import
com.youlai.admin.pojo.vo.SelectVO
;
import
com.youlai.admin.pojo.vo.TreeSelectVO
;
import
java.util.List
;
/**
* @author
haoxr
* @author
<a href="mailto:xianrui0365@163.com">xianrui</a>
* @date 2020-11-06
*/
public
interface
ISysMenuService
extends
IService
<
SysMenu
>
{
...
...
@@ -39,4 +40,11 @@ public interface ISysMenuService extends IService<SysMenu> {
* @return
*/
List
<
RouteVO
>
listRoute
();
/**
* 菜单下拉(TreeSelect)层级列表
*
* @return
*/
List
<
TreeSelectVO
>
listTreeSelect
();
}
youlai-admin/admin-boot/src/main/java/com/youlai/admin/service/impl/SysMenuServiceImpl.java
浏览文件 @
e78f6837
...
...
@@ -11,13 +11,13 @@ import com.youlai.admin.pojo.vo.MenuVO;
import
com.youlai.admin.pojo.vo.RouteVO
;
import
com.youlai.admin.mapper.SysMenuMapper
;
import
com.youlai.admin.pojo.vo.SelectVO
;
import
com.youlai.admin.pojo.vo.TreeSelectVO
;
import
com.youlai.admin.service.ISysMenuService
;
import
com.youlai.common.constant.GlobalConstants
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Optional
;
...
...
@@ -129,6 +129,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
}
/**
* 递归生成菜单路由层级列表
*
...
...
@@ -160,4 +161,41 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
return
list
;
}
/**
* 菜单下拉(TreeSelect)层级列表
*
* @return
*/
@Override
public
List
<
TreeSelectVO
>
listTreeSelect
()
{
List
<
SysMenu
>
menuList
=
this
.
list
(
new
LambdaQueryWrapper
<
SysMenu
>().
orderByAsc
(
SysMenu:
:
getSort
));
List
<
TreeSelectVO
>
menuSelectList
=
recursionTreeSelectList
(
SystemConstants
.
ROOT_MENU_ID
,
menuList
);
return
menuSelectList
;
}
/**
* 递归生成菜单下拉(TreeSelect)层级列表
*
* @param parentId 父级ID
* @param menuList 菜单列表
* @return
*/
private
static
List
<
TreeSelectVO
>
recursionTreeSelectList
(
Long
parentId
,
List
<
SysMenu
>
menuList
)
{
List
<
TreeSelectVO
>
menuSelectList
=
new
ArrayList
<>();
Optional
.
ofNullable
(
menuList
).
orElse
(
new
ArrayList
<>())
.
stream
()
.
filter
(
menu
->
menu
.
getParentId
().
equals
(
parentId
))
.
forEach
(
menu
->
{
TreeSelectVO
treeSelectVO
=
new
TreeSelectVO
(
menu
.
getId
(),
menu
.
getName
());
List
<
TreeSelectVO
>
children
=
recursionTreeSelectList
(
menu
.
getId
(),
menuList
);
if
(
CollectionUtil
.
isNotEmpty
(
children
))
{
treeSelectVO
.
setChildren
(
children
);
}
menuSelectList
.
add
(
treeSelectVO
);
});
return
menuSelectList
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录