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;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @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<String> 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);
|
}
|
}
|