From 1abab3ed63e5648b8d88c412dce70aad0736b98a Mon Sep 17 00:00:00 2001
From: luoyisheng <yangdongji@argo-ai.cn>
Date: 星期二, 25 三月 2025 15:13:30 +0800
Subject: [PATCH] bug

---
 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java |   52 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java
index cfbb21e..b2d52c4 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java
@@ -23,6 +23,7 @@
 import com.sinata.system.service.ISysRoleService;
 import com.sinata.system.service.ISysUserService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,12 +36,16 @@
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotBlank;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 角色信息
@@ -90,6 +95,15 @@
     @PostMapping("/save")
     public R<?> save(@Valid @RequestBody SysRoleDTO dto) {
         roleService.saveRole(dto);
+        if (Objects.nonNull(dto.getRoleId())) {
+            // 更新缓存用户权限
+            LoginUser loginUser = getLoginUser();
+            if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) {
+                loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
+                loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
+                tokenService.setLoginUser(loginUser);
+            }
+        }
         return R.ok();
     }
 
@@ -105,14 +119,38 @@
         return R.ok(roleService.getDetailInfo(roleId));
     }
 
-    @ApiOperation("删除详情")
+    @ApiOperation("批量删除")
     @PostMapping("/deleteBatch")
-    public R<?> deleteBatch(@ApiParam(name = "roleIds", value = "角色id列表", required = true) @NotEmpty(message = "角色id列表不能为空") @RequestBody List<Long> roleIds) {
-        roleService.removeBatchByIds(roleIds);
+    @ApiImplicitParam(name = "roleIdStr", value = "角色id字符串,多个用逗号分隔", required = true)
+    public R<?> deleteBatch(@RequestParam @NotBlank(message = "角色id字符串不能为空") String roleIdStr) {
+        List<Long> idList = Arrays.stream(roleIdStr.split(",")).map(Long::valueOf).collect(Collectors.toList());
+        roleService.removeBatchByIds(idList);
         return R.ok();
     }
-    @PreAuthorize("@ss.hasPermi('system:role:list')")
+
+    /**
+     * 获取当前登录用户可管理角色列表
+     *
+     * @return
+     */
+    @ApiOperation("获取当前登录用户可管理角色列表")
+    @GetMapping("/manageRoleList")
+    public R<List<SysRoleVO>> getManageRoleList() {
+        return R.ok(roleService.getManageRoleList(getLoginUser()));
+    }
+
+    /**
+     * 角色列表
+     *
+     * @return
+     */
+    @ApiOperation("角色列表")
     @GetMapping("/list")
+    public R<List<SysRoleVO>> queryList() {
+        return R.ok(roleService.queryList());
+    }
+    @PreAuthorize("@ss.hasPermi('system:role:list')")
+    //@GetMapping("/list")
     public TableDataInfo list(SysRole role)
     {
         startPage();
@@ -133,13 +171,13 @@
     /**
      * 根据角色编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:role:query')")
+  /*  @PreAuthorize("@ss.hasPermi('system:role:query')")
     @GetMapping(value = "/{roleId}")
     public AjaxResult getInfo(@PathVariable Long roleId)
     {
         roleService.checkRoleDataScope(roleId);
         return success(roleService.selectRoleById(roleId));
-    }
+    }*/
 
     /**
      * 新增角色

--
Gitblit v1.7.1