Files
urbanLifeline/urbanLifelineServ/.bin/database/postgres/sql/initDataPermission.sql
2025-12-11 14:21:36 +08:00

368 lines
19 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 初始化权限相关基础数据(与 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_workcase', '智能客服', '客服工单管理',
'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),
-- 平台基础菜单访问权限(所有登录用户都有)
('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);
-- =============================
-- 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)
-- =========================
-- 一级菜单
('VIEW-P001', 'view_platform_home', '工作台', NULL, '/home', 'Home', 'Grid', 1,
'route', NULL, 'platform', 'SidebarLayout', 10, '平台工作台首页', 'system', now(), false),
('VIEW-P002', 'view_platform_chat', 'AI助手', NULL, '/chat', 'Chat', 'ChatDotRound', 1,
'route', NULL, 'platform', 'SidebarLayout', 20, 'AI智能对话助手', 'system', now(), false),
-- iframe 嵌入菜单
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, NULL, NULL, 'Document', 1,
'iframe', 'http://localhost:5002', 'platform', 'SidebarLayout', 30, '招标应用iframe', 'system', now(), false),
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, NULL, NULL, 'Service', 1,
'iframe', 'http://localhost:5003', 'platform', 'SidebarLayout', 40, '客服应用iframe', 'system', now(), false),
('VIEW-P005', 'view_platform_workflow', '智能体编排', NULL, NULL, NULL, 'Connection', 1,
'iframe', 'http://localhost:3000', 'platform', 'SidebarLayout', 50, 'Dify智能体编排iframe', '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)
-- =========================
('VIEW-W001', 'view_workcase_home', '首页', NULL, '/home', 'Home', 'House', 1,
'route', NULL, 'workcase', 'DefaultLayout', 10, '客服应用首页', 'system', now(), false),
('VIEW-W002', 'view_workcase_list', '工单列表', NULL, '/workcase/list', 'workcase/List', 'Tickets', 1,
'route', NULL, 'workcase', 'DefaultLayout', 20, '工单列表页面', 'system', now(), false),
('VIEW-W003', 'view_workcase_detail', '工单详情', NULL, '/workcase/detail', 'workcase/Detail', 'Document', 1,
'route', NULL, 'workcase', 'DefaultLayout', 30, '工单详情页面', 'system', now(), false),
('VIEW-W004', 'view_workcase_chat', '智能客服', NULL, '/workcase/chat', 'workcase/Chat', 'ChatDotRound', 1,
'route', NULL, 'workcase', 'DefaultLayout', 40, '智能客服聊天', '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);
-- 访客权限(仅查看 + 基础菜单访问)
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-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);
-- =============================
-- 7. 视图权限关联
-- =============================
-- 将视图与对应模块的权限关联(使用新的 view_id
INSERT INTO sys.tb_sys_view_permission (
optsn, view_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
-- 平台基础菜单权限关联(所有登录用户都可访问)
('VP-P001', 'VIEW-P001', 'perm_platform_home', 'system', NULL, now(), false),
('VP-P002', 'VIEW-P002', 'perm_platform_chat', 'system', NULL, now(), false),
('VP-P003', 'VIEW-P003', 'perm_platform_bidding', 'system', NULL, now(), false),
('VP-P004', 'VIEW-P004', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-P005', 'VIEW-P005', 'perm_platform_workflow', 'system', NULL, now(), false),
-- 用户管理视图关联用户权限VIEW-P101
('VP-0001', 'VIEW-P101', 'perm_user_view', 'system', NULL, now(), false),
('VP-0002', 'VIEW-P101', 'perm_user_create', 'system', NULL, now(), false),
('VP-0003', 'VIEW-P101', 'perm_user_edit', 'system', NULL, now(), false),
('VP-0004', 'VIEW-P101', 'perm_user_delete', 'system', NULL, now(), false),
('VP-0005', 'VIEW-P101', 'perm_user_export', 'system', NULL, now(), false),
-- 角色管理视图关联角色权限VIEW-P102
('VP-0011', 'VIEW-P102', 'perm_role_view', 'system', NULL, now(), false),
('VP-0012', 'VIEW-P102', 'perm_role_create', 'system', NULL, now(), false),
('VP-0013', 'VIEW-P102', 'perm_role_edit', 'system', NULL, now(), false),
('VP-0014', 'VIEW-P102', 'perm_role_delete', 'system', NULL, now(), false),
('VP-0015', 'VIEW-P102', 'perm_role_export', 'system', NULL, now(), false),
-- 部门管理视图关联部门权限VIEW-P103
('VP-0021', 'VIEW-P103', 'perm_dept_view', 'system', NULL, now(), false),
('VP-0022', 'VIEW-P103', 'perm_dept_create', 'system', NULL, now(), false),
('VP-0023', 'VIEW-P103', 'perm_dept_edit', 'system', NULL, now(), false),
('VP-0024', 'VIEW-P103', 'perm_dept_delete', 'system', NULL, now(), false),
('VP-0025', 'VIEW-P103', 'perm_dept_export', 'system', NULL, now(), false),
-- 权限管理视图关联权限管理权限VIEW-P104
('VP-0031', 'VIEW-P104', 'perm_permission_view', 'system', NULL, now(), false),
('VP-0032', 'VIEW-P104', 'perm_permission_manage', 'system', NULL, now(), false),
-- 配置管理视图关联配置权限VIEW-P105
('VP-0041', 'VIEW-P105', 'perm_config_view', 'system', NULL, now(), false),
('VP-0042', 'VIEW-P105', 'perm_config_edit', 'system', NULL, now(), false),
('VP-0043', 'VIEW-P105', 'perm_config_export', 'system', NULL, now(), false),
-- 文件管理视图关联文件权限VIEW-P106
('VP-0051', 'VIEW-P106', 'perm_file_view', 'system', NULL, now(), false),
('VP-0052', 'VIEW-P106', 'perm_file_upload', 'system', NULL, now(), false),
('VP-0053', 'VIEW-P106', 'perm_file_download', 'system', NULL, now(), false),
('VP-0054', 'VIEW-P106', 'perm_file_delete', 'system', NULL, now(), false),
('VP-0055', 'VIEW-P106', 'perm_file_export', 'system', NULL, now(), false),
-- 消息管理视图关联消息权限VIEW-P107
('VP-0061', 'VIEW-P107', 'perm_message_view', 'system', NULL, now(), false),
('VP-0062', 'VIEW-P107', 'perm_message_send', 'system', NULL, now(), false),
('VP-0063', 'VIEW-P107', 'perm_message_manage', 'system', NULL, now(), false),
('VP-0064', 'VIEW-P107', 'perm_message_export', 'system', NULL, now(), false);