-- 初始化权限相关基础数据（与 sys schema 对应）
-- 包含：部门、角色、模块、权限、视图及其关联关系

-- =============================
-- 1. 初始化根部门
-- =============================
INSERT INTO sys.tb_sys_dept (
  optsn, dept_id, name, parent_id, dept_path, description, 
  creator, create_time, deleted
) VALUES
('DEPT-0001', 'dept_root', '根部门', NULL, '/dept_root/', '系统根部门', 
 'system', now(), false);

-- =============================
-- 2. 初始化全局角色
-- =============================
INSERT INTO sys.tb_sys_role (
  optsn, role_id, name, description, scope, owner_dept_id, 
  status, creator, dept_path, create_time, deleted
) VALUES
-- 超级管理员（全局）
('ROLE-0001', 'role_super_admin', '超级管理员', '拥有系统所有权限的最高管理员', 
 'global', NULL, true, 'system', NULL, now(), false),

-- 系统管理员（全局）
('ROLE-0002', 'role_system_admin', '系统管理员', '负责系统配置和用户管理', 
 'global', NULL, true, 'system', NULL, now(), false),

-- 普通用户（全局）
('ROLE-0003', 'role_user', '普通用户', '系统普通用户角色', 
 'global', NULL, true, 'system', NULL, now(), false),

-- 访客（全局）- 注册用户默认角色，具备客服聊天和工单的所有接口权限
('ROLE-0004', 'role_guest', '访客', '访客角色，具备客服聊天和工单的所有接口权限', 
 'global', NULL, true, 'system', NULL, now(), false);

-- =============================
-- 3. 初始化系统模块
-- =============================
INSERT INTO sys.tb_sys_module (
  optsn, module_id, name, description, creator, dept_path, create_time, deleted
) VALUES
('MODULE-0001', 'module_system', '系统管理', '用户、角色、权限、部门管理', 'system', NULL, now(), false),
('MODULE-0002', 'module_file', '文件管理', '文件上传、下载、关联管理', 'system', NULL, now(), false),
('MODULE-0003', 'module_message', '消息通知', '消息发送、接收、模板管理', 'system', NULL, now(), false),
('MODULE-0004', 'module_config', '配置管理', '系统配置参数管理', 'system', NULL, now(), false),
('MODULE-0008', 'module_agent', '智能体', '智能体管理', 'system', NULL, now(), false),
('MODULE-0005', 'module_knowledge', '知识库', '知识文档管理', 'system', NULL, now(), false),
('MODULE-0006', 'module_bidding', '招投标', '招投标业务管理', 'system', NULL, now(), false),
('MODULE-0007', 'module_workcase', '智能客服', '客服工单管理', 'system', NULL, now(), false),
('MODULE-0009', 'module_meeting', '视频会议', 'Jitsi Meet视频会议管理', 'system', NULL, now(), false);

-- =============================
-- 4. 初始化系统权限
-- =============================
INSERT INTO sys.tb_sys_permission (
  optsn, permission_id, name, code, description, module_id, status, creator, dept_path, create_time, deleted
) VALUES
-- 系统管理模块权限
('PERM-0001', 'perm_user_view', '用户查看', 'system:user:view', '查看用户列表和详情', 'module_system', true, 'system', NULL, now(), false),
('PERM-0002', 'perm_user_create', '用户创建', 'system:user:create', '创建新用户', 'module_system', true, 'system', NULL, now(), false),
('PERM-0003', 'perm_user_edit', '用户编辑', 'system:user:edit', '编辑用户信息', 'module_system', true, 'system', NULL, now(), false),
('PERM-0004', 'perm_user_delete', '用户删除', 'system:user:delete', '删除用户', 'module_system', true, 'system', NULL, now(), false),
('PERM-0011', 'perm_role_view', '角色查看', 'system:role:view', '查看角色列表和详情', 'module_system', true, 'system', NULL, now(), false),
('PERM-0012', 'perm_role_create', '角色创建', 'system:role:create', '创建新角色', 'module_system', true, 'system', NULL, now(), false),
('PERM-0013', 'perm_role_edit', '角色编辑', 'system:role:edit', '编辑角色信息', 'module_system', true, 'system', NULL, now(), false),
('PERM-0014', 'perm_role_delete', '角色删除', 'system:role:delete', '删除角色', 'module_system', true, 'system', NULL, now(), false),
('PERM-0021', 'perm_dept_view', '部门查看', 'system:dept:view', '查看部门列表和详情', 'module_system', true, 'system', NULL, now(), false),
('PERM-0022', 'perm_dept_create', '部门创建', 'system:dept:create', '创建新部门', 'module_system', true, 'system', NULL, now(), false),
('PERM-0023', 'perm_dept_edit', '部门编辑', 'system:dept:edit', '编辑部门信息', 'module_system', true, 'system', NULL, now(), false),
('PERM-0024', 'perm_dept_delete', '部门删除', 'system:dept:delete', '删除部门', 'module_system', true, 'system', NULL, now(), false),
('PERM-0031', 'perm_permission_view', '权限查看', 'system:permission:view', '查看权限列表', 'module_system', true, 'system', NULL, now(), false),
('PERM-0032', 'perm_permission_manage', '权限管理', 'system:permission:manage', '管理权限配置', 'module_system', true, 'system', NULL, now(), false),

-- 系统管理模块导出权限
('PERM-0041', 'perm_user_export', '用户导出', 'system:user:export', '导出用户数据', 'module_system', true, 'system', NULL, now(), false),
('PERM-0042', 'perm_role_export', '角色导出', 'system:role:export', '导出角色数据', 'module_system', true, 'system', NULL, now(), false),
('PERM-0043', 'perm_dept_export', '部门导出', 'system:dept:export', '导出部门数据', 'module_system', true, 'system', NULL, now(), false),

-- 文件管理模块权限
('PERM-0101', 'perm_file_view', '文件查看', 'file:file:view', '查看文件列表', 'module_file', true, 'system', NULL, now(), false),
('PERM-0102', 'perm_file_upload', '文件上传', 'file:file:upload', '上传文件', 'module_file', true, 'system', NULL, now(), false),
('PERM-0103', 'perm_file_download', '文件下载', 'file:file:download', '下载文件', 'module_file', true, 'system', NULL, now(), false),
('PERM-0104', 'perm_file_delete', '文件删除', 'file:file:delete', '删除文件', 'module_file', true, 'system', NULL, now(), false),
('PERM-0105', 'perm_file_export', '文件导出', 'file:file:export', '导出文件列表数据', 'module_file', true, 'system', NULL, now(), false),
--  智能体权限
('PERM-0120', 'perm_ai_create', '智能体创建', 'ai:agent:create', '创建智能体', 'module_agent', true, 'system', NULL, now(), false),
('PERM-0121', 'perm_ai_update', '智能体更新', 'ai:agent:update', '更新智能体', 'module_agent', true, 'system', NULL, now(), false),
('PERM-0122', 'perm_ai_delete', '智能体删除', 'ai:agent:delete', '删除智能体', 'module_agent', true, 'system', NULL, now(), false),
('PERM-0123', 'perm_ai_view', '智能体查询', 'ai:agent:view', '查询智能体', 'module_agent', true, 'system', NULL, now(), false),
-- 智能体对话权限 没有，因为所有人都可以
-- Dify代理功能权限（知识库分段管理）
('PERM-0130', 'perm_dify_segment_view', '分段查看', 'ai:dify:segment:view', '查看文档分段列表', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0131', 'perm_dify_segment_create', '分段创建', 'ai:dify:segment:create', '创建文档分段', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0132', 'perm_dify_segment_update', '分段更新', 'ai:dify:segment:update', '更新文档分段', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0133', 'perm_dify_segment_delete', '分段删除', 'ai:dify:segment:delete', '删除文档分段', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0134', 'perm_dify_document_status', '文档状态管理', 'ai:dify:document:status', '更新文档状态（启用/禁用/归档）', 'module_knowledge', true, 'system', NULL, now(), false),
-- 知识库管理权限
('PERM-0140', 'perm_knowledge_create', '知识库创建', 'ai:knowledge:create', '创建知识库', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0141', 'perm_knowledge_update', '知识库更新', 'ai:knowledge:update', '更新知识库', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0142', 'perm_knowledge_delete', '知识库删除', 'ai:knowledge:delete', '删除知识库', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0143', 'perm_knowledge_view', '知识库查看', 'ai:knowledge:view', '查看知识库列表和详情', 'module_knowledge', true, 'system', NULL, now(), false),
-- 知识库文件管理权限
('PERM-0150', 'perm_knowledge_file_upload', '知识库文件上传', 'ai:knowledge:file:upload', '上传文件到知识库', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0151', 'perm_knowledge_file_update', '知识库文件更新', 'ai:knowledge:file:update', '更新知识库文件信息', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0152', 'perm_knowledge_file_delete', '知识库文件删除', 'ai:knowledge:file:delete', '删除知识库文件', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0153', 'perm_knowledge_file_view', '知识库文件查看', 'ai:knowledge:file:view', '查看知识库文件历史', 'module_knowledge', true, 'system', NULL, now(), false),

-- 消息通知模块权限
('PERM-0201', 'perm_message_view', '消息查看', 'message:message:view', '查看消息列表', 'module_message', true, 'system', NULL, now(), false),
('PERM-0202', 'perm_message_send', '消息发送', 'message:message:send', '发送消息通知', 'module_message', true, 'system', NULL, now(), false),
('PERM-0203', 'perm_message_manage', '消息管理', 'message:message:manage', '管理消息模板和配置', 'module_message', true, 'system', NULL, now(), false),
('PERM-0204', 'perm_message_export', '消息导出', 'message:message:export', '导出消息数据', 'module_message', true, 'system', NULL, now(), false),
-- 配置管理模块权限
('PERM-0301', 'perm_config_view', '配置查看', 'config:config:view', '查看系统配置', 'module_config', true, 'system', NULL, now(), false),
('PERM-0302', 'perm_config_edit', '配置编辑', 'config:config:edit', '修改系统配置', 'module_config', true, 'system', NULL, now(), false),
('PERM-0303', 'perm_config_export', '配置导出', 'config:config:export', '导出系统配置数据', 'module_config', true, 'system', NULL, now(), false),
-- 日志模块权限
('PERM-0401', 'perm_log_view', '日志查看', 'log:log:view', '查看系统日志', 'module_system', true, 'system', NULL, now(), false),
('PERM-0402', 'perm_log_export', '日志导出', 'log:log:export', '导出系统日志数据', 'module_system', true, 'system', NULL, now(), false),
-- 平台基础菜单访问权限（所有登录用户都有）
('PERM-0501', 'perm_platform_home', '工作台访问', 'platform:home:view', '访问平台工作台', 'module_system', true, 'system', NULL, now(), false),
('PERM-0502', 'perm_platform_chat', 'AI助手访问', 'platform:chat:view', '访问AI助手', 'module_system', true, 'system', NULL, now(), false),
('PERM-0503', 'perm_platform_bidding', '招标助手访问', 'platform:bidding:view', '访问招标助手（iframe）', 'module_bidding', true, 'system', NULL, now(), false),
('PERM-0504', 'perm_platform_workcase', '泰豪小电访问', 'platform:workcase:view', '访问泰豪小电客服（iframe）', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0505', 'perm_platform_workflow', '智能体编排访问', 'platform:workflow:view', '访问智能体编排（iframe）', 'module_system', true, 'system', NULL, now(), false),
-- Platform 管理后台功能权限
('PERM-0601', 'perm_platform_admin', '平台管理后台', 'platform:admin:view', '访问平台管理后台', 'module_system', true, 'system', NULL, now(), false),
('PERM-0602', 'perm_platform_admin_overview', '平台数据概览', 'platform:admin:overview', '访问平台数据概览', 'module_system', true, 'system', NULL, now(), false),
('PERM-0603', 'perm_platform_admin_user', '平台用户管理', 'platform:admin:user', '访问平台用户管理', 'module_system', true, 'system', NULL, now(), false),
('PERM-0604', 'perm_platform_admin_knowledge', '平台知识库', 'platform:admin:knowledge', '访问平台知识库', 'module_knowledge', true, 'system', NULL, now(), false),
('PERM-0605', 'perm_platform_admin_config', '平台系统配置', 'platform:admin:config', '访问平台系统配置', 'module_config', true, 'system', NULL, now(), false),
-- Bidding 管理后台功能权限
('PERM-0611', 'perm_bidding_admin', '招标管理后台', 'bidding:admin:view', '访问招标管理后台', 'module_bidding', true, 'system', NULL, now(), false),
-- Workcase 管理后台功能权限
('PERM-0621', 'perm_workcase_admin', '客服管理后台', 'workcase:admin:view', '访问客服管理后台', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0622', 'perm_workcase_overview', '数据概览', 'workcase:overview:view', '访问泰豪小电数据概览', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0623', 'perm_workcase_knowledge', '知识库管理', 'workcase:knowledge:view', '访问知识库管理', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0624', 'perm_workcase_tickets', '工单管理', 'workcase:tickets:view', '访问工单管理', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0625', 'perm_workcase_conversation', '对话数据', 'workcase:conversation:view', '访问对话数据管理', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0626', 'perm_workcase_agent', '智能体管理', 'workcase:agent:view', '访问智能体管理', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0627', 'perm_workcase_log', '日志管理', 'workcase:log:view', '访问日志管理', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0628', 'perm_workcase_chatroom', '聊天室控制台', 'workcase:chatroom:view', '访问聊天室控制台', 'module_workcase', true, 'system', NULL, now(), false),

-- Workcase 接口权限（访客用户可用）
-- AI对话接口权限
('PERM-0701', 'perm_workcase_chat_create', 'AI对话创建', 'workcase:chat:create', '创建对话', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0702', 'perm_workcase_chat_update', 'AI对话更新', 'workcase:chat:update', '更新对话', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0703', 'perm_workcase_chat_list', 'AI对话查询', 'workcase:chat:list', '查询对话列表', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0704', 'perm_workcase_chat_message', 'AI对话消息', 'workcase:chat:message', '获取对话消息列表', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0705', 'perm_workcase_chat_stream', 'AI流式对话', 'workcase:chat:stream', '流式对话接口', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0706', 'perm_workcase_chat_analyze', 'AI对话分析', 'workcase:chat:analyze', '分析对话生成工单信息', 'module_workcase', true, 'system', NULL, now(), false),
-- 聊天室接口权限
('PERM-0711', 'perm_workcase_room_create', '聊天室创建', 'workcase:room:create', '创建聊天室', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0712', 'perm_workcase_room_update', '聊天室更新', 'workcase:room:update', '更新聊天室', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0713', 'perm_workcase_room_close', '聊天室关闭', 'workcase:room:close', '关闭聊天室', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0714', 'perm_workcase_room_view', '聊天室查看', 'workcase:room:view', '查看聊天室', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0715', 'perm_workcase_room_member', '聊天室成员', 'workcase:room:member', '管理聊天室成员', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0716', 'perm_workcase_room_message', '聊天室消息', 'workcase:room:message', '发送和查看聊天室消息', 'module_workcase', true, 'system', NULL, now(), false),
-- 工单接口权限
('PERM-0721', 'perm_workcase_ticket_create', '工单创建', 'workcase:ticket:create', '创建工单', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0722', 'perm_workcase_ticket_update', '工单更新', 'workcase:ticket:update', '更新工单', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0723', 'perm_workcase_ticket_view', '工单查看', 'workcase:ticket:view', '查看工单详情和列表', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0724', 'perm_workcase_ticket_process', '工单处理', 'workcase:ticket:process', '工单处理过程管理', 'module_workcase', true, 'system', NULL, now(), false),
('PERM-0725', 'perm_workcase_ticket_device', '工单设备', 'workcase:ticket:device', '工单设备管理', 'module_workcase', true, 'system', NULL, now(), false),

-- 视频会议模块权限（Jitsi Meet）
('PERM-0730', 'perm_meeting_create', '创建会议', 'meeting:create:own', '创建视频会议', 'module_meeting', true, 'system', NULL, now(), false),
('PERM-0731', 'perm_meeting_join', '加入会议', 'meeting:join:any', '加入视频会议', 'module_meeting', true, 'system', NULL, now(), false),
('PERM-0732', 'perm_meeting_url', '获取会议链接', 'meeting:url:any', '获取会议加入链接', 'module_meeting', true, 'system', NULL, now(), false),
('PERM-0733', 'perm_meeting_token', '获取会议令牌', 'meeting:token:any', '获取会议参与令牌', 'module_meeting', true, 'system', NULL, now(), false);

-- =============================
-- 5. 初始化视图（菜单）
-- =============================
INSERT INTO sys.tb_sys_view (
  optsn, view_id, name, parent_id, url, component, icon, type, 
  view_type, iframe_url, service, layout, order_num, description, 
  creator, create_time, deleted
) VALUES
-- =========================
-- 平台应用菜单 (platform)
-- =========================
-- 一级菜单 (图标使用 lucide-vue-next)
('VIEW-P002', 'view_platform_chat', '泰豪AI助手', NULL, '/aichat', 'public/Chat/AIChatView.vue', 'MessageCircle', 1, 
 'route', NULL, 'platform', 'SidebarLayout', 10, '泰豪AI助手-直接智能体对话', 'system', now(), false),
('VIEW-P001', 'view_platform_home', '全部应用', NULL, '/agents', 'public/Agents/AgentPlatformView.vue', 'LayoutGrid', 1, 
 'route', NULL, 'platform', 'SidebarLayout', 20, '全部智能体', 'system', now(), false),
-- iframe 嵌入菜单
-- url: platform中的路由路径（用于sidebar定位和路由跳转）
-- iframe_url: iframe的src地址（实际内容的URL）
('VIEW-P005', 'view_platform_workflow', '智能体编排', NULL, '/app/workflow', NULL, 'Workflow', 1, 
 'iframe', 'http://localhost:3000', 'platform', 'SidebarLayout', 30, 'Dify智能体编排（iframe）', 'system', now(), false),
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, '/app/bidding', NULL, 'FileText', 1, 
 'iframe', '/bidding/', 'platform', 'SidebarLayout', 40, '招标应用（iframe）', 'system', now(), false),
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, '/app/workcase', NULL, 'Headphones', 1, 
 'iframe', '/workcase/', 'platform', 'SidebarLayout', 50, '客服应用（iframe）', 'system', now(), false),


-- 平台管理后台内部视图（SubSidebarLayout布局，在platform服务内）
('VIEW-P201', 'view_platform_admin_overview', '数据概览', NULL, '/admin/overview', 'admin/overview/OverviewView.vue', 'BarChart3', 1, 
 'route', NULL, 'platform', 'SubSidebarLayout', 210, '平台数据概览', 'system', now(), false),
('VIEW-P202', 'view_platform_admin_user', '用户管理', NULL, '/admin/userManagement', 'admin/userManagement/UserManagementView.vue', 'Users', 1, 
 'route', NULL, 'platform', 'SubSidebarLayout', 220, '平台用户管理', 'system', now(), false),
('VIEW-P203', 'view_platform_admin_knowledge', '知识库', NULL, '/admin/knowledge', 'admin/knowledge/KnowledgeView.vue', 'FileText', 1, 
 'route', NULL, 'platform', 'SubSidebarLayout', 230, '平台知识库管理', 'system', now(), false),
('VIEW-P204', 'view_platform_admin_config', '系统配置', NULL, '/admin/config', 'admin/config/ConfigView.vue', 'Settings', 1, 
 'route', NULL, 'platform', 'SubSidebarLayout', 240, '平台系统配置', 'system', now(), false),

-- -- 系统管理目录
-- ('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0, 
--  'route', NULL, 'platform', 'SidebarLayout', 100, '系统管理目录', 'system', now(), false),
-- 
-- -- 系统管理子菜单
-- ('VIEW-P101', 'view_user', '用户管理', 'view_system', '/system/user', 'system/UserList', 'Users', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 10, '用户管理页面', 'system', now(), false),
-- 
-- ('VIEW-P102', 'view_role', '角色管理', 'view_system', '/system/role', 'system/RoleList', 'Shield', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 20, '角色管理页面', 'system', now(), false),
-- 
-- ('VIEW-P103', 'view_dept', '部门管理', 'view_system', '/system/dept', 'system/DeptList', 'Building', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 30, '部门管理页面', 'system', now(), false),
-- 
-- ('VIEW-P104', 'view_permission', '权限管理', 'view_system', '/system/permission', 'system/PermissionList', 'Lock', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 40, '权限管理页面', 'system', now(), false),
-- 
-- ('VIEW-P105', 'view_config', '配置管理', 'view_system', '/system/config', 'system/ConfigList', 'Settings', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 50, '配置管理页面', 'system', now(), false),
-- 
-- ('VIEW-P106', 'view_file', '文件管理', 'view_system', '/system/file', 'system/FileList', 'FileText', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 60, '文件管理页面', 'system', now(), false),
-- 
-- ('VIEW-P107', 'view_message', '消息管理', 'view_system', '/system/message', 'system/MessageList', 'Mail', 1, 
--  'route', NULL, 'platform', 'SidebarLayout', 70, '消息管理页面', 'system', now(), false),
-- 
-- -- =========================
-- -- 招标应用菜单 (bidding)
-- -- =========================
-- ('VIEW-B001', 'view_bidding_home', '首页', NULL, '/home', 'Home', 'House', 1, 
--  'route', NULL, 'bidding', 'DefaultLayout', 10, '招标应用首页', 'system', now(), false),
-- 
-- ('VIEW-B002', 'view_bidding_list', '招标列表', NULL, '/bidding/list', 'bidding/List', 'List', 1, 
--  'route', NULL, 'bidding', 'DefaultLayout', 20, '招标项目列表', 'system', now(), false),
-- 
-- ('VIEW-B003', 'view_bidding_detail', '招标详情', NULL, '/bidding/detail', 'bidding/Detail', 'Document', 1, 
--  'route', NULL, 'bidding', 'DefaultLayout', 30, '招标项目详情', 'system', now(), false),
-- 
-- ('VIEW-B004', 'view_bidding_offer', '投标管理', NULL, '/bidding/offer', 'bidding/Offer', 'Edit', 1, 
--  'route', NULL, 'bidding', 'DefaultLayout', 40, '投标管理页面', 'system', now(), false),

-- =========================
-- 客服应用菜单 (workcase) - 图标使用 lucide-vue-next
-- =========================
-- 用户端视图
('VIEW-W001', 'view_workcase_home', '智能客服', NULL, '/aichat', 'public/AIChat/AIChatView.vue', 'Home', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 10, '智能客服首页', 'system', now(), false),

('VIEW-W002', 'view_workcase_chatroom', '聊天室控制台', NULL, '/chatroom', 'public/ChatRoom/ChatRoomView.vue', 'MessageSquare', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 20, '实时聊天室控制台', 'system', now(), false),

-- 管理端视图（使用 SubSidebarLayout 布局）
('VIEW-W101', 'view_workcase_admin_overview', '数据概览', NULL, '/admin/overview', 'admin/overview/OverviewView.vue', 'BarChart3', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 110, '泰豪小电数据概览', 'system', now(), false),

('VIEW-W102', 'view_workcase_admin_knowledge', '知识库管理', NULL, '/admin/knowledge', 'admin/knowledge/KnowLedgeView.vue', 'FileText', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 120, '知识库文档管理', 'system', now(), false),

('VIEW-W103', 'view_workcase_admin_tickets', '工单管理', NULL, '/admin/workcase', 'admin/workcase/WorkcaseView.vue', 'Ticket', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 130, '客服工单管理', 'system', now(), false),

('VIEW-W104', 'view_workcase_admin_conversation', '对话数据', NULL, '/admin/customerChat', 'admin/customerChat/CustomerChatView.vue', 'MessageCircle', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 140, '客户对话数据管理', 'system', now(), false),

('VIEW-W105', 'view_workcase_admin_agent', '智能体管理', NULL, '/admin/agent', 'admin/agent/AgentView.vue', 'Bot', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 150, '智能体配置管理', 'system', now(), false),

-- 日志管理（带子级的目录）
('VIEW-W106', 'view_workcase_admin_log', '日志管理', NULL, '/admin/log', NULL, 'ScrollText', 1, 
 'route', NULL, 'workcase', 'SubSidebarLayout', 160, '日志管理目录', 'system', now(), false),

('VIEW-W107', 'view_workcase_admin_log_knowledge', '知识库日志', 'view_workcase_admin_log', '/admin/log/knowledge', 'admin/log/knowledgeLog/KnowledgeLogView.vue', 'FileText', 1, 
 'route', NULL, 'workcase', NULL, 161, '知识库操作日志', 'system', now(), false),

('VIEW-W108', 'view_workcase_admin_log_workcase', '工单日志', 'view_workcase_admin_log', '/admin/log/workcase', 'admin/log/workcaseLog/WorkcaseLogView.vue', 'Ticket', 1, 
 'route', NULL, 'workcase', NULL, 162, '工单操作日志', 'system', now(), false),

('VIEW-W109', 'view_workcase_admin_log_system', '系统日志', 'view_workcase_admin_log', '/admin/log/system', 'admin/log/systemLog/SystemLogView.vue', 'Settings', 1, 
 'route', NULL, 'workcase', NULL, 163, '系统运行日志', 'system', now(), false);

-- =============================
-- 6. 角色权限关联（超级管理员拥有所有权限）
-- =============================
INSERT INTO sys.tb_sys_role_permission (
  optsn, role_id, permission_id, creator, dept_path, create_time, deleted
)
SELECT 
  'RP-' || LPAD(ROW_NUMBER() OVER (ORDER BY permission_id)::TEXT, 4, '0'),
  'role_super_admin',
  permission_id,
  'system',
  NULL,
  now(),
  false
FROM sys.tb_sys_permission
WHERE deleted = false;

-- 系统管理员权限（除了用户删除外的系统管理权限 + 所有平台基础菜单）
INSERT INTO sys.tb_sys_role_permission (
  optsn, role_id, permission_id, creator, dept_path, create_time, deleted
)
SELECT 
  'RP-SA-' || LPAD(ROW_NUMBER() OVER (ORDER BY permission_id)::TEXT, 4, '0'),
  'role_system_admin',
  permission_id,
  'system',
  NULL,
  now(),
  false
FROM sys.tb_sys_permission
WHERE deleted = false 
  AND code NOT IN ('system:user:delete', 'system:role:delete', 'system:dept:delete')
  AND (
    module_id IN ('module_system', 'module_file', 'module_message', 'module_config', 'module_bidding', 'module_workcase')
    OR code LIKE 'platform:%:view'  -- 包含所有平台基础菜单权限
  );

-- 普通用户权限（基础查看和文件操作 + 平台基础菜单访问）
INSERT INTO sys.tb_sys_role_permission (
  optsn, role_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
-- 平台基础菜单访问权限
('RP-U-0001', 'role_user', 'perm_platform_home', 'system', NULL, now(), false),
('RP-U-0002', 'role_user', 'perm_platform_chat', 'system', NULL, now(), false),
('RP-U-0003', 'role_user', 'perm_platform_bidding', 'system', NULL, now(), false),
('RP-U-0004', 'role_user', 'perm_platform_workcase', 'system', NULL, now(), false),
('RP-U-0005', 'role_user', 'perm_platform_workflow', 'system', NULL, now(), false),
-- 系统功能权限
('RP-U-0011', 'role_user', 'perm_user_view', 'system', NULL, now(), false),
('RP-U-0012', 'role_user', 'perm_file_view', 'system', NULL, now(), false),
('RP-U-0013', 'role_user', 'perm_file_upload', 'system', NULL, now(), false),
('RP-U-0014', 'role_user', 'perm_file_download', 'system', NULL, now(), false),
('RP-U-0015', 'role_user', 'perm_message_view', 'system', NULL, now(), false),
('RP-U-0016', 'role_user', 'perm_config_view', 'system', NULL, now(), false),
--- 视频会议权限
('RP-U-0050', 'role_user', 'perm_meeting_create', 'system', NULL, now(), false),
('RP-U-0051', 'role_user', 'perm_meeting_join', 'system', NULL, now(), false),
('RP-U-0052', 'role_user', 'perm_meeting_url', 'system', NULL, now(), false),
('RP-U-0053', 'role_user', 'perm_meeting_token', 'system', NULL, now(), false);

-- 访客权限（基础菜单 + workcase聊天和工单全部接口权限）
INSERT INTO sys.tb_sys_role_permission (
  optsn, role_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
-- 平台基础菜单访问权限
('RP-G-0001', 'role_guest', 'perm_platform_home', 'system', NULL, now(), false),
('RP-G-0002', 'role_guest', 'perm_platform_chat', 'system', NULL, now(), false),
('RP-G-0003', 'role_guest', 'perm_platform_workcase', 'system', NULL, now(), false),
-- 系统功能权限（仅查看）
('RP-G-0011', 'role_guest', 'perm_user_view', 'system', NULL, now(), false),
('RP-G-0012', 'role_guest', 'perm_file_view', 'system', NULL, now(), false),
('RP-G-0013', 'role_guest', 'perm_message_view', 'system', NULL, now(), false),
-- Workcase AI对话接口权限
('RP-G-0021', 'role_guest', 'perm_workcase_chat_create', 'system', NULL, now(), false),
('RP-G-0022', 'role_guest', 'perm_workcase_chat_update', 'system', NULL, now(), false),
('RP-G-0023', 'role_guest', 'perm_workcase_chat_list', 'system', NULL, now(), false),
('RP-G-0024', 'role_guest', 'perm_workcase_chat_message', 'system', NULL, now(), false),
('RP-G-0025', 'role_guest', 'perm_workcase_chat_stream', 'system', NULL, now(), false),
('RP-G-0026', 'role_guest', 'perm_workcase_chat_analyze', 'system', NULL, now(), false),
-- Workcase 聊天室接口权限
('RP-G-0031', 'role_guest', 'perm_workcase_room_create', 'system', NULL, now(), false),
('RP-G-0032', 'role_guest', 'perm_workcase_room_update', 'system', NULL, now(), false),
('RP-G-0033', 'role_guest', 'perm_workcase_room_close', 'system', NULL, now(), false),
('RP-G-0034', 'role_guest', 'perm_workcase_room_view', 'system', NULL, now(), false),
('RP-G-0035', 'role_guest', 'perm_workcase_room_member', 'system', NULL, now(), false),
('RP-G-0036', 'role_guest', 'perm_workcase_room_message', 'system', NULL, now(), false),
('RP-G-0037', 'role_guest', 'perm_workcase_chatroom', 'system', NULL, now(), false),
-- Workcase 工单接口权限
('RP-G-0041', 'role_guest', 'perm_workcase_ticket_create', 'system', NULL, now(), false),
('RP-G-0042', 'role_guest', 'perm_workcase_ticket_update', 'system', NULL, now(), false),
('RP-G-0043', 'role_guest', 'perm_workcase_ticket_view', 'system', NULL, now(), false),
('RP-G-0044', 'role_guest', 'perm_workcase_ticket_process', 'system', NULL, now(), false),
('RP-G-0045', 'role_guest', 'perm_workcase_ticket_device', 'system', NULL, now(), false),
--- 视频会议权限
('RP-G-0050', 'role_guest', 'perm_meeting_create', 'system', NULL, now(), false),
('RP-G-0051', 'role_guest', 'perm_meeting_join', 'system', NULL, now(), false),
('RP-G-0052', 'role_guest', 'perm_meeting_url', 'system', NULL, now(), false),
('RP-G-0053', 'role_guest', 'perm_meeting_token', 'system', NULL, now(), false);

-- =============================
-- 7. 视图权限关联
-- =============================
-- 将视图与对应模块的权限关联（使用真正的 view_id，不是 optsn）
INSERT INTO sys.tb_sys_view_permission (
  optsn, view_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
-- 平台基础菜单权限关联（所有登录用户都可访问）
('VP-P001', 'view_platform_home', 'perm_platform_home', 'system', NULL, now(), false),
('VP-P002', 'view_platform_chat', 'perm_platform_chat', 'system', NULL, now(), false),
('VP-P003', 'view_platform_bidding', 'perm_platform_bidding', 'system', NULL, now(), false),
('VP-P004', 'view_platform_workcase', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-P005', 'view_platform_workflow', 'perm_platform_workflow', 'system', NULL, now(), false),

-- 管理后台入口权限关联（iframe入口）
('VP-P101', 'view_platform_admin_entry', 'perm_platform_admin', 'system', NULL, now(), false),
('VP-P102', 'view_bidding_admin_entry', 'perm_bidding_admin', 'system', NULL, now(), false),
('VP-P103', 'view_workcase_admin_entry', 'perm_workcase_admin', 'system', NULL, now(), false),

-- 平台管理后台内部视图权限关联（SubSidebarLayout）
('VP-P201', 'view_platform_admin_overview', 'perm_platform_admin_overview', 'system', NULL, now(), false),
('VP-P202', 'view_platform_admin_user', 'perm_platform_admin_user', 'system', NULL, now(), false),
('VP-P203', 'view_platform_admin_knowledge', 'perm_platform_admin_knowledge', 'system', NULL, now(), false),
('VP-P204', 'view_platform_admin_config', 'perm_platform_admin_config', 'system', NULL, now(), false),

-- Workcase服务用户端视图关联
('VP-W001', 'view_workcase_home', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-W002', 'view_workcase_chatroom', 'perm_workcase_chatroom', 'system', NULL, now(), false),

-- Workcase服务管理端视图关联
('VP-W101', 'view_workcase_admin_overview', 'perm_workcase_overview', 'system', NULL, now(), false),
('VP-W102', 'view_workcase_admin_knowledge', 'perm_workcase_knowledge', 'system', NULL, now(), false),
('VP-W103', 'view_workcase_admin_tickets', 'perm_workcase_tickets', 'system', NULL, now(), false),
('VP-W104', 'view_workcase_admin_conversation', 'perm_workcase_conversation', 'system', NULL, now(), false),
('VP-W105', 'view_workcase_admin_agent', 'perm_workcase_agent', 'system', NULL, now(), false),

-- 日志管理视图关联（包括父级和子级）
('VP-W106', 'view_workcase_admin_log', 'perm_workcase_log', 'system', NULL, now(), false),
('VP-W107', 'view_workcase_admin_log_knowledge', 'perm_workcase_log', 'system', NULL, now(), false),
('VP-W108', 'view_workcase_admin_log_workcase', 'perm_workcase_log', 'system', NULL, now(), false),
('VP-W109', 'view_workcase_admin_log_system', 'perm_workcase_log', 'system', NULL, now(), false);

-- -- 用户管理视图关联用户权限（已注释，因为view_user被注释掉了）
-- -- ('VP-0001', 'view_user', 'perm_user_view', 'system', NULL, now(), false),
-- -- ('VP-0002', 'view_user', 'perm_user_create', 'system', NULL, now(), false),
-- -- ('VP-0003', 'view_user', 'perm_user_edit', 'system', NULL, now(), false),
-- -- ('VP-0004', 'view_user', 'perm_user_delete', 'system', NULL, now(), false),
-- -- ('VP-0005', 'view_user', 'perm_user_export', 'system', NULL, now(), false),
-- --
-- -- -- 角色管理视图关联角色权限
-- -- ('VP-0011', 'view_role', 'perm_role_view', 'system', NULL, now(), false),
-- -- ('VP-0012', 'view_role', 'perm_role_create', 'system', NULL, now(), false),
-- -- ('VP-0013', 'view_role', 'perm_role_edit', 'system', NULL, now(), false),
-- -- ('VP-0014', 'view_role', 'perm_role_delete', 'system', NULL, now(), false),
-- -- ('VP-0015', 'view_role', 'perm_role_export', 'system', NULL, now(), false),
-- --
-- -- -- 部门管理视图关联部门权限
-- -- ('VP-0021', 'view_dept', 'perm_dept_view', 'system', NULL, now(), false),
-- -- ('VP-0022', 'view_dept', 'perm_dept_create', 'system', NULL, now(), false),
-- -- ('VP-0023', 'view_dept', 'perm_dept_edit', 'system', NULL, now(), false),
-- -- ('VP-0024', 'view_dept', 'perm_dept_delete', 'system', NULL, now(), false),
-- -- ('VP-0025', 'view_dept', 'perm_dept_export', 'system', NULL, now(), false),
-- --
-- -- -- 权限管理视图关联权限管理权限
-- -- ('VP-0031', 'view_permission', 'perm_permission_view', 'system', NULL, now(), false),
-- -- ('VP-0032', 'view_permission', 'perm_permission_manage', 'system', NULL, now(), false),
-- --
-- -- -- 配置管理视图关联配置权限
-- -- ('VP-0041', 'view_config', 'perm_config_view', 'system', NULL, now(), false),
-- -- ('VP-0042', 'view_config', 'perm_config_edit', 'system', NULL, now(), false),
-- -- ('VP-0043', 'view_config', 'perm_config_export', 'system', NULL, now(), false),
-- --
-- -- -- 文件管理视图关联文件权限
-- -- ('VP-0051', 'view_file', 'perm_file_view', 'system', NULL, now(), false),
-- -- ('VP-0052', 'view_file', 'perm_file_upload', 'system', NULL, now(), false),
-- -- ('VP-0053', 'view_file', 'perm_file_download', 'system', NULL, now(), false),
-- -- ('VP-0054', 'view_file', 'perm_file_delete', 'system', NULL, now(), false),
-- -- ('VP-0055', 'view_file', 'perm_file_export', 'system', NULL, now(), false),
-- --
-- -- -- 消息管理视图关联消息权限
-- -- ('VP-0061', 'view_message', 'perm_message_view', 'system', NULL, now(), false),
-- -- ('VP-0062', 'view_message', 'perm_message_send', 'system', NULL, now(), false),
-- -- ('VP-0063', 'view_message', 'perm_message_manage', 'system', NULL, now(), false),
-- -- ('VP-0064', 'view_message', 'perm_message_export', 'system', NULL, now(), false);
