Skip to content

Commit c1c35b3

Browse files
committed
feat: 添加分页查询所有菜单的接口(不含角色)
1 parent fca2f68 commit c1c35b3

3 files changed

Lines changed: 66 additions & 0 deletions

File tree

framework/framework_svc/src/main/java/com/github/cadecode/uniboot/framework/svc/bean/vo/SysMenuVo.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@ public static class SysMenuRolesReqVo extends PageParams {
2929
private Boolean hiddenFlag;
3030
}
3131

32+
@Data
33+
@EqualsAndHashCode(callSuper = true)
34+
public static class SysMenuPageReqVo extends PageParams {
35+
private String routeName;
36+
private String menuName;
37+
private Boolean enableFlag;
38+
private Long parentId;
39+
private Boolean hiddenFlag;
40+
private Boolean leafFlag;
41+
}
42+
3243
@Data
3344
public static class SysMenuUpdateEnableReqVo {
3445
@NotNull
@@ -127,6 +138,36 @@ public static class SysMenuRolesResVo {
127138
private Date updateTime;
128139

129140
private String updateUser;
141+
}
142+
143+
@Data
144+
public static class SysMenuPageResVo {
145+
private Long id;
146+
147+
private Long parentId;
148+
149+
private String routeName;
150+
151+
private String routePath;
130152

153+
private String componentPath;
154+
155+
private String menuName;
156+
157+
private Boolean leafFlag;
158+
159+
private String icon;
160+
161+
private Integer orderNum;
162+
163+
private Boolean enableFlag;
164+
165+
private Boolean hiddenFlag;
166+
167+
private Date createTime;
168+
169+
private Date updateTime;
170+
171+
private String updateUser;
131172
}
132173
}

framework/framework_svc/src/main/java/com/github/cadecode/uniboot/framework/svc/controller/SysMenuController.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.github.cadecode.uniboot.framework.svc.controller;
22

3+
import cn.hutool.core.util.ObjUtil;
34
import com.github.cadecode.uniboot.common.core.web.response.PageResult;
5+
import com.github.cadecode.uniboot.common.plugin.mybatis.converter.BoolToIntTypeHandler;
46
import com.github.cadecode.uniboot.framework.base.annotation.ApiFormat;
57
import com.github.cadecode.uniboot.framework.svc.bean.po.SysMenu;
68
import com.github.cadecode.uniboot.framework.svc.convert.SysMenuConvert;
79
import com.github.cadecode.uniboot.framework.svc.service.SysMenuService;
810
import com.github.cadecode.uniboot.framework.svc.service.SysRoleService;
11+
import com.github.pagehelper.PageHelper;
912
import com.github.pagehelper.PageInfo;
1013
import io.swagger.annotations.Api;
1114
import io.swagger.annotations.ApiOperation;
@@ -44,6 +47,22 @@ public class SysMenuController {
4447
private final SysMenuService sysMenuService;
4548
private final SysRoleService sysRoleService;
4649

50+
@ApiOperation("查询菜单列表")
51+
@PostMapping("page")
52+
public PageResult<SysMenuPageResVo> page(@RequestBody @Valid SysMenuPageReqVo reqVo) {
53+
PageInfo<SysMenu> page = PageHelper.startPage(reqVo.getPageNumber(), reqVo.getPageSize())
54+
.doSelectPageInfo(() -> sysMenuService.lambdaQuery()
55+
.eq(ObjUtil.isNotEmpty(reqVo.getParentId()), SysMenu::getParentId, reqVo.getParentId())
56+
.eq(ObjUtil.isNotEmpty(reqVo.getMenuName()), SysMenu::getMenuName, reqVo.getMenuName())
57+
.eq(ObjUtil.isNotEmpty(reqVo.getRouteName()), SysMenu::getRouteName, reqVo.getRouteName())
58+
.eq(ObjUtil.isNotEmpty(reqVo.getEnableFlag()), SysMenu::getEnableFlag, BoolToIntTypeHandler.mapping(reqVo.getEnableFlag()))
59+
.eq(ObjUtil.isNotEmpty(reqVo.getLeafFlag()), SysMenu::getLeafFlag, BoolToIntTypeHandler.mapping(reqVo.getLeafFlag()))
60+
.eq(ObjUtil.isNotEmpty(reqVo.getHiddenFlag()), SysMenu::getHiddenFlag, BoolToIntTypeHandler.mapping(reqVo.getHiddenFlag()))
61+
.list());
62+
List<SysMenuPageResVo> resVoList = SysMenuConvert.INSTANCE.poToPageVo(page.getList());
63+
return new PageResult<>((int) page.getTotal(), resVoList);
64+
}
65+
4766
@ApiOperation("查询菜单列表(带角色)")
4867
@PostMapping("page_roles_vo")
4968
public PageResult<SysMenuRolesResVo> pageRolesVo(@RequestBody @Valid SysMenuRolesReqVo reqVo) {

framework/framework_svc/src/main/java/com/github/cadecode/uniboot/framework/svc/convert/SysMenuConvert.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
import com.github.cadecode.uniboot.framework.svc.bean.po.SysMenu;
44
import com.github.cadecode.uniboot.framework.svc.bean.vo.SysMenuVo.SysMenuAddReqVo;
5+
import com.github.cadecode.uniboot.framework.svc.bean.vo.SysMenuVo.SysMenuPageResVo;
56
import com.github.cadecode.uniboot.framework.svc.bean.vo.SysMenuVo.SysMenuTreeResVo;
67
import com.github.cadecode.uniboot.framework.svc.bean.vo.SysMenuVo.SysMenuUpdateReqVo;
78
import org.mapstruct.Mapper;
89
import org.mapstruct.Mapping;
910
import org.mapstruct.factory.Mappers;
1011

12+
import java.util.List;
13+
1114
/**
1215
* 系统菜单BEAN转换
1316
*
@@ -19,9 +22,11 @@ public interface SysMenuConvert {
1922

2023
SysMenuConvert INSTANCE = Mappers.getMapper(SysMenuConvert.class);
2124

25+
2226
@Mapping(target = "children", ignore = true)
2327
SysMenuTreeResVo poToTreeResVo(SysMenu sysMenu);
2428

29+
@Mapping(target = "hiddenFlag", ignore = true)
2530
@Mapping(target = "updateUser", ignore = true)
2631
@Mapping(target = "updateTime", ignore = true)
2732
@Mapping(target = "leafFlag", ignore = true)
@@ -35,4 +40,5 @@ public interface SysMenuConvert {
3540
@Mapping(target = "createTime", ignore = true)
3641
SysMenu voPo(SysMenuAddReqVo reqVo);
3742

43+
List<SysMenuPageResVo> poToPageVo(List<SysMenu> list);
3844
}

0 commit comments

Comments
 (0)