From 02bb94e413f6950b9786c5ee86c0937bc20f8ae8 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 12 七月 2025 14:42:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java |   49 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
index 5b03dbe..5108cf7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -7,10 +7,13 @@
 import java.util.stream.Collectors;
 
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysMenu;
 import com.ruoyi.system.dto.SysRoleDTO;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
+import com.ruoyi.system.model.TTemplate;
 import com.ruoyi.system.query.SysRoleQuery;
-import com.ruoyi.system.service.ISysMenuService;
+import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.system.RoleInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -31,9 +34,6 @@
 import com.ruoyi.framework.web.service.SysPermissionService;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.domain.SysUserRole;
-import com.ruoyi.system.service.ISysDeptService;
-import com.ruoyi.system.service.ISysRoleService;
-import com.ruoyi.system.service.ISysUserService;
 
 /**
  * 角色信息
@@ -49,6 +49,8 @@
     private ISysRoleService roleService;
 
     @Autowired
+    private SysUserRoleMapper sysUserRoleMapper;
+    @Autowired
     private TokenService tokenService;
 
     @Autowired
@@ -61,8 +63,9 @@
     private ISysDeptService deptService;
     @Autowired
     private ISysMenuService menuService;
+    @Autowired
+    private TTemplateService templateService;
 
-    @PreAuthorize("@ss.hasPermi('system:role')")
     @ApiOperation(value = "角色列表")
     @PostMapping("/list")
     public AjaxResult list(@RequestBody SysRoleQuery query)
@@ -71,13 +74,25 @@
         return AjaxResult.success(list);
     }
 
-    @PreAuthorize("@ss.hasPermi('system:role')")
     @ApiOperation(value = "角色列表不分页")
     @PostMapping("/listNotPage")
     public AjaxResult list()
     {
         List<SysRole> list = roleService.selectRoleList(new SysRole());
         return AjaxResult.success(list);
+    }
+    @ApiOperation(value = "角色列表不分页根据模板id")
+    @GetMapping("/listNotPageByTemplateId")
+    public AjaxResult listNotPageByTemplateId(@RequestParam String templateId)
+    {
+        TTemplate byId = templateService.getById(templateId);
+        SysRole sysRole = roleService.selectRoleById(byId.getRoleId());
+        List<SysRole> sysRoles = new ArrayList<>();
+        if (sysRole!=null){
+            sysRoles.add(sysRole);
+
+        }
+        return AjaxResult.success(sysRoles);
     }
     @PreAuthorize("@ss.hasPermi('system:role:count')")
     @ApiOperation(value = "角色数量统计")
@@ -126,18 +141,17 @@
         roleInfoVo.setRoleId(role.getRoleId());
         roleInfoVo.setRoleName(role.getRoleName());
         roleInfoVo.setRemark(role.getRemark());
-
+        roleInfoVo.setRoleType(role.getRoleType());
         // 获取当前角色的菜单列表
         List<SysMenu> menus = menuService.selectListByRoleId(roleId);
-        if(menus.size()==0){
-            return AjaxResult.success(new ArrayList<>());
-        }
         List<Long> menusId = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList());
-
         // 获取当前的权限菜单(有层级)
-        List<SysMenu> levelMenus = roleService.getMenuLevelList(menusId);
-
-        roleInfoVo.setMenus(menusId);
+        if (!menusId.isEmpty()){
+            List<SysMenu> levelMenus = roleService.getMenuLevelList(menusId);
+            roleInfoVo.setMenus(menusId);
+        }else{
+            roleInfoVo.setMenus(new ArrayList<>());
+        }
         return AjaxResult.success(roleInfoVo);
     }
 
@@ -236,6 +250,13 @@
         List<Long> id = new ArrayList<>();
         for (String s : split) {
             id.add(Long.valueOf(s));
+            int i = sysUserRoleMapper.countUserRoleByRoleId(Long.valueOf(s));
+            if (i > 0) {
+                SysRole sysRole = roleService.selectRoleById(Long.valueOf(s));
+
+                return AjaxResult.error("角色"+sysRole.getRoleName()+"下有员工,不可删除");
+            }
+
         }
         return AjaxResult.success(roleService.deleteRoleByIds(id));
     }

--
Gitblit v1.7.1