-- 接口调用统计表（用于后续重构分析：哪些接口在用、调用频率、耗时）
-- 按 (http_method, url_pattern) 聚合，一个接口一行，upsert 更新
DROP TABLE IF EXISTS `sys_api_call_stats`;
CREATE TABLE `sys_api_call_stats` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `http_method` varchar(10) NOT NULL COMMENT '请求方式 GET/POST/PUT/DELETE/...',
  `url_pattern` varchar(255) NOT NULL COMMENT '接口路径模式（带占位符，如 /xxx/{id}）',
  `handler_class` varchar(255) DEFAULT NULL COMMENT '处理器类全限定名',
  `handler_method` varchar(128) DEFAULT NULL COMMENT '处理器方法名',
  `call_count` bigint(20) NOT NULL DEFAULT '0' COMMENT '累计调用次数',
  `total_cost_ms` bigint(20) NOT NULL DEFAULT '0' COMMENT '累计耗时(ms)，用于算平均',
  `max_cost_ms` bigint(20) NOT NULL DEFAULT '0' COMMENT '最大耗时(ms)',
  `min_cost_ms` bigint(20) NOT NULL DEFAULT '0' COMMENT '最小耗时(ms)',
  `last_cost_ms` bigint(20) NOT NULL DEFAULT '0' COMMENT '最近一次耗时(ms)',
  `error_count` bigint(20) NOT NULL DEFAULT '0' COMMENT '异常调用次数',
  `first_call_time` datetime DEFAULT NULL COMMENT '首次调用时间',
  `last_call_time` datetime DEFAULT NULL COMMENT '最近调用时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_method_url` (`http_method`, `url_pattern`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接口调用统计';
