From f1d079f9c0b3d384090477ca54e0548373d62b57 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:56:39 +0800
Subject: [PATCH] 配置修改

---
 src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java
new file mode 100644
index 0000000..769dca0
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java
@@ -0,0 +1,79 @@
+package com.genersoft.iot.vmp.vmanager.user;
+
+import com.genersoft.iot.vmp.conf.exception.ControllerException;
+import com.genersoft.iot.vmp.conf.security.SecurityUtils;
+import com.genersoft.iot.vmp.service.IRoleService;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
+import com.genersoft.iot.vmp.utils.DateUtil;
+import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
+import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Tag(name  = "角色管理")
+@CrossOrigin
+@RestController
+@RequestMapping("/api/role")
+public class RoleController {
+
+    @Autowired
+    private IRoleService roleService;
+
+    @PostMapping("/add")
+    @Operation(summary = "添加角色")
+    @Parameter(name = "name", description = "角色名", required = true)
+    @Parameter(name = "authority", description = "权限(自行定义内容,目前未使用)", required = true)
+    public void add(@RequestParam String name,
+                                                  @RequestParam(required = false) String authority){
+        // 获取当前登录用户id
+        int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
+        if (currenRoleId != 1) {
+            // 只用角色id为1才可以删除和添加用户
+            throw new ControllerException(ErrorCode.ERROR403);
+        }
+
+        Role role = new Role();
+        role.setName(name);
+        role.setAuthority(authority);
+        role.setCreateTime(DateUtil.getNow());
+        role.setUpdateTime(DateUtil.getNow());
+
+        int addResult = roleService.add(role);
+        if (addResult <= 0) {
+            throw new ControllerException(ErrorCode.ERROR100);
+        }
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除角色")
+    @Parameter(name = "id", description = "用户Id", required = true)
+    public void delete(@RequestParam Integer id){
+        // 获取当前登录用户id
+        int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
+        if (currenRoleId != 1) {
+            // 只用角色id为0才可以删除和添加用户
+            throw new ControllerException(ErrorCode.ERROR403);
+        }
+        int deleteResult = roleService.delete(id);
+
+        if (deleteResult <= 0) {
+            throw new ControllerException(ErrorCode.ERROR100);
+        }
+    }
+
+    @GetMapping("/all")
+    @Operation(summary = "查询角色")
+    public List<Role> all(){
+        // 获取当前登录用户id
+        List<Role> allRoles = roleService.getAll();
+        return roleService.getAll();
+    }
+}

--
Gitblit v1.9.3