package com.mes.menu.controller; import com.mes.entity.request.GeneralRequest; import com.mes.menu.entity.SysMenu; import com.mes.menu.service.SysMenuService; import com.mes.utils.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * @author zhoush * @since 2024-04-11 */ @Api(description = "菜单管理") @RestController @RequestMapping("/sys/menu") public class SysMenuController { @Autowired private SysMenuService sysMenuService; @ApiOperation("新增菜单") @PostMapping("/save") // @PreAuthorize("hasAuthority('sys:menu:save')") public Result save(@Validated @RequestBody SysMenu sysMenu) { sysMenuService.save(sysMenu); GeneralRequest request=new GeneralRequest(); return Result.success(sysMenuService.getMenuTree(request)); } @ApiOperation("修改菜单信息") @PostMapping("/updateMenu") // @PreAuthorize("hasAuthority('sys:menu:update')") public Result> updateMenu(@Validated @RequestBody SysMenu sysMenu) { //return Result.success(sysMenu); sysMenuService.updateMenu(sysMenu); GeneralRequest request=new GeneralRequest(); return Result.build(200,"修改成功",sysMenuService.getMenuTree(request)); } @ApiOperation("获取用户有权限的所有菜单") @GetMapping("/getMenuTree") public Result> getMenuTree(GeneralRequest request) { return Result.success(sysMenuService.getMenuTree(request)); } @ApiOperation("获取用户的权限") @GetMapping("/getAuthorityInfo") public Result> getAuthorityInfo() { return Result.success(sysMenuService.getAuthorityInfo()); } @ApiOperation("用户当前用户的菜单和权限信息") @GetMapping("/nav") public Result> nav() { return Result.success(sysMenuService.nav()); } @ApiOperation("删除菜单") @PostMapping("/deleteMenu") // @PreAuthorize("hasAuthority('sys:menu:delete')") public Result> deleteMenu(Long menuId) { GeneralRequest request=new GeneralRequest(); return Result.build(200, sysMenuService.deleteMenu(menuId),sysMenuService.getMenuTree(request)); } @ApiOperation("批量删除菜单") @PostMapping("/batchDeleteMenu") // @PreAuthorize("hasAuthority('sys:menu:delete')") public Result batchDeleteMenu(@RequestBody List menuIds) { return Result.success(sysMenuService.batchDeleteMenu(menuIds)); } }