-- 统一账号审计日志。部署到 playpai_other 数据库;该表只追加写入,不提供业务侧更新/删除接口。 CREATE TABLE IF NOT EXISTS `sys_account_audit_log` ( `id` bigint(20) NOT NULL COMMENT '主键ID(雪花算法生成)', `trace_id` varchar(64) DEFAULT NULL COMMENT '链路标识', `user_id` bigint DEFAULT NULL COMMENT '账号ID(能够识别时记录)', `user_account` varchar(128) DEFAULT NULL COMMENT '账号标识(手机号等脱敏)', `source_service` varchar(64) NOT NULL COMMENT '发起服务', `source_type` varchar(16) NOT NULL COMMENT 'HTTP、LOGIN、FEIGN', `operation_type` varchar(32) NOT NULL COMMENT 'LOGIN、CREATE、UPDATE、DELETE、VIEW_SENSITIVE、STATUS_CHANGE、FEIGN_CALL等', `risk_level` varchar(16) NOT NULL DEFAULT 'NORMAL' COMMENT 'NORMAL、SENSITIVE、CRITICAL', `operation_name` varchar(255) DEFAULT NULL COMMENT '操作说明', `request_method` varchar(16) DEFAULT NULL COMMENT 'HTTP方法', `request_uri` varchar(512) DEFAULT NULL COMMENT '请求路径或Feign目标', `request_params` text COMMENT '脱敏后的请求参数摘要', `before_data` text COMMENT '修改前状态快照(脱敏)', `after_data` text COMMENT '修改后状态快照(脱敏)', `result` varchar(16) NOT NULL DEFAULT 'SUCCESS' COMMENT 'REQUESTED、SUCCESS、FAIL', `error_message` varchar(1000) DEFAULT NULL COMMENT '失败原因(脱敏)', `client_ip` varchar(64) DEFAULT NULL COMMENT '客户端IP', `duration_ms` bigint DEFAULT NULL COMMENT '请求耗时毫秒', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发生时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 0-正常 1-删除', PRIMARY KEY (`id`), KEY `idx_audit_user_time` (`user_id`, `created_at`), KEY `idx_audit_account_time` (`user_account`, `created_at`), KEY `idx_audit_operation_time` (`operation_type`, `created_at`), KEY `idx_audit_trace_id` (`trace_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='账号使用与关键操作审计日志'; -- 回滚(确认不再需要审计记录后执行): -- DROP TABLE IF EXISTS `sys_account_audit_log`;