爆款/拆镜生成简化3个步骤 | 项目生成可携带附件控制

This commit is contained in:
2026-07-21 14:01:08 +08:00
parent 40efcf55cf
commit 79c09151ba
60 changed files with 4250 additions and 924 deletions
@@ -19,6 +19,7 @@ from app.enums.recent_generation import (
)
from app.models.chat_generation_task import ChatGenerationTask
from app.models.generation_record import GenerationRecord
from app.models.module_generation_project import ModuleGenerationProject
from app.models.module_generation_step import ModuleGenerationStep
from app.models.shot_replicate_segment import ShotReplicateSegment
from app.schemas.recent_generation import RecentGenerationGroupOut, RecentGenerationItemOut
@@ -30,6 +31,7 @@ MAX_RECENT_GENERATION_LIMIT = 100
class _StepLinkInfo(TypedDict):
module_project_id: str | None
module_project_flow_version: str | None
module_step_id: str | None
module: str | None
@@ -115,6 +117,7 @@ def _build_item(
module=module,
shot_task_set_id=shot_info["shot_task_set_id"] if shot_info else None,
shot_segment_id=shot_info["shot_segment_id"] if shot_info else None,
module_project_flow_version=step_info["module_project_flow_version"] if step_info else None,
module_project_id=step_info["module_project_id"] if step_info else None,
module_step_id=step_info["module_step_id"] if step_info else None,
generation_id=generation_id,
@@ -248,11 +251,14 @@ async def _load_step_link_map(
ModuleGenerationStep.id.label("module_step_id"),
ModuleGenerationStep.project_id.label("module_project_id"),
ModuleGenerationStep.module.label("module"),
ModuleGenerationProject.flow_version.label("module_project_flow_version"),
ModuleGenerationStep.is_current.label("is_current"),
ModuleGenerationStep.updated_at.label("updated_at"),
)
.join(ModuleGenerationProject, ModuleGenerationProject.id == ModuleGenerationStep.project_id)
.where(
ModuleGenerationStep.deleted_at.is_(None),
ModuleGenerationProject.deleted_at.is_(None),
ModuleGenerationStep.chat_task_id.in_(chat_task_ids),
ModuleGenerationStep.module.in_(
[
@@ -276,6 +282,7 @@ async def _load_step_link_map(
continue
link_map[chat_task_id] = {
"module_project_id": row["module_project_id"],
"module_project_flow_version": str(row["module_project_flow_version"] or "v1"),
"module_step_id": row["module_step_id"],
"module": row["module"],
}