-- ============================================================
-- 系统菜单初始化 - UDP调试工具
-- ============================================================

-- 插入UDP调试菜单项
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `remark`, `create_by`, `create_time`)
VALUES 
( -- 工具菜单父级
  (SELECT IFNULL(MAX(menu_id), 0) + 1 FROM sys_menu WHERE menu_type = 'M' AND menu_name LIKE '%工具%'),
  '工具管理',
  (SELECT menu_id FROM sys_menu WHERE menu_name = '系统工具' AND menu_type = 'M' LIMIT 1),
  99,
  '/tool',
  NULL,
  NULL,
  'Tool',
  1,
  '0',
  'M',
  '0',
  '0',
  'tool:index',
  'tool',
  '系统工具菜单',
  'admin',
  NOW()
)
ON DUPLICATE KEY UPDATE menu_name = VALUES(menu_name);

SET @tool_parent_id = LAST_INSERT_ID();

INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `remark`, `create_by`, `create_time`)
VALUES 
(
  (SELECT IFNULL(MAX(menu_id), 0) + 1 FROM sys_menu),
  'UDP调试工具',
  @tool_parent_id,
  1,
  '/tool/udp-debug',
  'views/tool/udp-debug',
  NULL,
  'UdpDebug',
  1,
  '0',
  'C',
  '0',
  '0',
  'mill:udp:debug',
  'udp',
  'UDP报文调试工具',
  'admin',
  NOW()
)
ON DUPLICATE KEY UPDATE menu_name = VALUES(menu_name);

-- 为管理员角色分配权限
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`) 
SELECT 
  (SELECT role_id FROM sys_role WHERE role_name = '超级管理员'),
  menu_id 
FROM sys_menu 
WHERE menu_name IN ('工具管理', 'UDP调试工具');

-- 为其他常用角色分配权限（可选）
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`) 
SELECT 
  r.role_id,
  m.menu_id
FROM sys_role r, sys_menu m
WHERE r.role_name IN ('运维人员', '开发人员')
  AND m.menu_name = 'UDP调试工具';

COMMIT;