大量优化修改扣积分规则

This commit is contained in:
Azmat@qq.com
2026-09-04 17:20:22 +08:00
parent 3e904479d9
commit 15718a60bf
41 changed files with 1590 additions and 429 deletions
+11 -1
View File
@@ -1612,7 +1612,17 @@ def persist_script_draft(*, project, user, task, draft: dict, source: str):
dialogue=seg.get("dialogue") or [],
product_points=[],
)
_map_entities_to_project_metadata(project, draft.get("entities", []))
ents = draft.get("entities") or []
_map_entities_to_project_metadata(project, ents)
# 出稿已带角色+场景时,直接视为已提取(资产页免再点付费提取)
if any((e or {}).get("type") == "character" for e in ents if isinstance(e, dict)) and any(
(e or {}).get("type") == "scene" for e in ents if isinstance(e, dict)
):
md = dict(project.metadata or {})
md["entities_extracted"] = True
md["entities_extract_mode"] = "from_script"
project.metadata = md
project.save(update_fields=["metadata", "updated_at"])
stage, _ = ProjectStage.objects.get_or_create(project=project, stage=ProjectStage.Stage.SCRIPT)
stage.status = ProjectStage.Status.NEEDS_REVIEW
stage.save(update_fields=["status", "updated_at"])