fix: 确认生成 API 适配 develop 分支(同步 main PR #1308) #1312
Reference in New Issue
Block a user
Delete Branch "fix/confirm-generation-api-develop"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
概述
将 main 分支 PR #1308(确认生成 API 改造)的改动手动适配到 develop 分支。
由于 main 和 develop 文件结构差异较大(develop 经过重构,使用 UnifiedRenderService),需要逐文件适配。
改动内容
Schema 层
ConfirmGenerationRequestschemaCreateGenerationTaskRequest增加 6 个新字段GenerationTaskResponse增加对应字段Domain 层
GenerationTask实体增加source_task_id,output_width,output_height,cover_url,custom_titleApplication 层
CreateGenerationTaskCommand增加对应字段DB 层
GenerationTaskModel增加 5 个新列(is_preview已在 develop 053 迁移中存在)API 路由
POST /tasks/{task_id}/confirm端点safe_enqueue_generation_task适配 develop 入队机制Worker 层
_load_task_info返回新字段generate_video支持动态分辨率Alembic 迁移 054
source_task_id,output_width,output_height,cover_url,custom_title列单元测试
tests/unit/test_confirm_generation.py(7 个测试全部通过)与 main PR #1308 的适配差异
UnifiedRenderService+RenderAdapter,通过export_cfg["resolution"]控制分辨率,而非 main 的_process_with_editing_mode。适配方式:将output_width/output_height转换为 resolution 字符串传入。safe_enqueue_generation_task(含限流检查),而非celery_app.send_task。RetryGenerationTaskUseCase(原地重试),无需在 retry 端点添加新字段到CreateGenerationTaskCommand。False(非 main 的True),保持 develop 语义。video_title,resolution,bgm_config,error_info,retry_count,logs等 develop 独有字段全部保留。测试
🚀 预览环境已部署
7d27dd4a85tob3e7e5f459b3e7e5f459to953abf3b38953abf3b38tob12d8c744fb12d8c744fto7d4e1b1b2fCI全绿,自动审批通过。
CI全绿,自动审批通过。
代码审查结果 - PR #1312
⚠️ 问题(2个需要修改)
output_width和output_height恰好等于全局默认值(OUTPUT_WIDTH/HEIGHT)时,代码会回退使用task_info.get("resolution", "")。对于通过“确认生成”创建的新任务,resolution字段默认为空字符串"",这将导致向_render_video传递空的分辨率参数,极大概率导致渲染失败或使用错误的默认参数。source_task_id被定义为String(32)。如果系统使用 UUID(通常为36字符)作为任务 ID,该字段将截断 ID,导致“确认生成”功能无法正确关联预览任务与正式任务。建议至少设为 36 或 255。💡 建议(2个可选)
ConfirmGenerationRequest的默认分辨率为 1080x1920(竖屏),而CreateGenerationTaskRequest的默认分辨率为 1280x720(横屏)。这种不一致可能会造成用户困惑,建议统一默认值或在文档中明确说明。output_width和output_height添加验证逻辑(例如必须大于0),防止非法数值导致下游渲染服务崩溃。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题
🤖 由 AI 代码审查机器人自动生成 | 2026-08-08 14:06:40 | 模型:
🗑️ 预览环境已清理
PR #1312 已关闭或合并,对应的预览环境已被清理。