DROP DATABASE IF EXISTS `llm_guard_main`; CREATE DATABASE `llm_guard_main` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; USE `llm_guard_main`; SET NAMES utf8mb4; -- ---------------------------- -- 1、部门表 -- ---------------------------- drop table if exists d_sys_dept; create table d_sys_dept ( dept_id varchar(36) not null default (uuid()) comment '部门id', parent_id varchar(36) default '0' comment '父部门id', ancestors varchar(2000) default '' comment '祖级列表', dept_name varchar(30) default '' comment '部门名称', order_num int(4) default 0 comment '显示顺序', leader varchar(20) default null comment '负责人', phone varchar(11) default null comment '联系电话', email varchar(50) default null comment '邮箱', status char(1) default '0' comment '部门状态(0正常 1停用)', del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', primary key (dept_id) ) engine=innodb comment = '部门表'; -- ---------------------------- -- 初始化-部门表数据 -- ---------------------------- insert into d_sys_dept values('717f5780-62a9-44b6-892a-228bd694c91c', '0', '0', '南方电网', '0', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('9f322bdf-21eb-43c5-b255-4522d620e8ae', '717f5780-62a9-44b6-892a-228bd694c91c', '0,717f5780-62a9-44b6-892a-228bd694c91c', '深圳总公司', '1', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('0b06323e-8748-40d5-bedf-8bc4b7cea91e', '717f5780-62a9-44b6-892a-228bd694c91c', '0,717f5780-62a9-44b6-892a-228bd694c91c', '长沙分公司', '2', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('a4209f68-23e3-45e4-88f4-2e2ceabf0851', '9f322bdf-21eb-43c5-b255-4522d620e8ae', '0,717f5780-62a9-44b6-892a-228bd694c91c,9f322bdf-21eb-43c5-b255-4522d620e8ae', '研发部门', '1', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('c3047488-aed6-4363-b9c1-08de2619b486', '9f322bdf-21eb-43c5-b255-4522d620e8ae', '0,717f5780-62a9-44b6-892a-228bd694c91c,9f322bdf-21eb-43c5-b255-4522d620e8ae', '市场部门', '2', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('6c442480-97e8-42b7-a509-08b458e44dcd', '9f322bdf-21eb-43c5-b255-4522d620e8ae', '0,717f5780-62a9-44b6-892a-228bd694c91c,9f322bdf-21eb-43c5-b255-4522d620e8ae', '测试部门', '3', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('96091b84-9b5e-4e3d-984c-ad6637602a85', '9f322bdf-21eb-43c5-b255-4522d620e8ae', '0,717f5780-62a9-44b6-892a-228bd694c91c,9f322bdf-21eb-43c5-b255-4522d620e8ae', '财务部门', '4', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('53ea3f7c-4822-4adc-b68c-fac8e4e09e89', '9f322bdf-21eb-43c5-b255-4522d620e8ae', '0,717f5780-62a9-44b6-892a-228bd694c91c,9f322bdf-21eb-43c5-b255-4522d620e8ae', '运维部门', '5', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('ea04f34e-3fde-4a0d-b6b3-1d8590629649', '0b06323e-8748-40d5-bedf-8bc4b7cea91e', '0,717f5780-62a9-44b6-892a-228bd694c91c,0b06323e-8748-40d5-bedf-8bc4b7cea91e', '市场部门', '1', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into d_sys_dept values('3228f814-2abe-4ebb-9a6e-acdff4098ca3', '0b06323e-8748-40d5-bedf-8bc4b7cea91e', '0,717f5780-62a9-44b6-892a-228bd694c91c,0b06323e-8748-40d5-bedf-8bc4b7cea91e', '财务部门', '2', 'lm', '15888888888', 'lm@qq.com', '0', '0', 'admin', sysdate(), '', null); -- ---------------------------- -- 2、用户信息表 -- ---------------------------- drop table if exists d_sys_user; create table d_sys_user ( user_id varchar(36) not null default (uuid()) comment '用户ID', dept_id varchar(36) default null comment '部门ID', user_name varchar(30) not null comment '用户账号', nick_name varchar(30) not null comment '用户昵称', user_type varchar(2) default '00' comment '用户类型(00系统用户)', email varchar(50) default '' comment '用户邮箱', phonenumber varchar(11) default '' comment '手机号码', sex char(1) default '0' comment '用户性别(0男 1女 2未知)', avatar varchar(100) default '' comment '头像地址', password varchar(100) default '' comment '密码', status char(1) default '0' comment '账号状态(0正常 1停用)', del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', login_ip varchar(128) default '' comment '最后登录IP', login_date datetime comment '最后登录时间', pwd_update_date datetime comment '密码最后更新时间', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default null comment '备注', primary key (user_id) ) engine=innodb comment = '用户信息表'; -- ---------------------------- -- 初始化-用户信息表数据 -- ---------------------------- insert into d_sys_user values('838fef38-55e6-4938-b995-b0814081e93c', 'a4209f68-23e3-45e4-88f4-2e2ceabf0851', 'admin', 'lm', '00', 'lm@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), sysdate(), 'admin', sysdate(), '', null, '管理员'); insert into d_sys_user values('568c27fd-4dcd-4871-8f43-56fc2ccf1b60', '6c442480-97e8-42b7-a509-08b458e44dcd', 'lm', 'lm', '00', 'lm@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), sysdate(), 'admin', sysdate(), '', null, '测试员'); -- ---------------------------- -- 3、岗位信息表 -- ---------------------------- drop table if exists d_sys_post; create table d_sys_post ( post_id varchar(36) not null default (uuid()) comment '岗位ID', post_code varchar(64) not null comment '岗位编码', post_name varchar(50) not null comment '岗位名称', post_sort int(4) not null comment '显示顺序', status char(1) not null comment '状态(0正常 1停用)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default null comment '备注', primary key (post_id) ) engine=innodb comment = '岗位信息表'; -- ---------------------------- -- 初始化-岗位信息表数据 -- ---------------------------- insert into d_sys_post values('b98237e8-bc4a-470e-b7af-5c7f592a601b', 'ceo', '董事长', '1', '0', 'admin', sysdate(), '', null, ''); insert into d_sys_post values('c06754e4-2df1-4441-b693-099648713b5b', 'se', '项目经理', '2', '0', 'admin', sysdate(), '', null, ''); insert into d_sys_post values('698c86b0-a28c-4e7e-8dfd-8b2619ca2ac1', 'hr', '人力资源', '3', '0', 'admin', sysdate(), '', null, ''); insert into d_sys_post values('3fbe9843-9751-4e55-aa75-2ca57b25fe4a', 'user', '普通员工', '4', '0', 'admin', sysdate(), '', null, ''); -- ---------------------------- -- 4、角色信息表 -- ---------------------------- drop table if exists d_sys_role; create table d_sys_role ( role_id varchar(36) not null default (uuid()) comment '角色ID', role_name varchar(30) not null comment '角色名称', role_key varchar(100) not null comment '角色权限字符串', role_sort int(4) not null comment '显示顺序', data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示', dept_check_strictly tinyint(1) default 1 comment '部门树选择项是否关联显示', status char(1) not null comment '角色状态(0正常 1停用)', del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default null comment '备注', primary key (role_id) ) engine=innodb comment = '角色信息表'; -- ---------------------------- -- 初始化-角色信息表数据 -- ---------------------------- insert into d_sys_role values('b786abf3-181f-498e-b958-12adce55701d', '超级管理员', 'admin', '1', '1', '1', '1', '0', '0', 'admin', sysdate(), '', null, '超级管理员'); insert into d_sys_role values('f4cd3e43-fa24-48a8-85b1-27c312263ef5', '普通角色', 'common', '2', '2', '1', '1', '0', '0', 'admin', sysdate(), '', null, '普通角色'); -- ---------------------------- -- 5、菜单权限表 -- ---------------------------- drop table if exists d_sys_menu; create table d_sys_menu ( menu_id varchar(36) not null default (uuid()) comment '菜单ID', menu_name varchar(50) not null comment '菜单名称', parent_id varchar(36) default '0' comment '父菜单ID', order_num int(4) default 0 comment '显示顺序', path varchar(200) default '' comment '路由地址', component varchar(255) default null comment '组件路径', query varchar(255) default null comment '路由参数', route_name varchar(50) default '' comment '路由名称', is_frame int(1) default 1 comment '是否为外链(0是 1否)', is_cache int(1) default 0 comment '是否缓存(0缓存 1不缓存)', menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)', visible char(1) default 0 comment '菜单状态(0显示 1隐藏)', status char(1) default 0 comment '菜单状态(0正常 1停用)', perms varchar(100) default null comment '权限标识', icon varchar(100) default '#' comment '菜单图标', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default '' comment '备注', primary key (menu_id) ) engine=innodb comment = '菜单权限表'; -- ---------------------------- -- 初始化-菜单信息表数据 -- ---------------------------- -- 一级菜单 insert into d_sys_menu values('7ad4765d-291f-4c9e-9480-4098cf51b501', '系统管理', '0', '1', 'system', null, '', '', '1', '0', 'M', '0', '0', '', 'system', 'admin', sysdate(), '', null, '系统管理目录'); -- 二级菜单 insert into d_sys_menu values('49f1663f-84a7-4f13-83a5-4e92836826c7', '用户管理', '7ad4765d-291f-4c9e-9480-4098cf51b501', '1', 'user', 'system/user/index', '', '', '1', '0', 'C', '0', '0', 'system:user:list', 'user', 'admin', sysdate(), '', null, '用户管理菜单'); insert into d_sys_menu values('6a613b29-6d27-4748-864e-e56379fdcddf', '角色管理', '7ad4765d-291f-4c9e-9480-4098cf51b501', '2', 'role', 'system/role/index', '', '', '1', '0', 'C', '0', '0', 'system:role:list', 'peoples', 'admin', sysdate(), '', null, '角色管理菜单'); insert into d_sys_menu values('823d8a8f-dc2e-4cd8-9cbf-0cf307b9a83f', '菜单管理', '7ad4765d-291f-4c9e-9480-4098cf51b501', '3', 'menu', 'system/menu/index', '', '', '1', '0', 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', sysdate(), '', null, '菜单管理菜单'); insert into d_sys_menu values('84b894e6-3a31-4dc3-b0eb-ab8d3796cdc1', '部门管理', '7ad4765d-291f-4c9e-9480-4098cf51b501', '4', 'dept', 'system/dept/index', '', '', '1', '0', 'C', '0', '0', 'system:dept:list', 'tree', 'admin', sysdate(), '', null, '部门管理菜单'); insert into d_sys_menu values('2812d414-ac56-4952-a749-a29f08c8ccd6', '岗位管理', '7ad4765d-291f-4c9e-9480-4098cf51b501', '5', 'post', 'system/post/index', '', '', '1', '0', 'C', '0', '0', 'system:post:list', 'post', 'admin', sysdate(), '', null, '岗位管理菜单'); insert into d_sys_menu values('ce84ea31-1e4c-4504-aaf0-bf2a7f67d7d7', '字典管理', '7ad4765d-291f-4c9e-9480-4098cf51b501', '6', 'dict', 'system/dict/index', '', '', '1', '0', 'C', '0', '0', 'system:dict:list', 'dict', 'admin', sysdate(), '', null, '字典管理菜单'); insert into d_sys_menu values('97a5f1ed-d1b2-4375-a4d4-0c670bf697f4', '参数设置', '7ad4765d-291f-4c9e-9480-4098cf51b501', '7', 'config', 'system/config/index', '', '', '1', '0', 'C', '0', '0', 'system:config:list', 'edit', 'admin', sysdate(), '', null, '参数设置菜单'); -- 用户管理按钮 insert into d_sys_menu values('4596a8e4-96a4-4aab-b503-474fc9ec6cdd', '用户查询', '49f1663f-84a7-4f13-83a5-4e92836826c7', '1', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('d95ff216-ebbd-4f72-90be-cf070fcef386', '用户新增', '49f1663f-84a7-4f13-83a5-4e92836826c7', '2', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('ba15e345-b495-4c1e-a1b2-7bd080d55c87', '用户修改', '49f1663f-84a7-4f13-83a5-4e92836826c7', '3', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('fdff8177-e25f-4959-b4c9-7fce08921de9', '用户删除', '49f1663f-84a7-4f13-83a5-4e92836826c7', '4', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:remove', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('6c3799d3-e17e-4fa1-9a1c-28b8f93740f4', '用户导出', '49f1663f-84a7-4f13-83a5-4e92836826c7', '5', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:export', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('b82e4497-008d-4c6e-8fcb-132b17352e3b', '用户导入', '49f1663f-84a7-4f13-83a5-4e92836826c7', '6', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:import', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('ea06e068-e12a-44be-9c63-4904a4780e92', '重置密码', '49f1663f-84a7-4f13-83a5-4e92836826c7', '7', '', '', '', '', '1', '0', 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', sysdate(), '', null, ''); -- 角色管理按钮 insert into d_sys_menu values('332d6c13-b570-441d-ae96-54d7e0103c8e', '角色查询', '6a613b29-6d27-4748-864e-e56379fdcddf', '1', '', '', '', '', '1', '0', 'F', '0', '0', 'system:role:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('7511bd0d-4713-4438-937d-010a26412e10', '角色新增', '6a613b29-6d27-4748-864e-e56379fdcddf', '2', '', '', '', '', '1', '0', 'F', '0', '0', 'system:role:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('cac96384-fb28-4e6b-a54e-39d5e32dc75a', '角色修改', '6a613b29-6d27-4748-864e-e56379fdcddf', '3', '', '', '', '', '1', '0', 'F', '0', '0', 'system:role:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('0e54cc31-c421-4b35-aaa6-6c1a062b0654', '角色删除', '6a613b29-6d27-4748-864e-e56379fdcddf', '4', '', '', '', '', '1', '0', 'F', '0', '0', 'system:role:remove', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('844a163d-9acb-4400-ab1d-58e70a8031cf', '角色导出', '6a613b29-6d27-4748-864e-e56379fdcddf', '5', '', '', '', '', '1', '0', 'F', '0', '0', 'system:role:export', '#', 'admin', sysdate(), '', null, ''); -- 菜单管理按钮 insert into d_sys_menu values('888d5b9e-5e14-44e2-b756-db6f52f9904c', '菜单查询', '823d8a8f-dc2e-4cd8-9cbf-0cf307b9a83f', '1', '', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('874d27ca-164b-4a90-9f80-79463a2fc6fd', '菜单新增', '823d8a8f-dc2e-4cd8-9cbf-0cf307b9a83f', '2', '', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('5a874707-73fb-4381-ac13-a58bead4a73f', '菜单修改', '823d8a8f-dc2e-4cd8-9cbf-0cf307b9a83f', '3', '', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('ad7c5468-d1a2-4c0b-aa14-236eba1d6af1', '菜单删除', '823d8a8f-dc2e-4cd8-9cbf-0cf307b9a83f', '4', '', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:remove', '#', 'admin', sysdate(), '', null, ''); -- 部门管理按钮 insert into d_sys_menu values('f8f4fb37-fbe4-4c1a-85c0-1f02c0a01a2c', '部门查询', '84b894e6-3a31-4dc3-b0eb-ab8d3796cdc1', '1', '', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('7112b424-2e04-487f-9846-a3675a5d8b65', '部门新增', '84b894e6-3a31-4dc3-b0eb-ab8d3796cdc1', '2', '', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('6dc4643a-7c47-4697-8b8d-b91d5aa335e7', '部门修改', '84b894e6-3a31-4dc3-b0eb-ab8d3796cdc1', '3', '', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('7f630738-1f64-4e09-a770-fae5221d028d', '部门删除', '84b894e6-3a31-4dc3-b0eb-ab8d3796cdc1', '4', '', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:remove', '#', 'admin', sysdate(), '', null, ''); -- 岗位管理按钮 insert into d_sys_menu values('3cf27725-d451-4925-ab04-6b25162c8e0a', '岗位查询', '2812d414-ac56-4952-a749-a29f08c8ccd6', '1', '', '', '', '', '1', '0', 'F', '0', '0', 'system:post:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('76875eb4-4e09-4972-a055-d8420b373b64', '岗位新增', '2812d414-ac56-4952-a749-a29f08c8ccd6', '2', '', '', '', '', '1', '0', 'F', '0', '0', 'system:post:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('40a73825-4f18-4378-8694-9becaeecf67f', '岗位修改', '2812d414-ac56-4952-a749-a29f08c8ccd6', '3', '', '', '', '', '1', '0', 'F', '0', '0', 'system:post:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('efd83f4c-3bdc-4bc0-8bdc-8b823cc9abea', '岗位删除', '2812d414-ac56-4952-a749-a29f08c8ccd6', '4', '', '', '', '', '1', '0', 'F', '0', '0', 'system:post:remove', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('67e04efc-1be3-42e6-a84a-a1276eb15aba', '岗位导出', '2812d414-ac56-4952-a749-a29f08c8ccd6', '5', '', '', '', '', '1', '0', 'F', '0', '0', 'system:post:export', '#', 'admin', sysdate(), '', null, ''); -- 字典管理按钮 insert into d_sys_menu values('42b877a6-b571-460a-a157-0c5037cb550b', '字典查询', 'ce84ea31-1e4c-4504-aaf0-bf2a7f67d7d7', '1', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:dict:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('e307c147-b528-4a83-b824-c3d3c8067f3c', '字典新增', 'ce84ea31-1e4c-4504-aaf0-bf2a7f67d7d7', '2', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:dict:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('58975b90-46d2-4ff7-82ee-4395f65fc7f1', '字典修改', 'ce84ea31-1e4c-4504-aaf0-bf2a7f67d7d7', '3', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:dict:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('1bcbdd1f-cac4-4ed0-8aa8-b7316755b73a', '字典删除', 'ce84ea31-1e4c-4504-aaf0-bf2a7f67d7d7', '4', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:dict:remove', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('16274f84-dfea-46a5-a05a-e72c38bcd46d', '字典导出', 'ce84ea31-1e4c-4504-aaf0-bf2a7f67d7d7', '5', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:dict:export', '#', 'admin', sysdate(), '', null, ''); -- 参数设置按钮 insert into d_sys_menu values('68280480-129e-4961-88d6-6ae780737a1f', '参数查询', '97a5f1ed-d1b2-4375-a4d4-0c670bf697f4', '1', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:config:query', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('3bb4beef-865f-429d-ac4a-81605540fb15', '参数新增', '97a5f1ed-d1b2-4375-a4d4-0c670bf697f4', '2', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:config:add', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('231a9731-de2a-4f86-aa8e-d31e997b0057', '参数修改', '97a5f1ed-d1b2-4375-a4d4-0c670bf697f4', '3', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:config:edit', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('9617c646-121d-437d-bb5b-91a0247fe912', '参数删除', '97a5f1ed-d1b2-4375-a4d4-0c670bf697f4', '4', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:config:remove', '#', 'admin', sysdate(), '', null, ''); insert into d_sys_menu values('89b9918f-63e6-4670-90f7-3b6e7573a094', '参数导出', '97a5f1ed-d1b2-4375-a4d4-0c670bf697f4', '5', '#', '', '', '', '1', '0', 'F', '0', '0', 'system:config:export', '#', 'admin', sysdate(), '', null, ''); -- ---------------------------- -- 6、用户和角色关联表 用户N-1角色 -- ---------------------------- drop table if exists d_sys_user_role; create table d_sys_user_role ( user_id varchar(36) not null comment '用户ID', role_id varchar(36) not null comment '角色ID', primary key(user_id, role_id) ) engine=innodb comment = '用户和角色关联表'; -- ---------------------------- -- 初始化-用户和角色关联表数据 -- ---------------------------- insert into d_sys_user_role values('838fef38-55e6-4938-b995-b0814081e93c', 'b786abf3-181f-498e-b958-12adce55701d'); insert into d_sys_user_role values('568c27fd-4dcd-4871-8f43-56fc2ccf1b60', 'f4cd3e43-fa24-48a8-85b1-27c312263ef5'); -- ---------------------------- -- 7、角色和菜单关联表 角色1-N菜单 -- ---------------------------- drop table if exists d_sys_role_menu; create table d_sys_role_menu ( role_id varchar(36) not null comment '角色ID', menu_id varchar(36) not null comment '菜单ID', primary key(role_id, menu_id) ) engine=innodb comment = '角色和菜单关联表'; -- ---------------------------- -- 8、角色和部门关联表 角色1-N部门 -- ---------------------------- drop table if exists d_sys_role_dept; create table d_sys_role_dept ( role_id varchar(36) not null comment '角色ID', dept_id varchar(36) not null comment '部门ID', primary key(role_id, dept_id) ) engine=innodb comment = '角色和部门关联表'; -- ---------------------------- -- 初始化-角色和部门关联表数据 -- ---------------------------- insert into d_sys_role_dept values('f4cd3e43-fa24-48a8-85b1-27c312263ef5', '717f5780-62a9-44b6-892a-228bd694c91c'); insert into d_sys_role_dept values('f4cd3e43-fa24-48a8-85b1-27c312263ef5', '9f322bdf-21eb-43c5-b255-4522d620e8ae'); insert into d_sys_role_dept values('f4cd3e43-fa24-48a8-85b1-27c312263ef5', '6c442480-97e8-42b7-a509-08b458e44dcd'); -- ---------------------------- -- 9、用户与岗位关联表 用户1-N岗位 -- ---------------------------- drop table if exists d_sys_user_post; create table d_sys_user_post ( user_id varchar(36) not null comment '用户ID', post_id varchar(36) not null comment '岗位ID', primary key (user_id, post_id) ) engine=innodb comment = '用户与岗位关联表'; -- ---------------------------- -- 初始化-用户与岗位关联表数据 -- ---------------------------- insert into d_sys_user_post values('838fef38-55e6-4938-b995-b0814081e93c', 'b98237e8-bc4a-470e-b7af-5c7f592a601b'); insert into d_sys_user_post values('568c27fd-4dcd-4871-8f43-56fc2ccf1b60', 'c06754e4-2df1-4441-b693-099648713b5b'); -- ---------------------------- -- 10、操作日志记录 -- ---------------------------- drop table if exists d_sys_oper_log; create table d_sys_oper_log ( oper_id varchar(36) not null default (uuid()) comment '日志主键', title varchar(50) default '' comment '模块标题', business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)', method varchar(200) default '' comment '方法名称', request_method varchar(10) default '' comment '请求方式', operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)', oper_name varchar(50) default '' comment '操作人员', dept_name varchar(50) default '' comment '部门名称', oper_url varchar(255) default '' comment '请求URL', oper_ip varchar(128) default '' comment '主机地址', oper_location varchar(255) default '' comment '操作地点', oper_param varchar(2000) default '' comment '请求参数', json_result varchar(2000) default '' comment '返回参数', status int(1) default 0 comment '操作状态(0正常 1异常)', error_msg varchar(2000) default '' comment '错误消息', oper_time datetime comment '操作时间', cost_time bigint(20) default 0 comment '消耗时间', primary key (oper_id), key idx_d_sys_oper_log_bt (business_type), key idx_d_sys_oper_log_s (status), key idx_d_sys_oper_log_ot (oper_time) ) engine=innodb comment = '操作日志记录'; -- ---------------------------- -- 11、字典类型表 -- ---------------------------- drop table if exists d_sys_dict_type; create table d_sys_dict_type ( dict_id varchar(36) not null default (uuid()) comment '字典主键', dict_name varchar(100) default '' comment '字典名称', dict_type varchar(100) default '' comment '字典类型', status char(1) default '0' comment '状态(0正常 1停用)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default null comment '备注', primary key (dict_id), unique (dict_type) ) engine=innodb comment = '字典类型表'; insert into d_sys_dict_type values('a1420291-6bea-4d72-b8eb-3c2064062072', '用户性别', 'd_sys_user_sex', '0', 'admin', sysdate(), '', null, '用户性别列表'); insert into d_sys_dict_type values('162864cd-f5eb-4d4f-b6e7-1e64b66984e0', '菜单状态', 'd_sys_show_hide', '0', 'admin', sysdate(), '', null, '菜单状态列表'); insert into d_sys_dict_type values('a128688d-7eca-4878-8df4-f6eaefe9a0d7', '系统开关', 'd_sys_normal_disable', '0', 'admin', sysdate(), '', null, '系统开关列表'); insert into d_sys_dict_type values('b6185ea5-040b-40a6-bec4-06765df1e748', '任务状态', 'd_sys_job_status', '0', 'admin', sysdate(), '', null, '任务状态列表'); insert into d_sys_dict_type values('6eb43625-1a31-4bc5-b072-a579d047d746', '任务分组', 'd_sys_job_group', '0', 'admin', sysdate(), '', null, '任务分组列表'); insert into d_sys_dict_type values('d30495f5-2800-44ee-bf00-1ab306f6c822', '系统是否', 'd_sys_yes_no', '0', 'admin', sysdate(), '', null, '系统是否列表'); insert into d_sys_dict_type values('1d13f277-0eec-4c12-b887-60ea07bfb1c6', '通知类型', 'd_sys_notice_type', '0', 'admin', sysdate(), '', null, '通知类型列表'); insert into d_sys_dict_type values('6edfb2a9-2ee0-4e1c-8226-a3d617825965', '通知状态', 'd_sys_notice_status', '0', 'admin', sysdate(), '', null, '通知状态列表'); insert into d_sys_dict_type values('347d423b-7c20-4a0e-ba31-83db39883adb', '操作类型', 'd_sys_oper_type', '0', 'admin', sysdate(), '', null, '操作类型列表'); insert into d_sys_dict_type values('7e0ddcc2-fa10-42b9-a794-eac5fccefd89', '系统状态', 'd_sys_common_status', '0', 'admin', sysdate(), '', null, '登录状态列表'); -- ---------------------------- -- 12、字典数据表 -- ---------------------------- drop table if exists d_sys_dict_data; create table d_sys_dict_data ( dict_code varchar(36) not null default (uuid()) comment '字典编码', dict_sort int(4) default 0 comment '字典排序', dict_label varchar(100) default '' comment '字典标签', dict_value varchar(100) default '' comment '字典键值', dict_type varchar(100) default '' comment '字典类型', css_class varchar(100) default null comment '样式属性(其他样式扩展)', list_class varchar(100) default null comment '表格回显样式', is_default char(1) default 'N' comment '是否默认(Y是 N否)', status char(1) default '0' comment '状态(0正常 1停用)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default null comment '备注', primary key (dict_code) ) engine=innodb comment = '字典数据表'; insert into d_sys_dict_data values('784ea33c-f058-410f-8221-5e5ef6a67a8b', '1', '男', '0', 'd_sys_user_sex', '', '', 'Y', '0', 'admin', sysdate(), '', null, '性别男'); insert into d_sys_dict_data values('d458d974-f882-4d22-bb47-09dc2c33e208', '2', '女', '1', 'd_sys_user_sex', '', '', 'N', '0', 'admin', sysdate(), '', null, '性别女'); insert into d_sys_dict_data values('c2573a9a-5d9d-4d60-b414-d3f1cd5bb935', '3', '未知', '2', 'd_sys_user_sex', '', '', 'N', '0', 'admin', sysdate(), '', null, '性别未知'); insert into d_sys_dict_data values('467b5e1f-4de8-4ce8-848c-e9b1283b12ec', '1', '显示', '0', 'd_sys_show_hide', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '显示菜单'); insert into d_sys_dict_data values('d93d78a1-ac9d-495a-917e-d838a993a4d9', '2', '隐藏', '1', 'd_sys_show_hide', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '隐藏菜单'); insert into d_sys_dict_data values('4b8e236c-0ea0-492b-b629-577ac8ffc371', '1', '正常', '0', 'd_sys_normal_disable', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态'); insert into d_sys_dict_data values('390a3e22-f61c-4531-a055-c524028f29a5', '2', '停用', '1', 'd_sys_normal_disable', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '停用状态'); insert into d_sys_dict_data values('5de8dcbc-c3f6-496a-9f21-e6cb6f3dcdf4', '1', '正常', '0', 'd_sys_job_status', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态'); insert into d_sys_dict_data values('96427d18-7733-4d8d-a1ad-4af34e855a12', '2', '暂停', '1', 'd_sys_job_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '停用状态'); insert into d_sys_dict_data values('4cb4bf17-a9dc-4e4b-9fbe-6fd4bdaccc50', '1', '默认', 'DEFAULT', 'd_sys_job_group', '', '', 'Y', '0', 'admin', sysdate(), '', null, '默认分组'); insert into d_sys_dict_data values('6b973a28-cfa9-480b-aaba-b351fd23ac71', '2', '系统', 'SYSTEM', 'd_sys_job_group', '', '', 'N', '0', 'admin', sysdate(), '', null, '系统分组'); insert into d_sys_dict_data values('4f7b8fba-00b1-4bb5-9e40-0c1f6291d673', '1', '是', 'Y', 'd_sys_yes_no', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '系统默认是'); insert into d_sys_dict_data values('f669e968-e3a0-438a-aa0f-a81bc4273905', '2', '否', 'N', 'd_sys_yes_no', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '系统默认否'); insert into d_sys_dict_data values('faaf2358-917f-442a-a433-e4c0f34a8e5c', '1', '通知', '1', 'd_sys_notice_type', '', 'warning', 'Y', '0', 'admin', sysdate(), '', null, '通知'); insert into d_sys_dict_data values('e2570fc0-bc7f-4965-ac55-49db760209c3', '2', '公告', '2', 'd_sys_notice_type', '', 'success', 'N', '0', 'admin', sysdate(), '', null, '公告'); insert into d_sys_dict_data values('3a27f696-f043-454c-8ad7-4494bf6cfa4e', '1', '正常', '0', 'd_sys_notice_status', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态'); insert into d_sys_dict_data values('391a5794-1abe-4405-8389-b859884e0ce5', '2', '关闭', '1', 'd_sys_notice_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '关闭状态'); insert into d_sys_dict_data values('9e5d4ec7-e985-4662-a4a8-0a2db9cca76a', '99', '其他', '0', 'd_sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '其他操作'); insert into d_sys_dict_data values('7d762779-833c-46c7-b6ac-139de11ee6d7', '1', '新增', '1', 'd_sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '新增操作'); insert into d_sys_dict_data values('45422278-38fd-4b5a-9285-774c6fd455cc', '2', '修改', '2', 'd_sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '修改操作'); insert into d_sys_dict_data values('9b45ecbf-2816-466b-a56b-d2455d205724', '3', '删除', '3', 'd_sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '删除操作'); insert into d_sys_dict_data values('e21a1875-da88-436a-bd1a-c44bbda31944', '4', '授权', '4', 'd_sys_oper_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '授权操作'); insert into d_sys_dict_data values('8818c41a-1afa-49cf-abc2-28f636be44d0', '5', '导出', '5', 'd_sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '导出操作'); insert into d_sys_dict_data values('ed500592-d6a6-4d5e-bb6a-4c64f7ad0703', '6', '导入', '6', 'd_sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '导入操作'); insert into d_sys_dict_data values('491adcc7-6cc4-4736-b6ed-d4049bed7021', '7', '强退', '7', 'd_sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '强退操作'); insert into d_sys_dict_data values('bde0241c-2a85-4b7b-9809-15c25ee7675a', '8', '生成代码', '8', 'd_sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '生成操作'); insert into d_sys_dict_data values('f8840672-e168-40bd-890e-5b621b15197d', '9', '清空数据', '9', 'd_sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '清空操作'); insert into d_sys_dict_data values('1344513e-f14e-4485-aaf2-7c8f2bbea0e0', '1', '成功', '0', 'd_sys_common_status', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '正常状态'); insert into d_sys_dict_data values('31395dd0-f9b2-478b-a510-3a604c9aad46', '2', '失败', '1', 'd_sys_common_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '停用状态'); -- ---------------------------- -- 13、参数配置表 -- ---------------------------- drop table if exists d_sys_config; create table d_sys_config ( config_id varchar(36) not null default (uuid()) comment '参数主键', config_name varchar(100) default '' comment '参数名称', config_key varchar(100) default '' comment '参数键名', config_value varchar(500) default '' comment '参数键值', config_type char(1) default 'N' comment '系统内置(Y是 N否)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default null comment '备注', primary key (config_id) ) engine=innodb comment = '参数配置表'; insert into d_sys_config values('f1ccc747-416a-4640-8f99-973d2083d00c', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); insert into d_sys_config values('ff4f06ed-ec5b-4830-9ddf-9e2ec394fbb7', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, '初始化密码 123456'); insert into d_sys_config values('d63402f2-fcd5-47fb-a2a5-b465a42bbeda', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, '深色主题theme-dark,浅色主题theme-light'); insert into d_sys_config values('14132083-e9a4-43b6-a5ee-77382e7dd4aa', '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', sysdate(), '', null, '是否开启注册用户功能(true开启,false关闭)'); insert into d_sys_config values('ecbc6b0f-ef40-4639-b952-1888029ddc6c', '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', sysdate(), '', null, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); insert into d_sys_config values('43d2d51c-5d8a-486c-8976-8a68d0c9cc6d', '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', sysdate(), '', null, '0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框'); insert into d_sys_config values('3636a38c-e4ca-43e7-bdb4-d1b0ba03e849', '用户管理-账号密码更新周期', 'sys.account.passwordValidateDays', '0', 'Y', 'admin', sysdate(), '', null, '密码更新周期(填写数字,数据初始化值为0不限制,若修改必须为大于0小于365的正整数),如果超过这个周期登录系统时,则在登录时就会提醒修改密码对话框'); -- ---------------------------- -- 14、系统访问记录 -- ---------------------------- drop table if exists d_sys_logininfor; create table d_sys_logininfor ( info_id varchar(36) not null default (uuid()) comment '访问ID', user_name varchar(50) default '' comment '用户账号', ipaddr varchar(128) default '' comment '登录IP地址', status char(1) default '0' comment '登录状态(0成功 1失败)', msg varchar(255) default '' comment '提示信息', access_time datetime comment '访问时间', primary key (info_id), key idx_d_sys_logininfor_s (status), key idx_d_sys_logininfor_lt (access_time) ) engine=innodb comment = '系统访问记录'; -- ---------------------------- -- 15、定时任务调度表 -- ---------------------------- drop table if exists d_sys_job; create table d_sys_job ( job_id varchar(36) not null default (uuid()) comment '任务ID', job_name varchar(64) default '' comment '任务名称', job_group varchar(64) default 'DEFAULT' comment '任务组名', invoke_target varchar(500) not null comment '调用目标字符串', cron_expression varchar(255) default '' comment 'cron执行表达式', misfire_policy varchar(20) default '3' comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', concurrent char(1) default '1' comment '是否并发执行(0允许 1禁止)', status char(1) default '0' comment '状态(0正常 1暂停)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(500) default '' comment '备注信息', primary key (job_id, job_name, job_group) ) engine=innodb comment = '定时任务调度表'; insert into d_sys_job values('9768a4f3-d06d-4500-9090-324981897ff8', '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); insert into d_sys_job values('120b5777-7bcb-4359-98a5-6bc0b2865090', '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); insert into d_sys_job values('77112782-6053-49fe-88b8-0b1701449642', '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); -- ---------------------------- -- 16、定时任务调度日志表 -- ---------------------------- drop table if exists d_sys_job_log; create table d_sys_job_log ( job_log_id varchar(36) not null default (uuid()) comment '任务日志ID', job_name varchar(64) not null comment '任务名称', job_group varchar(64) not null comment '任务组名', invoke_target varchar(500) not null comment '调用目标字符串', job_message varchar(500) comment '日志信息', status char(1) default '0' comment '执行状态(0正常 1失败)', exception_info varchar(2000) default '' comment '异常信息', create_time datetime comment '创建时间', primary key (job_log_id) ) engine=innodb comment = '定时任务调度日志表'; -- ---------------------------- -- 17、通知公告表 -- ---------------------------- drop table if exists d_sys_notice; create table d_sys_notice ( notice_id varchar(36) not null default (uuid()) comment '公告ID', notice_title varchar(50) not null comment '公告标题', notice_type char(1) not null comment '公告类型(1通知 2公告)', notice_content longblob default null comment '公告内容', status char(1) default '0' comment '公告状态(0正常 1关闭)', create_by varchar(64) default '' comment '创建者', create_time datetime comment '创建时间', update_by varchar(64) default '' comment '更新者', update_time datetime comment '更新时间', remark varchar(255) default null comment '备注', primary key (notice_id) ) engine=innodb comment = '通知公告表'; -- ========================= -- 访问控制 -- ========================= drop table if exists d_log_alert_hit; drop table if exists d_log_alert_event; drop table if exists d_log_attack_policy; drop table if exists d_attack_signature; drop table if exists d_attack_rule; drop table if exists d_attack_switch; drop table if exists d_content_mask_policy; drop table if exists d_content_dlp_rule; drop table if exists d_content_policy; drop table if exists d_acl_custom_condition; drop table if exists d_acl_custom_rule; drop table if exists d_acl_endpoint_rule; drop table if exists d_acl_ip_rule; CREATE TABLE d_acl_ip_rule ( id VARCHAR(64) NOT NULL COMMENT '规则ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', list_type VARCHAR(16) NOT NULL COMMENT '名单类型: WHITELIST/BLACKLIST', ip_type VARCHAR(16) NOT NULL COMMENT 'IP类型: SINGLE/CIDR/REGEX', ip_value VARCHAR(255) NOT NULL COMMENT 'IP表达式', priority INT NOT NULL DEFAULT 100 COMMENT '优先级(数值越小越优先)', effective_text VARCHAR(128) NOT NULL DEFAULT '长期' COMMENT '生效时间描述', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), KEY idx_acl_ip_scope_status (scope_code, status), KEY idx_acl_ip_priority (priority) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访问控制-IP黑白名单规则'; CREATE TABLE d_acl_endpoint_rule ( id VARCHAR(64) NOT NULL COMMENT '规则ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', match_type VARCHAR(16) NOT NULL COMMENT '匹配类型: EXACT/PREFIX/REGEX', uri_pattern VARCHAR(1024) NOT NULL COMMENT 'URI匹配表达式', methods VARCHAR(64) NOT NULL DEFAULT 'ALL' COMMENT '请求方法: GET/POST/.../ALL', block_mode VARCHAR(16) NOT NULL COMMENT '封堵模式: TEMP/PERM', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), KEY idx_acl_ep_scope_status (scope_code, status), KEY idx_acl_ep_match_type (match_type) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访问控制-接口封堵规则'; CREATE TABLE d_acl_custom_rule ( id VARCHAR(64) NOT NULL COMMENT '规则ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', rule_code VARCHAR(100) NOT NULL COMMENT '规则编码', rule_name VARCHAR(255) NOT NULL COMMENT '规则名称', priority INT NOT NULL DEFAULT 100 COMMENT '优先级(数值越小越优先)', logic_op VARCHAR(8) NOT NULL DEFAULT 'AND' COMMENT '条件逻辑: AND/OR', action VARCHAR(16) NOT NULL COMMENT '动作: ALLOW/BLOCK/MARK', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_acl_custom_rule_code (rule_code), KEY idx_acl_custom_scope_status (scope_code, status), KEY idx_acl_custom_priority (priority) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访问控制-自定义组合规则'; CREATE TABLE d_acl_custom_condition ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '条件ID', rule_id VARCHAR(64) NOT NULL COMMENT '所属规则ID', seq_no INT NOT NULL DEFAULT 1 COMMENT '条件顺序', condition_expr TEXT NOT NULL COMMENT '条件表达式', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), KEY idx_acl_condition_rule_seq (rule_id, seq_no), CONSTRAINT fk_acl_condition_rule FOREIGN KEY (rule_id) REFERENCES d_acl_custom_rule(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访问控制-组合规则条件明细'; -- ========================= -- 内容管控 -- ========================= CREATE TABLE d_content_policy ( id VARCHAR(64) NOT NULL COMMENT '策略ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', policy_code VARCHAR(100) NOT NULL COMMENT '策略编码', detect_mode VARCHAR(20) NOT NULL COMMENT '检测模式: KEYWORD/SEMANTIC/MIXED', risk_level VARCHAR(20) NOT NULL COMMENT '风险等级: LOW/MEDIUM/HIGH/CRITICAL', action VARCHAR(20) NOT NULL COMMENT '动作: ALLOW/BLOCK/REPLACE/ALERT', detect_scope_text VARCHAR(64) NOT NULL COMMENT '检测范围文本: 问/答/问+答/问+答+推理', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_content_policy_code (policy_code), KEY idx_content_policy_scope_status (scope_code, status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='内容管控-合规策略'; CREATE TABLE d_content_dlp_rule ( id VARCHAR(64) NOT NULL COMMENT '规则ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', rule_code VARCHAR(100) NOT NULL COMMENT '规则编码', location VARCHAR(32) NOT NULL COMMENT '检测位置: REQ_BODY/RESP_BODY/REQ_HEADER/RESP_HEADER', data_type VARCHAR(64) NOT NULL COMMENT '敏感数据类型', detect_mode VARCHAR(20) NOT NULL COMMENT '检测方式: REGEX/MIXED/SEMANTIC', action VARCHAR(20) NOT NULL COMMENT '动作: MASK/REPLACE/BLOCK/ALERT', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_content_dlp_code (rule_code), KEY idx_content_dlp_scope_status (scope_code, status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='内容管控-DLP识别规则'; CREATE TABLE d_content_mask_policy ( id VARCHAR(64) NOT NULL COMMENT '策略ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', policy_code VARCHAR(100) NOT NULL COMMENT '策略编码', apply_by VARCHAR(16) NOT NULL COMMENT '生效对象: ALL/CALLER/IP', location VARCHAR(32) NOT NULL COMMENT '生效位置: REQ_BODY/RESP_BODY/REQ_HEADER/RESP_HEADER', template_name VARCHAR(128) NOT NULL COMMENT '脱敏模板名称', action VARCHAR(20) NOT NULL COMMENT '动作: MASK/REPLACE/BLOCK', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_content_mask_policy_code (policy_code), KEY idx_content_mask_scope_status (scope_code, status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='内容管控-脱敏策略'; -- ========================= -- 攻击防护 -- ========================= CREATE TABLE d_attack_switch ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '开关ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', switch_key VARCHAR(64) NOT NULL COMMENT '开关键', switch_name VARCHAR(128) NOT NULL COMMENT '开关名称', switch_desc VARCHAR(255) NULL COMMENT '开关说明', enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否开启: 1开启/0关闭', sort_order INT NOT NULL DEFAULT 100 COMMENT '排序号', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_attack_switch_scope_key (scope_code, switch_key), KEY idx_attack_switch_scope_sort (scope_code, sort_order) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='攻击防护-开关矩阵'; CREATE TABLE d_attack_rule ( id VARCHAR(64) NOT NULL COMMENT '规则ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', rule_code VARCHAR(100) NOT NULL COMMENT '规则编码', category VARCHAR(20) NOT NULL COMMENT '规则分类: INJECTION/PROMPT', sub_type VARCHAR(64) NOT NULL COMMENT '子类型: SQL/COMMAND/CODE/FILE/LDAP/EXPR/JAILBREAK/...', detect_mode VARCHAR(20) NOT NULL COMMENT '检测方式: REGEX/SIGNATURE/HEURISTIC/SEMANTIC/MIXED', action VARCHAR(20) NOT NULL COMMENT '动作: ALLOW/BLOCK/ALERT', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_attack_rule_code (rule_code), KEY idx_attack_rule_scope_category (scope_code, category), KEY idx_attack_rule_status (status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='攻击防护-注入/提示词规则'; CREATE TABLE d_attack_signature ( id VARCHAR(64) NOT NULL COMMENT '特征ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', sig_type VARCHAR(20) NOT NULL COMMENT '特征类型: REGEX/KEYWORD/PATTERN', sig_value TEXT NOT NULL COMMENT '特征内容', rule_code VARCHAR(100) NOT NULL COMMENT '关联攻击规则编码', weight INT NOT NULL DEFAULT 1 COMMENT '权重', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), KEY idx_attack_signature_scope_status (scope_code, status), KEY idx_attack_signature_rule_code (rule_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='攻击防护-特征库'; CREATE TABLE d_log_attack_policy ( id VARCHAR(64) NOT NULL COMMENT '日志策略ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', log_mode VARCHAR(20) NOT NULL COMMENT '日志模式: FULL/HIT_ONLY/SAMPLED', retain_days INT NOT NULL COMMENT '日志保留天数', sample_rate VARCHAR(16) NOT NULL COMMENT '采样率: 100%/20% 等', alert_level VARCHAR(20) NOT NULL COMMENT '告警级别: LOW/MEDIUM/HIGH/CRITICAL', status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态: ENABLED/DISABLED', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), KEY idx_log_attack_policy_scope_status (scope_code, status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='攻击防护-日志策略'; -- ========================= -- 告警命中日志(新增) -- ========================= CREATE TABLE d_log_alert_event ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '日志主键ID', event_no VARCHAR(64) NOT NULL COMMENT '事件编号(唯一)', request_id VARCHAR(64) NOT NULL COMMENT '请求ID', trace_id VARCHAR(64) NULL COMMENT '链路追踪ID', scope_code VARCHAR(64) NOT NULL COMMENT '作用域编码', module_type VARCHAR(20) NOT NULL COMMENT '模块类型: ACCESS/CONTENT/ATTACK', event_type VARCHAR(32) NOT NULL COMMENT '事件类型: RULE_HIT/SWITCH_HIT/POLICY_HIT', rule_type VARCHAR(32) NULL COMMENT '规则类型: IP_RULE/ENDPOINT_RULE/CUSTOM_RULE/CONTENT_POLICY/DLP_RULE/MASK_POLICY/ATTACK_RULE/SIGNATURE', rule_id VARCHAR(64) NULL COMMENT '规则ID', rule_code VARCHAR(100) NULL COMMENT '规则编码', switch_key VARCHAR(64) NULL COMMENT '命中的开关键(如有)', severity VARCHAR(20) NOT NULL COMMENT '风险等级: LOW/MEDIUM/HIGH/CRITICAL', action_taken VARCHAR(20) NOT NULL COMMENT '处置动作: ALLOW/BLOCK/ALERT/MASK/REPLACE', hit_message VARCHAR(512) NULL COMMENT '命中描述', hit_detail_json JSON NULL COMMENT '命中详情(JSON)', request_path VARCHAR(1024) NULL COMMENT '请求路径', request_method VARCHAR(16) NULL COMMENT '请求方法', source_ip VARCHAR(45) NULL COMMENT '来源IP', caller_id VARCHAR(128) NULL COMMENT '调用者标识', is_stream TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否流式: 1是/0否', alert_status VARCHAR(20) NOT NULL DEFAULT 'NEW' COMMENT '告警状态: NEW/ACK/CLOSED', ack_by VARCHAR(64) NULL COMMENT '确认人', ack_at DATETIME NULL COMMENT '确认时间', close_by VARCHAR(64) NULL COMMENT '关闭人', close_at DATETIME NULL COMMENT '关闭时间', occurred_at DATETIME NOT NULL COMMENT '触发时间', partition_date DATE NOT NULL COMMENT '分区日期', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), UNIQUE KEY uk_alert_event_no (event_no), KEY idx_alert_request (request_id), KEY idx_alert_trace (trace_id), KEY idx_alert_scope_time (scope_code, occurred_at), KEY idx_alert_module_type (module_type, event_type), KEY idx_alert_status_severity (alert_status, severity), KEY idx_alert_partition_date (partition_date) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='告警命中日志主表(记录请求触发的告警)'; CREATE TABLE d_log_alert_hit ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '命中明细ID', event_id BIGINT NOT NULL COMMENT '事件主表ID', hit_order INT NOT NULL DEFAULT 1 COMMENT '命中顺序', hit_target VARCHAR(32) NULL COMMENT '命中目标: REQ_HEADER/REQ_BODY/RESP_BODY/CALLER/TIME等', hit_field VARCHAR(255) NULL COMMENT '命中字段', hit_operator VARCHAR(32) NULL COMMENT '命中操作符: EXACT/REGEX/CONTAINS/IN等', expected_value TEXT NULL COMMENT '规则期望值', actual_value_preview VARCHAR(512) NULL COMMENT '实际值预览(脱敏后)', confidence DECIMAL(5,2) NULL COMMENT '置信度(语义检测可用)', create_by VARCHAR(64) DEFAULT '' COMMENT '创建人', create_time DATETIME COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新人', update_time DATETIME COMMENT '更新时间', is_deleted INT NOT NULL DEFAULT 0 COMMENT '删除标识(1-删除,0-未删除)', PRIMARY KEY (id), KEY idx_alert_hit_event (event_id, hit_order), CONSTRAINT fk_log_alert_hit_event FOREIGN KEY (event_id) REFERENCES d_log_alert_event(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='告警命中日志明细表(一条事件可包含多条命中明细)';