-- ============================================
-- 首页菜单诊断和修复脚本
-- ============================================

-- 1. 首先查看当前菜单表结构
DESCRIBE eb_system_menu;

-- 2. 查看现有的一级菜单（pid=0）
SELECT id, pid, name, icon, component, menu_type, sort, is_show, is_delte 
FROM eb_system_menu 
WHERE pid = 0 
ORDER BY sort DESC, id ASC;

-- 3. 查看是否已存在首页相关菜单
SELECT * FROM eb_system_menu WHERE name LIKE '%首页%' OR name LIKE '%控制台%' OR component LIKE '%home%';

-- 4. 查看当前最大的菜单ID
SELECT MAX(id) as max_id FROM eb_system_menu;

-- 5. 查看角色表
SELECT * FROM eb_system_role WHERE id = 1;

-- 6. 查看当前管理员的角色
SELECT id, account, real_name, roles FROM eb_system_admin LIMIT 5;

-- ============================================
-- 修复步骤（根据诊断结果选择执行）
-- ============================================

-- 方案A：如果首页菜单不存在，插入新记录
-- 注意：先执行上面的查询，确认 id 600, 601 不存在

-- 删除可能存在的旧记录（如果之前插入过）
DELETE FROM eb_system_menu WHERE id IN (600, 601, 789, 790);
DELETE FROM eb_system_role_menu WHERE menu_id IN (600, 601, 789, 790);

-- 插入首页一级菜单（sort=300 确保排在最前面）
INSERT INTO `eb_system_menu` (`id`, `pid`, `name`, `icon`, `perms`, `component`, `menu_type`, `sort`, `is_show`, `is_delte`, `create_time`, `update_time`) 
VALUES (600, 0, '首页', 'el-icon-s-home', '', '/home', 'M', 300, 1, 0, NOW(), NOW());

-- 插入控制台子菜单
INSERT INTO `eb_system_menu` (`id`, `pid`, `name`, `icon`, `perms`, `component`, `menu_type`, `sort`, `is_show`, `is_delte`, `create_time`, `update_time`) 
VALUES (601, 600, '控制台', '', 'admin:dashboard:index', '/home/index', 'C', 0, 1, 0, NOW(), NOW());

-- 为角色1（超级管理员）添加菜单权限（如果不是超管角色需要这个）
INSERT INTO `eb_system_role_menu` (`rid`, `menu_id`) VALUES (1, 600);
INSERT INTO `eb_system_role_menu` (`rid`, `menu_id`) VALUES (1, 601);

-- 7. 验证插入结果
SELECT id, pid, name, icon, component, menu_type, sort, is_show, is_delte 
FROM eb_system_menu 
WHERE id IN (600, 601);

-- 8. 验证角色菜单关联
SELECT * FROM eb_system_role_menu WHERE menu_id IN (600, 601);
