2021与蓝度共同重构项目,服务端
LHN
2022-10-20 04598cd1d53ed99675f8142e632c71dc5fd87daa
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java
@@ -1,13 +1,17 @@
package com.sandu.ximon.admin.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
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.security.SecurityUtils;
import com.sandu.ximon.admin.service.MenuService;
import com.sandu.ximon.dao.bo.MenuNode;
import com.sandu.ximon.dao.domain.Menu;
import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -21,6 +25,8 @@
@RequestMapping("/admin/menu")
public class MenuController {
    private PermissionConfig permissionConfig;
    private final MenuService menuService;
//    @GetMapping("treeMenuList")
@@ -30,27 +36,53 @@
//        List<MenuNode> menuTrees = menuService.buildTree(list);
//        return ResponseUtil.success(menuTrees);
//    }
//
//    @GetMapping("treeList")
//    public ResponseVO<Object> treeList() {
//        List<Menu> list = menuService.list(Wrappers.lambdaQuery(Menu.class));
//        List<MenuNode> menuTrees = menuService.buildTree(list);
//        return ResponseUtil.success(menuTrees);
//    }
//
//    @PutMapping
//    @PreAuthorize("@el.check('menu:edit')")
//    public ResponseVO<Object> update(@RequestBody Menu resources) {
//
//        boolean b = menuService.updateMenu(resources);
//        return ResponseUtil.success("");
//    }
//    @PostMapping
//    public ResponseVO<Object> addMenu(@RequestBody Menu resources) {
//
//        boolean b = menuService.updateMenu(resources);
//        return ResponseUtil.success("");
//    }
    @GetMapping("/treeList")
    public ResponseVO<Object> treeList() {
        if (!permissionConfig.check(MenuEnum.MENU_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<MenuNode> menuTrees = menuService.treeList();
        return ResponseUtil.success(menuTrees);
    }
    @PostMapping("/update/{menuId}")
    public ResponseVO<Object> update(@PathVariable Long menuId, @Validated @RequestBody MenuParam param) {
        if (!SecurityUtils.getUserDetails().getAdministratorType().equals(AdministratorEnums.ADMIN.getCode())) {
            throw new BusinessException("非超级管理员无法操作!");
        }
        boolean result = menuService.updateMenu(menuId, param);
        if (result) {
            return ResponseUtil.success("编辑成功");
        } else {
            return ResponseUtil.fail("编辑失败");
        }
    }
    @PostMapping("/del/{menuId}")
    public ResponseVO<Object> delMenu(@PathVariable Long menuId) {
        if (!SecurityUtils.getUserDetails().getAdministratorType().equals(AdministratorEnums.ADMIN.getCode())) {
            throw new BusinessException("非超级管理员无法操作!");
        }
        boolean result = menuService.delMenu(menuId);
        if (result) {
            return ResponseUtil.success("删除成功");
        } else {
            return ResponseUtil.fail("删除失败");
        }
    }
    @PostMapping("/add")
    public ResponseVO<Object> addMenu(@Validated @RequestBody MenuParam param) {
        if (!SecurityUtils.getUserDetails().getAdministratorType().equals(AdministratorEnums.ADMIN.getCode())) {
            throw new BusinessException("非超级管理员无法操作!");
        }
        boolean result = menuService.addMenu(param);
        if (result) {
            return ResponseUtil.success("添加成功");
        } else {
            return ResponseUtil.fail("添加失败");
        }
    }
}