feat(ai): 添加AI报告生成历史记录功能,支持每日生成限制和双API提供商

This commit is contained in:
richarjiang
2025-12-02 12:07:08 +08:00
parent 5b89a07751
commit 562c66a930
21 changed files with 942 additions and 2074 deletions

View File

@@ -0,0 +1,21 @@
-- AI 健康报告生成历史记录表
-- 记录每次生成的报告信息,包括 prompt 和图片地址
CREATE TABLE IF NOT EXISTS `t_ai_report_history` (
`id` VARCHAR(36) NOT NULL COMMENT '记录ID',
`user_id` VARCHAR(36) NOT NULL COMMENT '用户ID',
`report_date` DATE NOT NULL COMMENT '报告日期',
`prompt` TEXT NOT NULL COMMENT '生成图像使用的 Prompt',
`image_url` VARCHAR(500) NOT NULL COMMENT '生成的图片地址',
`api_provider` VARCHAR(20) DEFAULT NULL COMMENT 'API 提供商: openrouter | grsai',
`model_name` VARCHAR(50) DEFAULT NULL COMMENT '使用的模型名称',
`generation_time_ms` INT DEFAULT NULL COMMENT '生成耗时(毫秒)',
`status` VARCHAR(20) NOT NULL DEFAULT 'success' COMMENT '生成状态: success | failed',
`error_message` TEXT DEFAULT NULL COMMENT '失败原因(如果失败)',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_user_id` (`user_id`),
INDEX `idx_report_date` (`report_date`),
INDEX `idx_user_report_date` (`user_id`, `report_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI健康报告生成历史';