无关风月
19 小时以前 25b19e60e004290531f61fdf608d1adb5e531903
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()
@@ -139,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);
    }
@@ -249,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));
    }