package com.monkeylessey.controller.system; import com.monkeylessey.sys.domain.form.SysMenuForm; import com.monkeylessey.response.Result; import com.monkeylessey.sys.domain.query.SysMenuQuery; import com.monkeylessey.sys.service.SysMenuService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 前端控制器 *

* * @author 向培 * @since 2022-04-07 */ @Validated @RestController @RequiredArgsConstructor @RequestMapping("/sys-menu") @Api(value = "菜单", tags = "菜单") public class SysMenuController { private final SysMenuService menuService; @PostMapping("/") @PreAuthorize("hasAuthority('menu:add')") @ApiOperation(value = "添加菜单", notes = "添加菜单") public Result addMenu(@RequestBody @Validated SysMenuForm form) { return menuService.addMenu(form); } @PutMapping("/") @PreAuthorize("hasAuthority('menu:edit')") @ApiOperation(value = "修改菜单", notes = "修改菜单") public Result editMenu(@RequestBody @Validated SysMenuForm form) { return menuService.editMenu(form); } @DeleteMapping("/{menu_id}") @PreAuthorize("hasAuthority('menu:del')") @ApiOperation(value = "删除菜单", notes = "删除菜单") public Result deleteMenuById(@PathVariable("menu_id") String menuId) { return menuService.deleteMenuById(menuId); } @DeleteMapping("/batch") @PreAuthorize("hasAuthority('menu:del:batch')") @ApiOperation(value = "批量删除菜单", notes = "批量删除菜单") public Result deleteMenuByIds(@RequestBody List ids) { return menuService.deleteMenuByIds(ids); } @GetMapping("/page") @PreAuthorize("hasAuthority('menu:page')") @ApiOperation(value = "菜单分页", notes = "菜单分页") public Result menuPage(SysMenuQuery query) { return menuService.selectMenuByPage(query); } @GetMapping("/{menu_id}") @PreAuthorize("hasAuthority('menu:detail')") @ApiOperation(value = "id查找", notes = "id查找") public Result menuPage(@PathVariable("menu_id") String menuId) { return menuService.selectMenuById(menuId); } @GetMapping("/list") @ApiOperation(value = "菜单列表", notes = "菜单列表") public Result menuList() { return menuService.menuList(); } @GetMapping("/tree") @ApiOperation(value = "菜单树", notes = "菜单树") public Result menuTree(SysMenuQuery query) { return menuService.selectMenuTree(query); } }