This commit is contained in:
2026-08-14 12:20:52 +08:00
parent ce0812211c
commit afd7c9d704
17 changed files with 1641 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
-- 系统审计日志表(双轨之审计轨,与业务日志表 operation_log 物理隔离)
CREATE TABLE `sys_operation_log` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`log_level` TINYINT NOT NULL COMMENT '1-重要(删除) 2-次要(新增/编辑) 3-一般(查询)',
`operation_type` VARCHAR(16) NOT NULL COMMENT 'DELETE/CREATE/UPDATE/QUERY',
`user_id` INT DEFAULT NULL COMMENT '操作人ID(来自UserContext)',
`user_name` VARCHAR(64) DEFAULT NULL COMMENT '操作人姓名(来自UserContext)',
`sch_id` INT DEFAULT NULL COMMENT '学校ID(多校隔离)',
`request_ip` VARCHAR(64) NOT NULL COMMENT '客户端IP',
`request_uri` VARCHAR(512) NOT NULL COMMENT '请求URI',
`request_method` VARCHAR(16) NOT NULL COMMENT 'HTTP方法',
`class_method` VARCHAR(512) NOT NULL COMMENT '类名.方法名',
`request_params` TEXT COMMENT '请求参数(脱敏后)',
`response_data` MEDIUMBLOB COMMENT 'GZIP压缩后的响应JSON',
`status_code` INT NOT NULL COMMENT '200成功 500异常',
`cost_time` BIGINT NOT NULL COMMENT '耗时ms',
`user_agent` VARCHAR(512) DEFAULT NULL,
`error_msg` TEXT COMMENT '异常信息(截断2000)',
`create_time` DATETIME(3) NOT NULL COMMENT '记录时间',
PRIMARY KEY (`id`),
KEY `idx_sol_create_time` (`create_time`),
KEY `idx_sol_user_time` (`user_id`, `create_time`),
KEY `idx_sol_sch_time` (`sch_id`, `create_time`),
KEY `idx_sol_uri_time` (`request_uri`, `create_time`),
KEY `idx_sol_level_time` (`log_level`, `create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统审计日志(HTTP接口级,全量记录)';