package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.MenuParam; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.service.MenuService; import com.sandu.ximon.dao.bo.MenuNode; import com.sandu.ximon.dao.enums.MenuEnum; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @author chenjiantian * @date 2021/4/27 18:47 */ @AllArgsConstructor @RestController @RequestMapping("/admin/menu") public class MenuController { private PermissionConfig permissionConfig; private final MenuService menuService; // @GetMapping("treeMenuList") // @PreAuthorize("@el.check('menu:list','role:list')") // public ResponseVO treeMenuList() { // List list = menuService.list(Wrappers.lambdaQuery(Menu.class).eq(Menu::getType, 0)); // List menuTrees = menuService.buildTree(list); // return ResponseUtil.success(menuTrees); // } @GetMapping("/treeList") public ResponseVO treeList() { if(!permissionConfig.check(MenuEnum.MENU_LIST.getCode())){ return ResponseUtil.fail("缺少对应用户权限"); } List menuTrees = menuService.treeList(); return ResponseUtil.success(menuTrees); } @PostMapping("/update/{menuId}") public ResponseVO update(@PathVariable Long menuId, @Validated @RequestBody MenuParam param) { boolean result = menuService.updateMenu(menuId,param); if (result) { return ResponseUtil.success("编辑成功"); } else { return ResponseUtil.fail("编辑失败"); } } @PostMapping("/del/{menuId}") public ResponseVO delMenu(@PathVariable Long menuId) { boolean result = menuService.delMenu(menuId); if (result) { return ResponseUtil.success("删除成功"); } else { return ResponseUtil.fail("删除失败"); } } @PostMapping("/add") public ResponseVO addMenu(@Validated @RequestBody MenuParam param) { boolean result = menuService.addMenu(param); if (result) { return ResponseUtil.success("添加成功"); } else { return ResponseUtil.fail("添加失败"); } } }