diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/controller/SysMenuController.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/controller/SysMenuController.java index bd26fc66d..378fd160b 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/controller/SysMenuController.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/controller/SysMenuController.java @@ -81,7 +81,7 @@ public class SysMenuController { } /** - * 菜单列表,不带树形结构(layui的菜单管理界面的列表用) + * Layui版本--菜单列表,不带树形结构(菜单管理界面的列表用) * * @author fengshuonan * @date 2021/1/6 17:09 @@ -92,53 +92,7 @@ public class SysMenuController { } /** - * 菜单列表,带树形结构(antd vue的菜单管理界面的列表用) - * - * @author fengshuonan - * @date 2020/3/20 21:23 - */ - @GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list") - public ResponseData list(SysMenuRequest sysMenuRequest) { - return new SuccessResponseData(sysMenuService.findListWithTreeStructure(sysMenuRequest)); - } - - /** - * 获取系统菜单树,用于新增,编辑时选择上级节点(layui版本,用在新增和编辑菜单选择上级菜单) - * - * @author fengshuonan - * @date 2021/1/6 17:09 - */ - @GetResource(name = "获取菜单的树形列表(用于选择上级菜单)(layui版本)", path = "/sysMenu/layuiSelectParentMenuTreeList") - public List layuiSelectParentMenuTreeList() { - return sysMenuService.layuiSelectParentMenuTreeList(); - } - - /** - * 获取系统菜单树,用于新增,编辑时选择上级节点(antd vue版本,用在新增和编辑菜单选择上级菜单) - * - * @author fengshuonan - * @date 2020/3/27 15:55 - */ - @GetResource(name = "获取系统菜单树,用于新增,编辑时选择上级节点", path = "/sysMenu/tree") - public ResponseData tree(SysMenuRequest sysMenuRequest) { - return new SuccessResponseData(sysMenuService.tree(sysMenuRequest)); - } - - /** - * 获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本) - * - * @author majianguo - * @date 2021/1/7 15:17 - */ - @GetResource(name = "获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本)", path = "/sysMenu/getSystemAllMenusAntdv", requiredPermission = false) - public ResponseData getSystemAllMenusAntdv() { - List sysMenuResponses = sysMenuService.getSystemAllMenusAntdv(); - List totalMenus = AntdMenusFactory.createTotalMenus(sysMenuResponses); - return new SuccessResponseData(totalMenus); - } - - /** - * 获取系统菜单和按钮的树,用于角色分配菜单按钮(layui版本使用) + * Layui版本--获取系统菜单和按钮的树,用于角色分配菜单按钮 * * @author majianguo * @date 2021/1/9 17:10 @@ -149,7 +103,53 @@ public class SysMenuController { } /** - * 获取系统菜单和按钮的树,用于角色分配菜单按钮(antd vue版本使用) + * Layui版本--获取系统菜单树,用于新增,编辑时选择上级节点(用在新增和编辑菜单选择上级菜单) + * + * @author fengshuonan + * @date 2021/1/6 17:09 + */ + @GetResource(name = "获取菜单的树形列表(用于选择上级菜单)(layui版本)", path = "/sysMenu/layuiSelectParentMenuTreeList") + public List layuiSelectParentMenuTreeList() { + return sysMenuService.layuiSelectParentMenuTreeList(); + } + + /** + * AntdVue版本--获取系统左侧菜单(适用于登录后获取左侧菜单) + * + * @author majianguo + * @date 2021/1/7 15:17 + */ + @GetResource(name = "获取系统所有菜单(适用于登录后获取左侧菜单)(适配antd vue版本)", path = "/sysMenu/getLeftMenusAntdv", requiredPermission = false) + public ResponseData getLeftMenusAntdv() { + List sysMenuResponses = sysMenuService.getLeftMenusAntdv(); + List totalMenus = AntdMenusFactory.createTotalMenus(sysMenuResponses); + return new SuccessResponseData(totalMenus); + } + + /** + * AntdVue版本--菜单列表,带树形结构(菜单管理界面的列表用) + * + * @author fengshuonan + * @date 2020/3/20 21:23 + */ + @GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list") + public ResponseData list(SysMenuRequest sysMenuRequest) { + return new SuccessResponseData(sysMenuService.findListWithTreeStructure(sysMenuRequest)); + } + + /** + * AntdVue版本--获取系统菜单树,用于新增,编辑时选择上级节点(用在新增和编辑菜单选择上级菜单) + * + * @author fengshuonan + * @date 2020/3/27 15:55 + */ + @GetResource(name = "获取系统菜单树,用于新增,编辑时选择上级节点", path = "/sysMenu/tree") + public ResponseData tree(SysMenuRequest sysMenuRequest) { + return new SuccessResponseData(sysMenuService.tree(sysMenuRequest)); + } + + /** + * AntdVue版本--获取系统菜单和按钮的树,用于角色分配菜单按钮 * * @author majianguo * @date 2021/1/9 17:10 diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/SysMenuMapper.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/SysMenuMapper.java index 0960cd05d..a42cc7616 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/SysMenuMapper.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/SysMenuMapper.java @@ -1,8 +1,9 @@ package cn.stylefeng.roses.kernel.system.modular.menu.mapper; -import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO; +import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -23,6 +24,6 @@ public interface SysMenuMapper extends BaseMapper { * @author majianguo * @date 2021/1/7 15:27 */ - List getSystemAllMenus(); + List getSystemAllMenus(@Param("menuIdList") List menuIdList); } diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/mapping/SysMenuMapper.xml b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/mapping/SysMenuMapper.xml index 53a0174d2..79e2efa5c 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/mapping/SysMenuMapper.xml +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/mapper/mapping/SysMenuMapper.xml @@ -18,19 +18,25 @@ diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/SysMenuService.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/SysMenuService.java index 52502197b..0ea5d3d8c 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/SysMenuService.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/SysMenuService.java @@ -1,13 +1,13 @@ package cn.stylefeng.roses.kernel.system.modular.menu.service; import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode; -import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; import cn.stylefeng.roses.kernel.system.api.pojo.menu.SysMenuRequest; import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode; import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO; import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiAppIndexMenusVO; import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiMenuAndButtonTreeResponse; import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest; +import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -109,7 +109,7 @@ public interface SysMenuService extends IService { * @author majianguo * @date 2021/1/7 15:24 */ - List getSystemAllMenusAntdv(); + List getLeftMenusAntdv(); /** * 获取包含按钮的系统菜单 diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java index c4ba59cc1..17d06dc9a 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java @@ -21,13 +21,6 @@ import cn.stylefeng.roses.kernel.system.api.RoleServiceApi; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.api.exception.enums.menu.SysMenuExceptionEnum; import cn.stylefeng.roses.kernel.system.api.exception.enums.user.SysUserExceptionEnum; -import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; -import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenuButton; -import cn.stylefeng.roses.kernel.system.modular.menu.factory.AntdMenusFactory; -import cn.stylefeng.roses.kernel.system.modular.menu.factory.LayuiMenusFactory; -import cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper; -import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuButtonService; -import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuService; import cn.stylefeng.roses.kernel.system.api.pojo.menu.SysMenuRequest; import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode; import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO; @@ -36,6 +29,13 @@ import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiMenuAndButtonTr import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleMenuButtonDTO; import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleMenuDTO; import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest; +import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; +import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenuButton; +import cn.stylefeng.roses.kernel.system.modular.menu.factory.AntdMenusFactory; +import cn.stylefeng.roses.kernel.system.modular.menu.factory.LayuiMenusFactory; +import cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper; +import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuButtonService; +import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -249,8 +249,16 @@ public class SysMenuServiceImpl extends ServiceImpl impl } @Override - public List getSystemAllMenusAntdv() { - return this.baseMapper.getSystemAllMenus(); + public List getLeftMenusAntdv() { + + // 如果是超级管理员,则获取所有的菜单 + if (LoginContext.me().getSuperAdminFlag()) { + return this.baseMapper.getSystemAllMenus(null); + } + + // 获取当前用户的所有菜单 + List menuIdList = getCurrentUserMenuIds(); + return this.baseMapper.getSystemAllMenus(menuIdList); } @Override