guigu-oa/service-oa/src/main/java/com/atguigu/auth/controller/SysMenuController.java

73 lines
2.3 KiB
Java

package com.atguigu.auth.controller;
import com.atguigu.auth.service.SysMenuService;
import com.atguigu.common.result.Result;
import com.atguigu.model.system.SysMenu;
import com.atguigu.vo.system.AssginMenuVo;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 菜单表 前端控制器
* </p>
*
* @author bunny
* @since 2024-04-23
*/
@Api(tags = "菜单管理")
@RestController
@RequestMapping("/admin/system/sysMenu")
public class SysMenuController {
@Autowired
private SysMenuService sysMenuService;
@Operation(summary = "获取菜单", description = "获取菜单")
@GetMapping("findNodes")
public Result<List<SysMenu>> findNodes() {
List<SysMenu> list = sysMenuService.findNodes();
return Result.success(list);
}
@Operation(summary = "新增菜单", description = "新增菜单")
@PostMapping("save")
public Result<SysMenu> save(@RequestBody SysMenu permission) {
sysMenuService.save(permission);
return Result.success();
}
@Operation(summary = "修改菜单", description = "修改菜单")
@PutMapping("update")
public Result<SysMenu> updateById(@RequestBody SysMenu permission) {
sysMenuService.updateById(permission);
return Result.success();
}
@Operation(summary = "删除菜单", description = "删除菜单")
@DeleteMapping("remove/{id}")
public Result<SysMenu> remove(@PathVariable Long id) {
sysMenuService.removeMenuById(id);
return Result.success();
}
@Operation(summary = "根据角色获取菜单", description = "根据角色获取菜单")
@GetMapping("toAssign/{roleId}")
public Result<List<SysMenu>> toAssign(@PathVariable Long roleId) {
List<SysMenu> sysMenuList = sysMenuService.findSysMenuByRoleId(roleId);
return Result.success(sysMenuList);
}
@Operation(summary = "给角色分配权限", description = "给角色分配权限")
@PostMapping("doAssign")
public Result<AssginMenuVo> doAssign(@RequestBody AssginMenuVo assginMenuVo) {
sysMenuService.doAssign(assginMenuVo);
return Result.success();
}
}