吴羡
10 天以前 1c52e77d77d0e924a1df0725c0748afde172ad68
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -64,6 +64,27 @@
        return selectMenuList(new SysMenu(), userId);
    }
    @Override
    public List<SysMenu> selectRoleMenuList(Long userId)
    {
        List<SysMenu> menus = new ArrayList<>(selectMenuList(userId));
        Set<Long> visibleIds = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toSet());
        // 角色管理员可分配委托单删除权限,无需先拥有删除业务数据的权限。
        // 仅在已有委托下单父菜单下补充该按钮,其他菜单仍遵循原有可见范围。
        for (SysMenu menu : menuMapper.selectMenuList(new SysMenu()))
        {
            if ("delete:insOrder".equals(menu.getPerms())
                    && "F".equals(menu.getMenuType())
                    && "0".equals(menu.getStatus())
                    && visibleIds.contains(menu.getParentId())
                    && visibleIds.add(menu.getMenuId()))
            {
                menus.add(menu);
            }
        }
        return menus;
    }
    /**
     * 查询系统菜单列表
     *