-- ============================================
-- 植物养护后台管理系统 - 初始化数据
-- 表前缀: sundynix_  使用单数形式
-- 执行前请确保数据库表已存在
-- ============================================

-- 清空现有数据（可选，谨慎使用）
-- DELETE FROM sundynix_role_menu;
-- DELETE FROM sundynix_user_role;
-- DELETE FROM sundynix_menu;
-- DELETE FROM sundynix_role;
-- DELETE FROM sundynix_user;
-- DELETE FROM sundynix_client;

-- ============================================
-- 客户端数据
-- ============================================
INSERT INTO sundynix_client (id, client_id, name, grant_type, active_timeout, created_at, updated_at) VALUES
('a1b2c3d4-e5f6-7890-abcd-ef1234567801', 'pc', 'PC管理端', 'password', 86400, NOW(), NOW()),
('a1b2c3d4-e5f6-7890-abcd-ef1234567802', 'mini', '小程序端', 'wechat', 604800, NOW(), NOW());

-- ============================================
-- 一级菜单
-- ============================================

-- 仪表盘
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('11111111-1111-1111-1111-111111111001', '0', 1, 'dashboard', '仪表盘', '/dashboard', '', 'menu.dashboard', 'dashboard', 1, NOW(), NOW());

-- 系统管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('11111111-1111-1111-1111-111111111002', '0', 1, 'system', '系统管理', '/system', '', 'menu.system', 'settings', 2, NOW(), NOW());

-- 植趣（新增一级菜单，包含社区和百科）
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('11111111-1111-1111-1111-111111111003', '0', 1, 'plantFun', '植趣', '/plant-fun', '', 'menu.plantFun', 'leaf', 3, NOW(), NOW());

-- ============================================
-- 系统管理 - 子菜单
-- ============================================

-- 用户管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222001', '11111111-1111-1111-1111-111111111002', 1, 'user', '用户管理', '/system/users', 'user:list', 'menu.system.user', 'users', 1, NOW(), NOW());

-- 角色管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222002', '11111111-1111-1111-1111-111111111002', 1, 'role', '角色管理', '/system/roles', 'role:list', 'menu.system.role', 'shield', 2, NOW(), NOW());

-- 菜单管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222003', '11111111-1111-1111-1111-111111111002', 1, 'menu', '菜单管理', '/system/menus', 'menu:list', 'menu.system.menu', 'menu', 3, NOW(), NOW());

-- 客户端管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222004', '11111111-1111-1111-1111-111111111002', 1, 'client', '客户端管理', '/system/clients', 'client:list', 'menu.system.client', 'monitor', 4, NOW(), NOW());

-- 文件管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222005', '11111111-1111-1111-1111-111111111002', 1, 'file', '文件管理', '/system/files', 'file:list', 'menu.system.file', 'folder', 5, NOW(), NOW());

-- ============================================
-- 植趣 - 子菜单（社区管理 + 百科管理）
-- ============================================

-- 社区管理（二级菜单）
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222101', '11111111-1111-1111-1111-111111111003', 1, 'community', '社区管理', '/community', '', 'menu.community', 'message', 1, NOW(), NOW());

-- 百科管理（二级菜单）
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('22222222-2222-2222-2222-222222222102', '11111111-1111-1111-1111-111111111003', 1, 'wiki', '百科管理', '/wiki', '', 'menu.wiki', 'book', 2, NOW(), NOW());

-- ============================================
-- 社区管理 - 子菜单（三级）
-- ============================================

-- 话题管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('33333333-3333-3333-3333-333333333001', '22222222-2222-2222-2222-222222222101', 1, 'topic', '话题管理', '/topics', 'topic:list', 'menu.community.topic', 'hash', 1, NOW(), NOW());

-- 帖子管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('33333333-3333-3333-3333-333333333002', '22222222-2222-2222-2222-222222222101', 1, 'post', '帖子管理', '/posts', 'post:list', 'menu.community.post', 'file-text', 2, NOW(), NOW());

-- ============================================
-- 百科管理 - 子菜单（三级）
-- ============================================

-- 分类管理
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('33333333-3333-3333-3333-333333333003', '22222222-2222-2222-2222-222222222102', 1, 'wikiClass', '分类管理', '/categories', 'wikiClass:list', 'menu.wiki.class', 'folder-tree', 1, NOW(), NOW());

-- 植物百科
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('33333333-3333-3333-3333-333333333004', '22222222-2222-2222-2222-222222222102', 1, 'plant', '植物百科', '/plants', 'wiki:list', 'menu.wiki.plant', 'leaf', 2, NOW(), NOW());

-- ============================================
-- 按钮权限（category = 2）
-- ============================================

-- 用户管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444001', '22222222-2222-2222-2222-222222222001', 2, 'userAdd', '新增用户', '', 'user:add', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444002', '22222222-2222-2222-2222-222222222001', 2, 'userEdit', '编辑用户', '', 'user:edit', '', '', 2, NOW(), NOW()),
('44444444-4444-4444-4444-444444444003', '22222222-2222-2222-2222-222222222001', 2, 'userDelete', '删除用户', '', 'user:delete', '', '', 3, NOW(), NOW()),
('44444444-4444-4444-4444-444444444004', '22222222-2222-2222-2222-222222222001', 2, 'userGrant', '分配角色', '', 'user:grant', '', '', 4, NOW(), NOW());

-- 角色管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444005', '22222222-2222-2222-2222-222222222002', 2, 'roleAdd', '新增角色', '', 'role:add', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444006', '22222222-2222-2222-2222-222222222002', 2, 'roleEdit', '编辑角色', '', 'role:edit', '', '', 2, NOW(), NOW()),
('44444444-4444-4444-4444-444444444007', '22222222-2222-2222-2222-222222222002', 2, 'roleDelete', '删除角色', '', 'role:delete', '', '', 3, NOW(), NOW()),
('44444444-4444-4444-4444-444444444008', '22222222-2222-2222-2222-222222222002', 2, 'roleGrant', '授权菜单', '', 'role:grant', '', '', 4, NOW(), NOW());

-- 菜单管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444009', '22222222-2222-2222-2222-222222222003', 2, 'menuAdd', '新增菜单', '', 'menu:add', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444010', '22222222-2222-2222-2222-222222222003', 2, 'menuEdit', '编辑菜单', '', 'menu:edit', '', '', 2, NOW(), NOW()),
('44444444-4444-4444-4444-444444444011', '22222222-2222-2222-2222-222222222003', 2, 'menuDelete', '删除菜单', '', 'menu:delete', '', '', 3, NOW(), NOW());

-- 话题管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444012', '33333333-3333-3333-3333-333333333001', 2, 'topicAdd', '新增话题', '', 'topic:add', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444013', '33333333-3333-3333-3333-333333333001', 2, 'topicEdit', '编辑话题', '', 'topic:edit', '', '', 2, NOW(), NOW()),
('44444444-4444-4444-4444-444444444014', '33333333-3333-3333-3333-333333333001', 2, 'topicDelete', '删除话题', '', 'topic:delete', '', '', 3, NOW(), NOW());

-- 帖子管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444015', '33333333-3333-3333-3333-333333333002', 2, 'postReview', '审核帖子', '', 'post:review', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444016', '33333333-3333-3333-3333-333333333002', 2, 'postDelete', '删除帖子', '', 'post:delete', '', '', 2, NOW(), NOW());

-- 分类管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444017', '33333333-3333-3333-3333-333333333003', 2, 'classAdd', '新增分类', '', 'wikiClass:add', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444018', '33333333-3333-3333-3333-333333333003', 2, 'classEdit', '编辑分类', '', 'wikiClass:edit', '', '', 2, NOW(), NOW()),
('44444444-4444-4444-4444-444444444019', '33333333-3333-3333-3333-333333333003', 2, 'classDelete', '删除分类', '', 'wikiClass:delete', '', '', 3, NOW(), NOW());

-- 植物百科按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444020', '33333333-3333-3333-3333-333333333004', 2, 'wikiAdd', '新增百科', '', 'wiki:add', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444021', '33333333-3333-3333-3333-333333333004', 2, 'wikiEdit', '编辑百科', '', 'wiki:edit', '', '', 2, NOW(), NOW()),
('44444444-4444-4444-4444-444444444022', '33333333-3333-3333-3333-333333333004', 2, 'wikiDelete', '删除百科', '', 'wiki:delete', '', '', 3, NOW(), NOW());

-- 文件管理按钮
INSERT INTO sundynix_menu (id, parent_id, category, name, title, code, permission, locale, icon, sort, created_at, updated_at) VALUES
('44444444-4444-4444-4444-444444444023', '22222222-2222-2222-2222-222222222005', 2, 'fileUpload', '上传文件', '', 'file:upload', '', '', 1, NOW(), NOW()),
('44444444-4444-4444-4444-444444444024', '22222222-2222-2222-2222-222222222005', 2, 'fileDelete', '删除文件', '', 'file:delete', '', '', 2, NOW(), NOW());

-- ============================================
-- 角色数据
-- ============================================

INSERT INTO sundynix_role (id, name, code, sort, created_at, updated_at) VALUES
('55555555-5555-5555-5555-555555555001', '超级管理员', 'admin', 1, NOW(), NOW()),
('55555555-5555-5555-5555-555555555002', '运营管理员', 'operator', 2, NOW(), NOW()),
('55555555-5555-5555-5555-555555555003', '内容编辑', 'editor', 3, NOW(), NOW()),
('55555555-5555-5555-5555-555555555004', '普通用户', 'user', 4, NOW(), NOW());

-- ============================================
-- 角色菜单关联
-- ============================================

-- 超级管理员 - 拥有所有菜单权限
INSERT INTO sundynix_role_menu (role_id, menu_id) 
SELECT '55555555-5555-5555-5555-555555555001', id FROM sundynix_menu;

-- 运营管理员 - 仪表盘 + 植趣（社区+百科）
INSERT INTO sundynix_role_menu (role_id, menu_id) VALUES
('55555555-5555-5555-5555-555555555002', '11111111-1111-1111-1111-111111111001'),
('55555555-5555-5555-5555-555555555002', '11111111-1111-1111-1111-111111111003'),
('55555555-5555-5555-5555-555555555002', '22222222-2222-2222-2222-222222222101'),
('55555555-5555-5555-5555-555555555002', '22222222-2222-2222-2222-222222222102'),
('55555555-5555-5555-5555-555555555002', '33333333-3333-3333-3333-333333333001'),
('55555555-5555-5555-5555-555555555002', '33333333-3333-3333-3333-333333333002'),
('55555555-5555-5555-5555-555555555002', '33333333-3333-3333-3333-333333333003'),
('55555555-5555-5555-5555-555555555002', '33333333-3333-3333-3333-333333333004'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444012'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444013'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444014'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444015'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444016'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444017'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444018'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444019'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444020'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444021'),
('55555555-5555-5555-5555-555555555002', '44444444-4444-4444-4444-444444444022');

-- 内容编辑 - 仪表盘 + 百科管理（无删除权限）
INSERT INTO sundynix_role_menu (role_id, menu_id) VALUES
('55555555-5555-5555-5555-555555555003', '11111111-1111-1111-1111-111111111001'),
('55555555-5555-5555-5555-555555555003', '11111111-1111-1111-1111-111111111003'),
('55555555-5555-5555-5555-555555555003', '22222222-2222-2222-2222-222222222102'),
('55555555-5555-5555-5555-555555555003', '33333333-3333-3333-3333-333333333003'),
('55555555-5555-5555-5555-555555555003', '33333333-3333-3333-3333-333333333004'),
('55555555-5555-5555-5555-555555555003', '44444444-4444-4444-4444-444444444017'),
('55555555-5555-5555-5555-555555555003', '44444444-4444-4444-4444-444444444018'),
('55555555-5555-5555-5555-555555555003', '44444444-4444-4444-4444-444444444020'),
('55555555-5555-5555-5555-555555555003', '44444444-4444-4444-4444-444444444021');

-- 普通用户 - 只有仪表盘
INSERT INTO sundynix_role_menu (role_id, menu_id) VALUES
('55555555-5555-5555-5555-555555555004', '11111111-1111-1111-1111-111111111001');

-- ============================================
-- 用户数据
-- ============================================

INSERT INTO sundynix_user (id, account, name, nick_name, phone, client_id, created_at, updated_at) VALUES
('66666666-6666-6666-6666-666666666001', 'admin', '超级管理员', '管理员', '13800138000', 'pc', NOW(), NOW()),
('66666666-6666-6666-6666-666666666002', 'operator', '运营管理员', '小运营', '13800138001', 'pc', NOW(), NOW()),
('66666666-6666-6666-6666-666666666003', 'editor', '内容编辑', '小编辑', '13800138002', 'pc', NOW(), NOW()),
('66666666-6666-6666-6666-666666666004', 'test', '测试用户', '测试', '13800138003', 'pc', NOW(), NOW());

-- ============================================
-- 用户角色关联
-- ============================================

INSERT INTO sundynix_user_role (user_id, role_id) VALUES
('66666666-6666-6666-6666-666666666001', '55555555-5555-5555-5555-555555555001'),
('66666666-6666-6666-6666-666666666002', '55555555-5555-5555-5555-555555555002'),
('66666666-6666-6666-6666-666666666003', '55555555-5555-5555-5555-555555555003'),
('66666666-6666-6666-6666-666666666004', '55555555-5555-5555-5555-555555555004');

-- ============================================
-- 验证数据
-- ============================================
-- SELECT id, parent_id, title, code FROM sundynix_menu WHERE category = 1 ORDER BY sort;
-- SELECT * FROM sundynix_role;
-- SELECT u.account, r.name FROM sundynix_user u JOIN sundynix_user_role ur ON u.id = ur.user_id JOIN sundynix_role r ON ur.role_id = r.id;
