From 10c4bb6cd7ca168872638d7630f3d885edd34500 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 15 六月 2022 17:34:42 +0800
Subject: [PATCH] 大气数据历史

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java |   80 ++++++++++++++++++++++++++++------------
 1 files changed, 56 insertions(+), 24 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java
index b632fca..a09bf91 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java
+++ b/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("娣诲姞澶辫触");
+        }
+    }
 }

--
Gitblit v1.9.3