package com.nov.KgLowDurable.controller; import com.nov.KgLowDurable.pojo.entity.Menu; import com.nov.KgLowDurable.service.IMenuService; import com.nov.KgLowDurable.util.Result; import io.swagger.annotations.*; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; /** * 控制器 * * @author liweidong */ @RestController @AllArgsConstructor @RequestMapping("/menu") public class MenuController { private final IMenuService menuService; // private final ITopMenuService topMenuService; /** * 详情 * @return */ @GetMapping("/detail") @ApiOperationSort(1) @ApiOperation(value = "获取用户详情", notes = "根据用户ID获取详细信息") public Result detail(Menu menu) { return Result.OK(menuService.getById(menu.getId())); } // @GetMapping("/list") // @ApiOperationSort(2) // Knife4j排序 // @ApiOperation(value = "获取菜单列表", notes = "获取菜单树形列表,支持条件筛选", httpMethod = "GET", response = Result.class) // @ApiImplicitParams({ // @ApiImplicitParam(name = "code", value = "菜单编号", dataType = "string", paramType = "query"), // @ApiImplicitParam(name = "name", value = "菜单名称", dataType = "string", paramType = "query") // }) // public Result> list( // @ApiParam(hidden = true) // 在文档中隐藏这个参数 // @RequestParam Map menu) { // // List list = menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().orderByAsc(Menu::getSort)); // // List treeList = MenuWrapper.build().listNodeVO(list); // // return Result.OK(treeList); // } // /** // * 列表 // */ // @GetMapping("/list") // @Parameters({ // @Parameter(name = "code", description = "菜单编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), // @Parameter(name = "name", description = "菜单名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")) // }) // @ApiOperationSupport(order = 2) // @Operation(summary = "列表", description = "传入menu") // public R> list(@Parameter(hidden = true) @RequestParam Map menu) { // List list = menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().orderByAsc(Menu::getSort)); // return R.data(MenuWrapper.build().listNodeVO(list)); // } // /** // * 懒加载列表 // */ // @IsAdministrator // @GetMapping("/lazy-list") // @Parameters({ // @Parameter(name = "code", description = "菜单编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), // @Parameter(name = "name", description = "菜单名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")) // }) // @ApiOperationSupport(order = 3) // @Operation(summary = "懒加载列表", description = "传入menu") // public R> lazyList(Long parentId, @Parameter(hidden = true) @RequestParam Map menu) { // List list = menuService.lazyList(parentId, menu); // return R.data(MenuWrapper.build().listNodeLazyVO(list)); // } // // /** // * 菜单列表 // */ // @IsAdministrator // @GetMapping("/menu-list") // @Parameters({ // @Parameter(name = "code", description = "菜单编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), // @Parameter(name = "name", description = "菜单名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")) // }) // @ApiOperationSupport(order = 4) // @Operation(summary = "菜单列表", description = "传入menu") // public Result> menuList(@Parameter(hidden = true) @RequestParam Map menu) { // List list = menuService.list(Condition.getQueryWrapper(menu, Menu.class).lambda().eq(Menu::getCategory, 1).orderByAsc(Menu::getSort)); // return R.data(MenuWrapper.build().listNodeVO(list)); // } // // /** // * 懒加载菜单列表 // */ // @IsAdministrator // @GetMapping("/lazy-menu-list") // @Parameters({ // @Parameter(name = "code", description = "菜单编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), // @Parameter(name = "name", description = "菜单名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")) // }) // @ApiOperationSupport(order = 5) // @ApiOperation(value = "懒加载菜单列表") // public R> lazyMenuList(Long parentId, @Parameter(hidden = true) @RequestParam Map menu) { // List list = menuService.lazyMenuList(parentId, menu); // return R.data(MenuWrapper.build().listNodeLazyVO(list)); // } // // /** // * 新增或修改 // */ // @IsAdministrator // @PostMapping("/submit") // @ApiOperationSupport(order = 6) // @Operation(summary = "新增或修改", description = "传入menu") // public R submit(@Valid @RequestBody Menu menu) { // if (menuService.submit(menu)) { // CacheUtil.clear(MENU_CACHE); // CacheUtil.clear(MENU_CACHE, Boolean.FALSE); // // 返回懒加载树更新节点所需字段 // Kv kv = Kv.create().set("id", String.valueOf(menu.getId())); // return R.data(kv); // } // return R.fail("操作失败"); // } // // // /** // * 删除 // */ // @IsAdministrator // @PostMapping("/remove") // @ApiOperationSupport(order = 7) // @Operation(summary = "删除", description = "传入ids") // public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { // CacheUtil.clear(MENU_CACHE); // CacheUtil.clear(MENU_CACHE, Boolean.FALSE); // return R.status(menuService.removeMenu(ids)); // } // // /** // * 前端菜单数据 // */ // @GetMapping("/routes") // @ApiOperationSupport(order = 8) // @Operation(summary = "前端菜单数据", description = "前端菜单数据") // public R> routes(BladeUser user, Long topMenuId) { // List list = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId); // return R.data(list); // } // // /** // * 前端按钮数据 // */ // @GetMapping("/buttons") // @ApiOperationSupport(order = 10) // @Operation(summary = "前端按钮数据", description = "前端按钮数据") // public R> buttons(BladeUser user) { // List list = menuService.buttons(user.getRoleId()); // return R.data(list); // } // // /** // * 获取菜单树形结构 // */ // @GetMapping("/tree") // @ApiOperationSupport(order = 11) // @Operation(summary = "树形结构", description = "树形结构") // public R> tree() { // List tree = menuService.tree(); // return R.data(tree); // } // // /** // * 获取权限分配树形结构 // */ // @GetMapping("/grant-tree") // @ApiOperationSupport(order = 12) // @Operation(summary = "权限分配树形结构", description = "权限分配树形结构") // public R grantTree(BladeUser user) { // GrantTreeVO vo = new GrantTreeVO(); // vo.setMenu(menuService.grantTree(user)); // vo.setDataScope(menuService.grantDataScopeTree(user)); // vo.setApiScope(menuService.grantApiScopeTree(user)); // return R.data(vo); // } // // /** // * 获取权限分配树形结构 // */ // @GetMapping("/role-tree-keys") // @ApiOperationSupport(order = 13) // @Operation(summary = "角色所分配的树", description = "角色所分配的树") // public R roleTreeKeys(String roleIds) { // CheckedTreeVO vo = new CheckedTreeVO(); // vo.setMenu(menuService.roleTreeKeys(roleIds)); // vo.setDataScope(menuService.dataScopeTreeKeys(roleIds)); // vo.setApiScope(menuService.apiScopeTreeKeys(roleIds)); // return R.data(vo); // } // // /** // * 获取顶部菜单树形结构 // */ // @GetMapping("/grant-top-tree") // @ApiOperationSupport(order = 14) // @Operation(summary = "顶部菜单树形结构", description = "顶部菜单树形结构") // public R grantTopTree(BladeUser user) { // GrantTreeVO vo = new GrantTreeVO(); // vo.setMenu(menuService.grantTopTree(user)); // return R.ok(vo); // } // // /** // * 获取顶部菜单树形结构 // */ // @GetMapping("/top-tree-keys") // @ApiOperationSupport(order = 15) // @Operation(summary = "顶部菜单所分配的树", description = "顶部菜单所分配的树") // public R topTreeKeys(String topMenuIds) { // CheckedTreeVO vo = new CheckedTreeVO(); // vo.setMenu(menuService.topTreeKeys(topMenuIds)); // return R.data(vo); // } // // /** // * 顶部菜单数据 // */ // @GetMapping("/top-menu") // @ApiOperationSupport(order = 16) // @Operation(summary = "顶部菜单数据", description = "顶部菜单数据") // public R> topMenu(BladeUser user) { // if (Func.isEmpty(user)) { // return null; // } // List list = topMenuService.list(Wrappers.query().lambda().orderByAsc(TopMenu::getSort)); // return R.data(list); // } // // /** // * 获取配置的角色权限 // */ // @GetMapping("auth-routes") // @ApiOperationSupport(order = 17) // @Operation(summary = "菜单的角色权限") // public R> authRoutes(BladeUser user) { // if (Func.isEmpty(user)) { // return null; // } // return R.data(menuService.authRoutes(user)); // } }