celery worker poll 频次机制调整| celery beat 设置poll检测任务| 拆镜复刻切片删除API | 交易流水时区BUG

This commit is contained in:
2026-07-02 09:36:38 +08:00
parent c6df04a895
commit f6c5032c7b
22 changed files with 1039 additions and 124 deletions
@@ -31,6 +31,7 @@ from app.schemas.shot_replicate import (
ShotReplicateSpecOut,
ShotReplicateTaskDetailOut,
ShotReplicateVideoPromptSchemaUpdateRequest,
ShotSegmentDeleteOut,
ShotSegmentDetailOut,
ShotSegmentListOut,
ShotSegmentReplicationCreateRequest,
@@ -60,6 +61,7 @@ from app.services.shot_replicate_taskset_service import (
create_custom_segment,
create_segments_by_ai,
create_task_set,
delete_segment,
get_segment_for_user,
list_segments,
list_task_sets,
@@ -455,6 +457,34 @@ async def get_segment(
return await segment_detail(db, current_user=current_user, segment_id=segment_id)
@router.delete(
"/segments/{segment_id}",
response_model=ShotSegmentDeleteOut,
summary="软删除拆镜片段",
description=(
"软删除单个拆镜片段;不删除 segment_video_path 指向的物理文件。"
"如片段已创建拆镜复刻项目,会联动软删除该项目和已生成资源账本,但用户主动删除不退款。"
"如片段或关联项目仍有处理中任务,会拒绝删除。"
),
)
async def delete_shot_segment(
segment_id: str = Path(..., description="拆镜片段ID,即 shot_replicate_segments.id"),
current_user: User = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
try:
out = await delete_segment(db, current_user=current_user, segment_id=segment_id)
await db.commit()
return out
except HTTPException:
await db.rollback()
raise
except Exception as exc:
await db.rollback()
_log_api_exception_from_locals(exc, locals(), f"删除拆镜片段失败: {exc}")
raise HTTPException(status_code=500, detail=f"删除拆镜片段失败: {exc}")
@router.post(
"/segments/{segment_id}/replication-projects",
response_model=ShotReplicateActionOut,