Initial commit: GovAI 政务AI平台
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
-- 000006: PPT 生成任务表
|
||||
|
||||
CREATE TABLE ppt_tasks (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID NOT NULL REFERENCES users(id),
|
||||
app_id UUID REFERENCES applications(id),
|
||||
|
||||
-- 任务输入
|
||||
title VARCHAR(200) NOT NULL,
|
||||
source_type VARCHAR(20) NOT NULL DEFAULT 'text'
|
||||
CHECK (source_type IN ('text', 'file', 'url')),
|
||||
source_content TEXT, -- 文本内容或 URL
|
||||
source_file TEXT, -- 上传文件路径
|
||||
|
||||
-- 生成配置
|
||||
config JSONB NOT NULL DEFAULT '{}',
|
||||
-- config 结构:
|
||||
-- {
|
||||
-- "format": "ppt169", -- 画布格式
|
||||
-- "page_count": 10, -- 目标页数
|
||||
-- "style": "general", -- 风格: general/consultant/consultant-top
|
||||
-- "color_scheme": "", -- 配色方案(可选)
|
||||
-- "language": "zh", -- 语言
|
||||
-- "with_images": true, -- 是否生成图片
|
||||
-- "image_backend": "gpt-image-2" -- 图片生成后端
|
||||
-- }
|
||||
|
||||
-- 任务状态
|
||||
status VARCHAR(30) NOT NULL DEFAULT 'pending'
|
||||
CHECK (status IN (
|
||||
'pending', -- 等待处理
|
||||
'processing', -- 处理中
|
||||
'converting', -- 转换源文件
|
||||
'designing', -- 策略师阶段
|
||||
'generating_images', -- 图片生成阶段
|
||||
'generating_svg', -- SVG 生成阶段
|
||||
'exporting', -- 导出 PPTX 阶段
|
||||
'completed', -- 完成
|
||||
'failed' -- 失败
|
||||
)),
|
||||
progress INTEGER NOT NULL DEFAULT 0 CHECK (progress BETWEEN 0 AND 100),
|
||||
status_message TEXT, -- 当前状态描述
|
||||
error_message TEXT, -- 错误信息
|
||||
|
||||
-- 输出
|
||||
output_file TEXT, -- 生成的 PPTX 文件路径
|
||||
output_preview JSONB DEFAULT '[]', -- SVG 预览图路径列表
|
||||
page_count INTEGER, -- 实际生成页数
|
||||
project_path TEXT, -- PPT Master 项目路径
|
||||
|
||||
-- 时间戳
|
||||
started_at TIMESTAMPTZ,
|
||||
completed_at TIMESTAMPTZ,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_ppt_tasks_user ON ppt_tasks(user_id);
|
||||
CREATE INDEX idx_ppt_tasks_status ON ppt_tasks(status);
|
||||
CREATE INDEX idx_ppt_tasks_created ON ppt_tasks(created_at DESC);
|
||||
|
||||
CREATE TRIGGER update_ppt_tasks_updated_at
|
||||
BEFORE UPDATE ON ppt_tasks
|
||||
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();
|
||||
Reference in New Issue
Block a user