feat: 剪辑计划后端补齐 - 片段CRUD + 批量操作 + 复制计划 + 素材批量导入 #389

Merged
xiaoxia merged 4 commits from feat/edit-plan-clips-api into develop 2026-07-16 12:58:59 +08:00
Owner

变更内容

剪辑计划后端能力补齐,覆盖编辑全流程所需API。

片段 CRUD(5个接口)

方法 路径 说明
GET /{plan_id}/clips 片段列表(status过滤 + 分页)
POST /{plan_id}/clips 创建片段
GET /{plan_id}/clips/{clip_id} 片段详情
PUT /{plan_id}/clips/{clip_id} 更新片段
DELETE /{plan_id}/clips/{clip_id} 删除片段

片段批量操作(3个接口)

方法 路径 说明
POST /{plan_id}/clips/reorder 批量重排序(拖拽排序)
POST /{plan_id}/clips/batch-delete 批量删除片段
POST /{plan_id}/clips/from-assets 从素材批量创建片段(追加到时间线)

复制计划(1个接口)

方法 路径 说明
POST /{plan_id}/copy 复制计划(含所有片段配置,新计划为editing状态)

特性

  • 项目级权限校验(通过 plan.project_id)
  • 编辑操作自动状态回退(completed/failed → editing)
  • 复制计划自动清除渲染结果字段
  • 素材导入自动读取素材 duration
  • 完整 Pydantic 参数校验
  • Service 层方法可复用

文件变更

  • 新增 apps/api/app/api/routes/edit_plans_clips.py — 片段CRUD
  • 新增 apps/api/app/api/routes/edit_plans_clips_batch.py — 批量操作
  • 修改 apps/api/app/api/routes/edit_plans.py — 注册子路由 + 复制计划接口
  • 修改 apps/api/app/services/edit_plan_service.py — 新增 copy_plan + create_clips_from_assets
## 变更内容 剪辑计划后端能力补齐,覆盖编辑全流程所需API。 ### 片段 CRUD(5个接口) | 方法 | 路径 | 说明 | |------|------|------| | GET | `/{plan_id}/clips` | 片段列表(status过滤 + 分页) | | POST | `/{plan_id}/clips` | 创建片段 | | GET | `/{plan_id}/clips/{clip_id}` | 片段详情 | | PUT | `/{plan_id}/clips/{clip_id}` | 更新片段 | | DELETE | `/{plan_id}/clips/{clip_id}` | 删除片段 | ### 片段批量操作(3个接口) | 方法 | 路径 | 说明 | |------|------|------| | POST | `/{plan_id}/clips/reorder` | 批量重排序(拖拽排序) | | POST | `/{plan_id}/clips/batch-delete` | 批量删除片段 | | POST | `/{plan_id}/clips/from-assets` | 从素材批量创建片段(追加到时间线) | ### 复制计划(1个接口) | 方法 | 路径 | 说明 | |------|------|------| | POST | `/{plan_id}/copy` | 复制计划(含所有片段配置,新计划为editing状态) | ### 特性 - 项目级权限校验(通过 plan.project_id) - 编辑操作自动状态回退(completed/failed → editing) - 复制计划自动清除渲染结果字段 - 素材导入自动读取素材 duration - 完整 Pydantic 参数校验 - Service 层方法可复用 ### 文件变更 - 新增 `apps/api/app/api/routes/edit_plans_clips.py` — 片段CRUD - 新增 `apps/api/app/api/routes/edit_plans_clips_batch.py` — 批量操作 - 修改 `apps/api/app/api/routes/edit_plans.py` — 注册子路由 + 复制计划接口 - 修改 `apps/api/app/services/edit_plan_service.py` — 新增 copy_plan + create_clips_from_assets
xiaoxia added 1 commit 2026-07-16 09:48:23 +08:00
feat: 剪辑计划片段CRUD API - 列表/详情/创建/更新/删除
CI Build & Deploy Pipeline / Build Staging API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (push) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (push) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 55s
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 46s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m21s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m5s
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
4a1b348906
新增 edit_plans_clips.py 路由模块,暴露 5 个接口:
- GET    /{plan_id}/clips              获取片段列表(支持状态过滤+分页)
- POST   /{plan_id}/clips              创建片段
- GET    /{plan_id}/clips/{clip_id}    获取片段详情
- PUT    /{plan_id}/clips/{clip_id}    更新片段
- DELETE /{plan_id}/clips/{clip_id}    删除片段

复用 EditPlanService 已有的 clip CRUD 方法
支持项目级权限校验(通过 plan.project_id 关联)
自动触发编辑状态回退(编辑时从 completed/failed 切回 editing)
xiaoxia added 1 commit 2026-07-16 09:50:12 +08:00
feat: 片段批量操作API - 重排序 + 批量删除
CI Build & Deploy Pipeline / Build Staging API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (push) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 1m6s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 32s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m2s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m13s
CI/CD Pipeline / Unit Tests (push) Successful in 3m14s
CI Build & Deploy Pipeline / Build Production API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
986fc92da3
新增 2 个批量操作接口:
- POST /{plan_id}/clips/reorder       批量重排序(前端拖拽后一次性提交)
- POST /{plan_id}/clips/batch-delete  批量删除片段

自动触发编辑状态回退(completed/failed → editing)
自动校验片段归属(不属于该plan的片段会被拒绝/跳过)
xiaoxia added 1 commit 2026-07-16 09:56:53 +08:00
feat: 复制剪辑计划接口 - POST /{plan_id}/copy
CI Build & Deploy Pipeline / Build Staging API Image (push) Has been cancelled
CI Build & Deploy Pipeline / Build Staging Web Image (push) Has been cancelled
CI Build & Deploy Pipeline / Build Staging Worker Image (push) Has been cancelled
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI Build & Deploy Pipeline / Staging E2E Tests (push) Has been cancelled
CI Build & Deploy Pipeline / Staging API Integration Tests (push) Has been cancelled
CI Build & Deploy Pipeline / Build Production API Image (push) Has been cancelled
CI Build & Deploy Pipeline / Build Production Web Image (push) Has been cancelled
CI Build & Deploy Pipeline / Build Production Worker Image (push) Has been cancelled
CI Build & Deploy Pipeline / Deploy Production (push) Has been cancelled
CI Build & Deploy Pipeline / Production Browser E2E (push) Has been cancelled
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been cancelled
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
f0f9a38d27
新增复制剪辑计划功能:
- 复制计划基础配置 + 所有片段配置
- 新计划状态为 editing,不含生成任务和渲染结果
- 默认名称为「原名 - 副本」,支持自定义名称
- 支持跨项目复制(需目标项目权限)
- source_edit_plan_id 记录源计划,便于追溯
xiaoxia changed title from feat: 剪辑计划片段CRUD API - 列表/详情/创建/更新/删除 to feat: 剪辑计划片段CRUD + 批量操作 + 复制计划 2026-07-16 09:57:14 +08:00
xiaoxia added 1 commit 2026-07-16 10:01:22 +08:00
feat: 从素材批量创建片段接口 - POST /{plan_id}/clips/from-assets
CI Build & Deploy Pipeline / Build Staging API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (push) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 56s
CI Build & Deploy Pipeline / Build Production API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 43s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m9s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m6s
CI/CD Pipeline / Unit Tests (push) Successful in 3m38s
CI/CD Pipeline / Integration Tests (push) Successful in 3m10s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m48s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m21s
57ce480aee
新增素材批量添加到时间线接口:
- 一次性将多个素材作为 main 片段追加到剪辑计划末尾
- 自动读取素材 duration 填充片段时长
- 自动触发编辑状态回退(completed/failed → editing)
- 支持自定义 clip_type
- 最多 200 个素材一次

Service 层新增 create_clips_from_assets 方法
xiaoxia changed title from feat: 剪辑计划片段CRUD + 批量操作 + 复制计划 to feat: 剪辑计划后端补齐 - 片段CRUD + 批量操作 + 复制计划 + 素材批量导入 2026-07-16 10:01:56 +08:00
xiaoxia merged commit 828b37bce1 into develop 2026-07-16 12:58:59 +08:00
Sign in to join this conversation.