-- ******************************************************************
-- 表 kku_openapi_stats 的创建SQL
-- 对应的Model: App\Module\OpenAPI\Models\OpenApiStats
-- 警告: 此文件由系统自动生成，禁止修改！
-- ******************************************************************

CREATE TABLE `kku_openapi_stats` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `app_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '应用ID',
  `date` date NOT NULL COMMENT '统计日期',
  `hour` tinyint DEFAULT NULL COMMENT '统计小时(0-23)',
  `endpoint` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '接口端点',
  `request_count` int NOT NULL DEFAULT '0' COMMENT '请求次数',
  `success_count` int NOT NULL DEFAULT '0' COMMENT '成功次数',
  `error_count` int NOT NULL DEFAULT '0' COMMENT '错误次数',
  `avg_response_time` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '平均响应时间(毫秒)',
  `max_response_time` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最大响应时间(毫秒)',
  `min_response_time` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最小响应时间(毫秒)',
  `rate_limit_hits` int NOT NULL DEFAULT '0' COMMENT '限流命中次数',
  `unique_ips` int NOT NULL DEFAULT '0' COMMENT '唯一IP数量',
  `error_details` json DEFAULT NULL COMMENT '错误详情',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `uk_app_date_hour_endpoint` (`app_id`,`date`,`hour`,`endpoint`) USING BTREE,
  KEY `idx_app_id` (`app_id`) USING BTREE,
  KEY `idx_date` (`date`) USING BTREE,
  KEY `idx_hour` (`hour`) USING BTREE,
  KEY `idx_endpoint` (`endpoint`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='API统计表';
