修复拆镜复刻路由,修补API参数说明,版本迁移异常修复

This commit is contained in:
2026-06-17 11:25:11 +08:00
parent 0bad14936b
commit 5d5e6485ee
6 changed files with 493 additions and 291 deletions
@@ -8,6 +8,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from app.dependencies import get_current_user, get_db
from app.models.user import User
from app.enums.common import ModuleProjectStatusEnum
from app.enums.hot_opening_replicate import HotOpeningStepCodeEnum, ModuleCodeEnum
from app.schemas.hot_opening_replicate import (
HotOpeningActionOut,
@@ -195,7 +196,7 @@ async def _mark_dispatch_failed_and_raise(
"/spec",
response_model=HotOpeningSpecOut,
summary="查询爆款开头复刻模块状态枚举和步骤 JSON 结构说明",
description="返回总任务状态、子任务状态、5个固定步骤编码以及每个步骤 input_json/output_json 的统一结构示例,方便前端和排查人员对照",
description="保留给调试和前端兜底读取。原业务接口已经在 Path、Query、Body 和响应模型字段上直接展示参数说明与枚举值",
)
async def get_spec():
return HotOpeningSpecOut()
@@ -239,13 +240,13 @@ async def create_task(
description="分页查询爆款开头复刻总任务项目列表。普通用户只能查看自己的项目,管理员可查看全部。",
)
async def list_tasks(
status: str | None = Query(None, description="总任务状态筛选,例如 waiting_userprocessingcompletedfailed;为空不过滤"),
status: ModuleProjectStatusEnum | None = Query(None, description="总任务状态筛选pending=已创建waiting_user=等待用户操作,processing=处理中,completed=完成,failed=失败,cancelled=取消;为空不过滤"),
page: int = Query(1, ge=1, description="分页页码,从1开始"),
page_size: int = Query(20, ge=1, le=100, description="每页数量,范围1-100"),
current_user: User = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
return await list_hot_opening_projects(db, current_user=current_user, status=status, page=page, page_size=page_size)
return await list_hot_opening_projects(db, current_user=current_user, status=status.value if status else None, page=page, page_size=page_size)
@router.get(