fix(#1749): variant-plans clips 补 status 字段(P0 批量预览过滤修复) #1753

Merged
auto-approve-bot merged 1 commits from fix/variant-plans-clip-status-p0 into develop 2026-09-07 11:08:47 +08:00
Owner

P0 修复:批量预览变体 clips 缺少 status 字段

问题:staging 上批量预览(N=3)报"变体计划数据不完整",根因:

  • generation_variant_plans.py 路由返回 clips 时没有 status 字段
  • 前端 useBatchVariantPlans.ts 过滤条件 c.status === "ready" 把所有 clips 过滤为空
  • DB model EditPlanClip 有 status 字段(默认 PENDING),但 API 没传

修复

  1. generation_variant_plans.py:clip_dicts 构造中加上 "status": c.status or "ready"
  2. edit_plan_service.pyensure_variant_plans 返回前,对所有新创建的变体 plan 调用 mark_clips_ready(plan_id) 把 clips 标记为 ready(这些 clips 本来就已经选好素材、分配好起点,语义上就是 ready 的)
  3. 不改动任何其他逻辑,只补这个字段 + 标记

测试:16 tests passed(test_1749_variant_plans_route + test_1749_edit_plan_service_new_methods)

前端对接:@saas前端工程师 请确认 useBatchVariantPlans.ts 的过滤条件 c.status === "ready" 不需要改动,后端修复后 status 会是 "ready"。

## P0 修复:批量预览变体 clips 缺少 status 字段 **问题**:staging 上批量预览(N=3)报"变体计划数据不完整",根因: - `generation_variant_plans.py` 路由返回 clips 时没有 status 字段 - 前端 `useBatchVariantPlans.ts` 过滤条件 `c.status === "ready"` 把所有 clips 过滤为空 - DB model `EditPlanClip` 有 status 字段(默认 PENDING),但 API 没传 **修复**: 1. `generation_variant_plans.py`:clip_dicts 构造中加上 `"status": c.status or "ready"` 2. `edit_plan_service.py`:`ensure_variant_plans` 返回前,对所有新创建的变体 plan 调用 `mark_clips_ready(plan_id)` 把 clips 标记为 ready(这些 clips 本来就已经选好素材、分配好起点,语义上就是 ready 的) 3. 不改动任何其他逻辑,只补这个字段 + 标记 **测试**:16 tests passed(test_1749_variant_plans_route + test_1749_edit_plan_service_new_methods) **前端对接**:@saas前端工程师 请确认 `useBatchVariantPlans.ts` 的过滤条件 `c.status === "ready"` 不需要改动,后端修复后 status 会是 "ready"。
xiaoxia added 1 commit 2026-09-07 11:02:01 +08:00
fix(#1749): variant-plans clips 补 status 字段 + ensure_variant_plans 标记 clips ready(P0 批量预览过滤修复)
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 32s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 32s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m36s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m37s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m44s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m0s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m9s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m6s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 3s
AI Code Review / AI Code Review (pull_request) Successful in 6m21s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m35s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 8s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 29s
4f8e5a3cd8

🚀 预览环境已部署

项目 详情
PR号 #1753
预览链接 https://pr-1753.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1753 | | 预览链接 | [https://pr-1753.preview.xiaoxiajianji.com](https://pr-1753.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot merged commit 3557635f93 into develop 2026-09-07 11:08:47 +08:00
auto-approve-bot deleted branch fix/variant-plans-clip-status-p0 2026-09-07 11:08:47 +08:00

🗑️ 预览环境已清理

PR #1753 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1753 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.