diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/controller/SysMenuController.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/controller/SysMenuController.java index efcba0adf..0f5f3fc8c 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/controller/SysMenuController.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/controller/SysMenuController.java @@ -45,6 +45,18 @@ public class SysMenuController { return new SuccessResponseData(); } + /** + * 删除系统菜单 + * + * @author fengshuonan + * @date 2020/3/27 8:58 + */ + @PostResource(name = "删除系统菜单", path = "/sysMenu/delete") + public ResponseData delete(@RequestBody @Validated(SysMenuRequest.delete.class) SysMenuRequest sysMenuRequest) { + sysMenuService.del(sysMenuRequest); + return new SuccessResponseData(); + } + /** * 编辑系统菜单 * @@ -57,18 +69,6 @@ public class SysMenuController { return new SuccessResponseData(); } - /** - * 删除系统菜单 - * - * @author fengshuonan - * @date 2020/3/27 8:58 - */ - @PostResource(name = "删除系统菜单", path = "/sysMenu/delete") - public ResponseData delete(@RequestBody @Validated(SysMenuRequest.delete.class) SysMenuRequest sysMenuRequest) { - sysMenuService.delete(sysMenuRequest); - return new SuccessResponseData(); - } - /** * 查看系统菜单 * @@ -80,6 +80,17 @@ public class SysMenuController { return new SuccessResponseData(sysMenuService.detail(sysMenuRequest)); } + /** + * 系统菜单列表,树形结构,用于菜单管理界面的列表展示 + * + * @author fengshuonan + * @date 2020/3/20 21:23 + */ + @GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list") + public ResponseData list(SysMenuRequest sysMenuRequest) { + return new SuccessResponseData(sysMenuService.findList(sysMenuRequest)); + } + /** * 获取菜单列表(layui版本) * @@ -103,14 +114,14 @@ public class SysMenuController { } /** - * 系统菜单列表,树形结构,用于菜单管理界面的列表展示 + * 获取主页左侧菜单列表(适配Antd Vue的版本) * * @author fengshuonan - * @date 2020/3/20 21:23 + * @date 2020/4/19 15:50 */ - @GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list") - public ResponseData list(SysMenuRequest sysMenuRequest) { - return new SuccessResponseData(sysMenuService.list(sysMenuRequest)); + @GetResource(name = "获取主页左侧菜单列表(Antd Vue)", path = "/sysMenu/getIndexMenuAntdVue", requiredPermission = false) + public ResponseData getAppMenus(@Validated(SysMenuRequest.getAppMenusAntdVue.class) SysMenuRequest sysMenuRequest) { + return new SuccessResponseData(sysMenuService.getAntDVueIndexMenus(sysMenuRequest.getAppCode())); } /** @@ -135,6 +146,19 @@ public class SysMenuController { return new SuccessResponseData(sysMenuService.treeForGrant(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版本使用) * @@ -158,28 +182,4 @@ public class SysMenuController { return new SuccessResponseData(treeResponseList); } - /** - * 获取主页左侧菜单列表(适配Antd Vue的版本) - * - * @author fengshuonan - * @date 2020/4/19 15:50 - */ - @GetResource(name = "获取主页左侧菜单列表(Antd Vue)", path = "/sysMenu/getIndexMenuAntdVue", requiredPermission = false) - public ResponseData getAppMenus(@Validated(SysMenuRequest.getAppMenusAntdVue.class) SysMenuRequest sysMenuRequest) { - return new SuccessResponseData(sysMenuService.getAntDVueIndexMenus(sysMenuRequest.getAppCode())); - } - - /** - * 获取系统所有菜单(适用于登录后获取左侧菜单)(适配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); - } - } diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/SysMenuService.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/SysMenuService.java index e08aa41d1..a9d35bc08 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/SysMenuService.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/SysMenuService.java @@ -54,6 +54,15 @@ public interface SysMenuService extends IService { */ void add(SysMenuRequest sysMenuRequest); + /** + * 删除系统菜单 + * + * @param sysMenuRequest 删除参数 + * @author fengshuonan + * @date 2020/3/27 9:03 + */ + void del(SysMenuRequest sysMenuRequest); + /** * 编辑系统菜单 * @@ -63,15 +72,6 @@ public interface SysMenuService extends IService { */ void edit(SysMenuRequest sysMenuRequest); - /** - * 删除系统菜单 - * - * @param sysMenuRequest 删除参数 - * @author fengshuonan - * @date 2020/3/27 9:03 - */ - void delete(SysMenuRequest sysMenuRequest); - /** * 查看系统菜单 * @@ -82,6 +82,16 @@ public interface SysMenuService extends IService { */ SysMenu detail(SysMenuRequest sysMenuRequest); + /** + * 系统菜单列表,树形结构,用于菜单管理界面的列表展示 + * + * @param sysMenuRequest 查询参数 + * @return 菜单树表列表 + * @author fengshuonan + * @date 2020/3/26 10:19 + */ + List findList(SysMenuRequest sysMenuRequest); + /** * 获取菜单列表(layui版本) * @@ -99,16 +109,6 @@ public interface SysMenuService extends IService { */ List layuiSelectParentMenuTreeList(); - /** - * 系统菜单列表,树形结构,用于菜单管理界面的列表展示 - * - * @param sysMenuRequest 查询参数 - * @return 菜单树表列表 - * @author fengshuonan - * @date 2020/3/26 10:19 - */ - List list(SysMenuRequest sysMenuRequest); - /** * 获取当前用户的所有菜单 * diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java index 19dff0f19..8ba50f8ae 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java @@ -109,6 +109,25 @@ public class SysMenuServiceImpl extends ServiceImpl impl this.save(sysMenu); } + @Transactional(rollbackFor = Exception.class) + @Override + public void del(SysMenuRequest sysMenuRequest) { + + Long id = sysMenuRequest.getMenuId(); + + // 获取所有子级的节点id + Set childIdList = this.dbOperatorApi.findSubListByParentId("sys_menu", "menu_pids", "menu_id", id); + childIdList.add(id); + + // 逻辑删除,设置删除标识 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(SysMenu::getMenuId, childIdList).set(SysMenu::getDelFlag, YesOrNotEnum.Y.getCode()); + this.update(updateWrapper); + + // 删除该菜单下的按钮 + sysMenuButtonService.deleteMenuButtonByMenuId(id); + } + @Override @Transactional(rollbackFor = Exception.class) public void edit(SysMenuRequest sysMenuRequest) { @@ -130,25 +149,6 @@ public class SysMenuServiceImpl extends ServiceImpl impl this.updateById(oldMenu); } - @Transactional(rollbackFor = Exception.class) - @Override - public void delete(SysMenuRequest sysMenuRequest) { - - Long id = sysMenuRequest.getMenuId(); - - // 获取所有子级的节点id - Set childIdList = this.dbOperatorApi.findSubListByParentId("sys_menu", "menu_pids", "menu_id", id); - childIdList.add(id); - - // 逻辑删除,设置删除标识 - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.in(SysMenu::getMenuId, childIdList).set(SysMenu::getDelFlag, YesOrNotEnum.Y.getCode()); - this.update(updateWrapper); - - // 删除该菜单下的按钮 - sysMenuButtonService.deleteMenuButtonByMenuId(id); - } - @Override public SysMenu detail(SysMenuRequest sysMenuRequest) { SysMenu sysMenu = this.querySysMenu(sysMenuRequest); @@ -172,6 +172,17 @@ public class SysMenuServiceImpl extends ServiceImpl impl return sysMenu; } + @Override + public List findList(SysMenuRequest sysMenuRequest) { + + LambdaQueryWrapper wrapper = createWrapper(sysMenuRequest); + + List sysMenuList = this.list(wrapper); + + // 将结果集处理成树 + return new DefaultTreeBuildFactory().doTreeBuild(sysMenuList); + } + @Override public List layuiList(SysMenuRequest sysMenuRequest) { @@ -216,17 +227,6 @@ public class SysMenuServiceImpl extends ServiceImpl impl return zTreeNodes; } - @Override - public List list(SysMenuRequest sysMenuRequest) { - - LambdaQueryWrapper wrapper = createWrapper(sysMenuRequest); - - List sysMenuList = this.list(wrapper); - - // 将结果集处理成树 - return new DefaultTreeBuildFactory().doTreeBuild(sysMenuList); - } - @Override public List getCurrentUserMenus() { return getCurrentUserMenus(null);