From f87ea782486ab32d6c7ad1fe4655ce200cfa1d8a Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 26 Aug 2021 17:52:12 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E8=A7=92=E8=89=B2=E6=A0=91=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysRoleController.java | 19 +++++++++++ .../system/service/ISysRoleService.java | 4 +++ .../service/impl/SysRoleServiceImpl.java | 33 +++++++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java index 15027ed0..db827f5f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java @@ -117,6 +117,25 @@ public class SysRoleController { List list = sysRoleService.queryTreeList(); return Result.OK(list); } + + /** + * 查询数据分页 查出所有角色,并以树结构数据格式响应给前端 + * + * @return + */ + @ApiOperation(value="树结构分页查询", notes="查询数据分页 查出所有角色,并以树结构数据格式响应给前端") + @RequiresPermissions("sys:depart:list") + @RequestMapping(value = "/treeListPage", method = RequestMethod.GET) + public Result> queryTreeListPage(SysRole role, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(role, req.getParameterMap()); + queryWrapper.isNull("parent_id"); + Page page = new Page<>(pageNo, pageSize); + Page roleTreeModelPage = sysRoleService.queryTreeListPage(page, queryWrapper); + return Result.OK(roleTreeModelPage); + } /** * 添加 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java index 75053b08..d4c58b9b 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysRoleService.java @@ -1,5 +1,7 @@ package com.jero.modules.system.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.common.system.vo.SysRoleTreeModel; @@ -46,7 +48,9 @@ public interface ISysRoleService extends IService { /** * 查询角色树 * @return + * @param page */ List queryTreeList(); + Page queryTreeListPage(Page page, QueryWrapper queryWrapper); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java index 5b030667..9ce2f9c7 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysRoleServiceImpl.java @@ -1,6 +1,8 @@ package com.jero.modules.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.system.vo.SysRoleTreeModel; import com.jero.common.api.vo.Result; @@ -123,4 +125,35 @@ public class SysRoleServiceImpl extends ServiceImpl impl } return treeModelList; } + + /** + * 获取角色分页 + * @return + * @param page + * @param queryWrapper + */ + @Override + public Page queryTreeListPage(Page page, QueryWrapper queryWrapper){ + //查询分页 + Page sysRolePage = sysRoleMapper.selectPage(page, queryWrapper); + //new一个角色树分页 + Page roleTreeModelPage = new Page<>(); + BeanUtils.copyProperties(sysRolePage,roleTreeModelPage); + //遍历角色列表给角色树列表 + List records = sysRolePage.getRecords(); + List treeModelList = new ArrayList<>(); + for (SysRole sysRole : records) { + SysRoleTreeModel treeModel = new SysRoleTreeModel(); + BeanUtils.copyProperties(sysRole,treeModel); + treeModel.setKey(sysRole.getId()); + treeModel.setValue(sysRole.getId()); + treeModel.setTitle(sysRole.getRoleName()); + //查询当前角色的子集 + List children = getChildrenByParentId(sysRole.getId()); + treeModel.setChildren(children); + treeModelList.add(treeModel); + } + roleTreeModelPage.setRecords(treeModelList); + return roleTreeModelPage; + } }