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 | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 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 52100ba..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,8 +7,10 @@ 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.*; @@ -47,6 +49,8 @@ private ISysRoleService roleService; @Autowired + private SysUserRoleMapper sysUserRoleMapper; + @Autowired private TokenService tokenService; @Autowired @@ -62,7 +66,6 @@ @Autowired private TTemplateService templateService; - @PreAuthorize("@ss.hasPermi('system:role')") @ApiOperation(value = "角色列表") @PostMapping("/list") public AjaxResult list(@RequestBody SysRoleQuery query) @@ -71,7 +74,6 @@ return AjaxResult.success(list); } - @PreAuthorize("@ss.hasPermi('system:role')") @ApiOperation(value = "角色列表不分页") @PostMapping("/listNotPage") public AjaxResult list() @@ -86,7 +88,10 @@ TTemplate byId = templateService.getById(templateId); SysRole sysRole = roleService.selectRoleById(byId.getRoleId()); List<SysRole> sysRoles = new ArrayList<>(); - sysRoles.add(sysRole); + if (sysRole!=null){ + sysRoles.add(sysRole); + + } return AjaxResult.success(sysRoles); } @PreAuthorize("@ss.hasPermi('system:role:count')") @@ -136,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); } @@ -246,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