-- 初始化权限相关基础数据(与 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-0005', 'module_knowledge', '知识库', '知识文档管理', 'system', NULL, now(), false), ('MODULE-0006', 'module_bidding', '招投标', '招投标业务管理', 'system', NULL, now(), false), ('MODULE-0007', 'module_customer_service', '智能客服', '客服工单管理', '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-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); -- ============================= -- 5. 初始化视图(菜单) -- ============================= INSERT INTO sys.tb_sys_view ( optsn, view_id, name, parent_id, url, component, icon, type, layout, order_num, description, creator, create_time, deleted ) VALUES -- 一级菜单 ('VIEW-0001', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0, 'MainLayout', 100, '系统管理菜单', 'system', now(), false), ('VIEW-0002', 'view_business', '业务管理', NULL, '/business', NULL, 'Briefcase', 0, 'MainLayout', 200, '业务管理菜单', 'system', now(), false), -- 系统管理子菜单 ('VIEW-0101', 'view_user', '用户管理', 'view_system', '/system/user', 'system/UserList', 'Users', 1, 'MainLayout', 10, '用户管理页面', 'system', now(), false), ('VIEW-0102', 'view_role', '角色管理', 'view_system', '/system/role', 'system/RoleList', 'Shield', 1, 'MainLayout', 20, '角色管理页面', 'system', now(), false), ('VIEW-0103', 'view_dept', '部门管理', 'view_system', '/system/dept', 'system/DeptList', 'Building', 1, 'MainLayout', 30, '部门管理页面', 'system', now(), false), ('VIEW-0104', 'view_permission', '权限管理', 'view_system', '/system/permission', 'system/PermissionList', 'Lock', 1, 'MainLayout', 40, '权限管理页面', 'system', now(), false), ('VIEW-0105', 'view_config', '配置管理', 'view_system', '/system/config', 'system/ConfigList', 'Settings', 1, 'MainLayout', 50, '配置管理页面', 'system', now(), false), ('VIEW-0106', 'view_file', '文件管理', 'view_system', '/system/file', 'system/FileList', 'FileText', 1, 'MainLayout', 60, '文件管理页面', 'system', now(), false), ('VIEW-0107', 'view_message', '消息管理', 'view_system', '/system/message', 'system/MessageList', 'Mail', 1, 'MainLayout', 70, '消息管理页面', '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'); -- 普通用户权限(基础查看和文件操作) 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_user_view', 'system', NULL, now(), false), ('RP-U-0002', 'role_user', 'perm_file_view', 'system', NULL, now(), false), ('RP-U-0003', 'role_user', 'perm_file_upload', 'system', NULL, now(), false), ('RP-U-0004', 'role_user', 'perm_file_download', 'system', NULL, now(), false), ('RP-U-0005', 'role_user', 'perm_message_view', 'system', NULL, now(), false), ('RP-U-0006', 'role_user', 'perm_config_view', 'system', NULL, now(), false); -- 访客权限(仅查看) 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_user_view', 'system', NULL, now(), false), ('RP-G-0002', 'role_guest', 'perm_file_view', 'system', NULL, now(), false), ('RP-G-0003', 'role_guest', 'perm_message_view', 'system', NULL, now(), false); -- ============================= -- 7. 视图权限关联 -- ============================= -- 将视图与对应模块的权限关联 INSERT INTO sys.tb_sys_view_permission ( optsn, view_id, permission_id, creator, dept_path, create_time, deleted ) VALUES -- 用户管理视图关联用户权限 ('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);