-- =============================================
-- 验证知识库管理菜单是否添加成功
-- =============================================

-- 1. 查看知识库管理菜单
SELECT menu_id, menu_name, parent_id, path, component, perms, visible, status
FROM sys_menu 
WHERE menu_name = '知识库管理';

-- 2. 查看知识库管理的子菜单（按钮权限）
SELECT menu_id, menu_name, parent_id, perms, menu_type
FROM sys_menu 
WHERE menu_name LIKE '知识库%'
ORDER BY menu_id;

-- 3. 查看当前用户的角色
SELECT r.role_id, r.role_name, r.role_key
FROM sys_role r
INNER JOIN sys_user_role ur ON r.role_id = ur.role_id
INNER JOIN sys_user u ON ur.user_id = u.user_id
WHERE u.user_name = 'admin';  -- 改为你的用户名

-- 4. 查看角色是否有知识库管理权限
SELECT rm.role_id, r.role_name, m.menu_id, m.menu_name
FROM sys_role_menu rm
INNER JOIN sys_role r ON rm.role_id = r.role_id
INNER JOIN sys_menu m ON rm.menu_id = m.menu_id
WHERE m.menu_name LIKE '知识库%'
ORDER BY rm.role_id, m.menu_id;

-- 5. 如果第4步没有结果，执行以下SQL为管理员角色添加权限
-- 先查询管理员角色ID和知识库菜单ID
SELECT 
    (SELECT role_id FROM sys_role WHERE role_key = 'admin' LIMIT 1) AS admin_role_id,
    (SELECT GROUP_CONCAT(menu_id) FROM sys_menu WHERE menu_name LIKE '知识库%') AS knowledge_menu_ids;

-- 6. 手动添加权限（如果第4步没有结果）
-- 将下面的 1 改为实际的角色ID
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu 
WHERE menu_name LIKE '知识库%'
AND NOT EXISTS (
    SELECT 1 FROM sys_role_menu 
    WHERE role_id = 1 AND sys_role_menu.menu_id = sys_menu.menu_id
);

-- 7. 验证是否添加成功
SELECT '权限添加完成，请退出登录后重新登录' AS message;
