上传素材管控-历史素材success
This commit is contained in:
@@ -83,6 +83,8 @@ from app.services.module_generation_step_update_service import (
|
||||
update_module_video_prompt_schema,
|
||||
)
|
||||
from app.services.resource_signed_url_service import build_resource_signed_url
|
||||
from app.enums.upload_resource import UploadResourceModuleEnum, UploadResourceSourceModelEnum
|
||||
from app.services.upload_resource import release_upload_resources_by_source
|
||||
from app.services.video_prompt_schema_config_service import fallback_runtime_schema_snapshot, get_runtime_schema_snapshot
|
||||
from app.utils.id_gen import generate_id
|
||||
|
||||
@@ -501,6 +503,9 @@ async def create_hot_opening_project(db: AsyncSession, current_user: User, req:
|
||||
input_data={
|
||||
"material_video_url": req.material_video_url,
|
||||
"material_image_url": req.material_image_url,
|
||||
"material_video_resource_id": req.material_video_resource_id,
|
||||
"material_image_resource_id": req.material_image_resource_id,
|
||||
"material_video_duration_seconds": req.material_video_duration_seconds,
|
||||
"source_project_name": req.source_project_name,
|
||||
"target_project_name": req.target_project_name,
|
||||
"core_content_point": req.core_content_point,
|
||||
@@ -1506,11 +1511,37 @@ async def mark_hot_opening_step_dispatch_failed(
|
||||
|
||||
async def delete_hot_opening_project(db: AsyncSession, *, current_user: User, project_id: str) -> HotOpeningDeleteOut:
|
||||
project = await _get_project_for_user(db, project_id=project_id, user=current_user, for_update=True)
|
||||
project_id_snapshot = project.id
|
||||
deleted_at = _now()
|
||||
project.deleted_at = deleted_at
|
||||
await _soft_delete_steps_from_index(db, project=project, start_index=1, deleted_at=deleted_at)
|
||||
await log_module_event(db, project=project, event_type=ModuleEventTypeEnum.PROJECT_DELETED.value, message="软删除爆款开头复刻项目")
|
||||
return HotOpeningDeleteOut(message="项目已删除", project_id=project.id, deleted=True)
|
||||
upload_release = await release_upload_resources_by_source(
|
||||
db,
|
||||
source_model=UploadResourceSourceModelEnum.MODULE_GENERATION_PROJECT.value,
|
||||
source_ids=[project_id_snapshot],
|
||||
module=UploadResourceModuleEnum.HOT_OPENING_REPLICATE.value,
|
||||
)
|
||||
pending_ids = list(upload_release.get("released_resource_ids") or [])
|
||||
released_size = int(upload_release.get("released_size_bytes") or 0)
|
||||
upload_resource_released = int(upload_release.get("released") or 0)
|
||||
await log_module_event(
|
||||
db,
|
||||
project=project,
|
||||
event_type=ModuleEventTypeEnum.PROJECT_DELETED.value,
|
||||
message="软删除爆款开头复刻项目",
|
||||
detail={
|
||||
"upload_resource_release": {k: v for k, v in upload_release.items() if k != "released_resource_ids"},
|
||||
"pending_delete_resource_count": len(pending_ids),
|
||||
},
|
||||
)
|
||||
return HotOpeningDeleteOut(
|
||||
message="项目已删除",
|
||||
project_id=project_id_snapshot,
|
||||
deleted=True,
|
||||
released_size_bytes=released_size,
|
||||
upload_resource_released=upload_resource_released,
|
||||
pending_delete_resource_ids=pending_ids,
|
||||
)
|
||||
|
||||
def _build_file_url_or_data_uri(file_url: str) -> str:
|
||||
return _common_build_file_url_or_data_uri(file_url)
|
||||
|
||||
Reference in New Issue
Block a user