-- 插件统计汇总表 CREATE TABLE IF NOT EXISTS t_plugin_stats ( id BIGINT PRIMARY KEY AUTO_INCREMENT, plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称', command VARCHAR(50) NOT NULL COMMENT '触发的命令', stat_date DATE NOT NULL COMMENT '统计日期', total_calls INT NOT NULL DEFAULT 0 COMMENT '总调用次数', success_calls INT NOT NULL DEFAULT 0 COMMENT '成功调用次数', failed_calls INT NOT NULL DEFAULT 0 COMMENT '失败调用次数', group_calls INT NOT NULL DEFAULT 0 COMMENT '群聊调用次数', private_calls INT NOT NULL DEFAULT 0 COMMENT '私聊调用次数', avg_process_time FLOAT NOT NULL DEFAULT 0 COMMENT '平均处理时间(毫秒)', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY uk_plugin_command_date (plugin_name, command, stat_date), INDEX idx_stat_date (stat_date) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件统计汇总表'; -- 用户使用统计表 CREATE TABLE IF NOT EXISTS t_user_stats ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id VARCHAR(50) NOT NULL COMMENT '用户ID', plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称', command VARCHAR(50) NOT NULL COMMENT '触发的命令', total_calls INT NOT NULL DEFAULT 0 COMMENT '总调用次数', success_calls INT NOT NULL DEFAULT 0 COMMENT '成功调用次数', failed_calls INT NOT NULL DEFAULT 0 COMMENT '失败调用次数', first_used_at DATETIME NOT NULL COMMENT '首次使用时间', last_used_at DATETIME NOT NULL COMMENT '最后使用时间', UNIQUE KEY uk_user_plugin_command (user_id, plugin_name, command), INDEX idx_user_id (user_id), INDEX idx_last_used_at (last_used_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户使用统计表'; -- 群组使用统计表 CREATE TABLE IF NOT EXISTS t_group_stats ( id BIGINT PRIMARY KEY AUTO_INCREMENT, group_id VARCHAR(50) NOT NULL COMMENT '群组ID', plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称', command VARCHAR(50) NOT NULL COMMENT '触发的命令', total_calls INT NOT NULL DEFAULT 0 COMMENT '总调用次数', success_calls INT NOT NULL DEFAULT 0 COMMENT '成功调用次数', failed_calls INT NOT NULL DEFAULT 0 COMMENT '失败调用次数', unique_users INT NOT NULL DEFAULT 0 COMMENT '唯一用户数', first_used_at DATETIME NOT NULL COMMENT '首次使用时间', last_used_at DATETIME NOT NULL COMMENT '最后使用时间', UNIQUE KEY uk_group_plugin_command (group_id, plugin_name, command), INDEX idx_group_id (group_id), INDEX idx_last_used_at (last_used_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='群组使用统计表'; -- 错误日志表 CREATE TABLE IF NOT EXISTS t_error_logs ( id BIGINT PRIMARY KEY AUTO_INCREMENT, plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称', command VARCHAR(50) NOT NULL COMMENT '触发的命令', user_id VARCHAR(50) NOT NULL COMMENT '用户ID', group_id VARCHAR(50) COMMENT '群组ID,私聊为NULL', error_message TEXT NOT NULL COMMENT '错误信息', stack_trace TEXT COMMENT '堆栈跟踪', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', INDEX idx_plugin_name (plugin_name), INDEX idx_created_at (created_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='错误日志表';