-- ====================================
-- 系统操作日志表
-- ====================================
CREATE TABLE `sys_log` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
  `user_id` BIGINT(20) DEFAULT NULL COMMENT '用户ID',
  `username` VARCHAR(50) DEFAULT NULL COMMENT '用户名',
  `real_name` VARCHAR(50) DEFAULT NULL COMMENT '真实姓名',
  `log_type` VARCHAR(20) NOT NULL COMMENT '日志类型：登录日志、操作日志',
  `operate_type` VARCHAR(50) DEFAULT NULL COMMENT '操作类型：增删改查等',
  `detail` VARCHAR(500) DEFAULT NULL COMMENT '日志详情描述',
  `controller` VARCHAR(100) DEFAULT NULL COMMENT '控制器名称',
  `method` VARCHAR(100) DEFAULT NULL COMMENT '方法名称',
  `request_url` VARCHAR(255) DEFAULT NULL COMMENT '请求URL',
  `request_method` VARCHAR(10) DEFAULT NULL COMMENT '请求方式：GET/POST/PUT/DELETE',
  `request_params` TEXT DEFAULT NULL COMMENT '请求参数',
  `operate_ip` VARCHAR(50) DEFAULT NULL COMMENT '操作IP地址',
  `operate_location` VARCHAR(100) DEFAULT NULL COMMENT '操作地点',
  `operate_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
  `use_time` BIGINT(20) DEFAULT NULL COMMENT '执行时长（毫秒）',
  `status` TINYINT(1) DEFAULT 1 COMMENT '状态：0-失败，1-成功',
  `error_msg` TEXT DEFAULT NULL COMMENT '错误信息',
  `browser` VARCHAR(100) DEFAULT NULL COMMENT '浏览器',
  `os` VARCHAR(100) DEFAULT NULL COMMENT '操作系统',
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_operate_time` (`operate_time`),
  KEY `idx_log_type` (`log_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统操作日志表';

-- 创建索引优化查询
CREATE INDEX idx_username ON sys_log(username);
CREATE INDEX idx_log_type_time ON sys_log(log_type, operate_time);
