积分消耗明细改版V1
This commit is contained in:
@@ -39,7 +39,7 @@ from app.services.shot_replicate_taskset_service import (
|
||||
from app.services.shot_video_analysis_service import analyze_video_for_shot_split
|
||||
from app.services.llm_billing import (
|
||||
LlmBillingContext,
|
||||
ensure_pre_deducted,
|
||||
ensure_llm_charged,
|
||||
log_provider_failure,
|
||||
log_provider_start,
|
||||
log_provider_success,
|
||||
@@ -474,9 +474,9 @@ async def _run_analyze_original_video(task_set_id: str, expected_attempt_no: int
|
||||
description_prefix="拆镜复刻原视频分析",
|
||||
trace_id=f"shot-task-set-analysis:{task_set_id}:attempt:{attempt_no}",
|
||||
)
|
||||
pre_deduct_validation = await ensure_pre_deducted(db, llm_billing_context)
|
||||
if not pre_deduct_validation.can_execute:
|
||||
error_message = f"LLM账务状态异常({pre_deduct_validation.state.value}),已终止原视频分析任务"
|
||||
charge_validation = await ensure_llm_charged(db, llm_billing_context)
|
||||
if not charge_validation.can_execute:
|
||||
error_message = f"LLM账务状态异常({charge_validation.state.value}),已终止原视频分析任务"
|
||||
task_set.status = ShotTaskSetStatusEnum.ANALYSIS_FAILED.value
|
||||
task_set.analysis_status = ShotAnalysisStatusEnum.FAILED.value
|
||||
task_set.analysis_claim_token = None
|
||||
@@ -746,9 +746,9 @@ async def _run_analyze_custom_segment_video(segment_id: str, expected_attempt_no
|
||||
description_prefix="拆镜复刻片段视频分析",
|
||||
trace_id=f"shot-segment-analysis:{segment_id}:attempt:{attempt_no}",
|
||||
)
|
||||
pre_deduct_validation = await ensure_pre_deducted(db, llm_billing_context)
|
||||
if not pre_deduct_validation.can_execute:
|
||||
error_message = f"LLM账务状态异常({pre_deduct_validation.state.value}),已终止片段视频分析任务"
|
||||
charge_validation = await ensure_llm_charged(db, llm_billing_context)
|
||||
if not charge_validation.can_execute:
|
||||
error_message = f"LLM账务状态异常({charge_validation.state.value}),已终止片段视频分析任务"
|
||||
segment.analysis_status = ShotSegmentAnalysisStatusEnum.FAILED.value
|
||||
segment.analysis_claim_token = None
|
||||
segment.analysis_lease_until = None
|
||||
@@ -957,7 +957,7 @@ async def _mark_auto_segment_analysis_dispatch_failed(
|
||||
project_id=task_set_id,
|
||||
step_id=segment_id,
|
||||
user_id=user_id,
|
||||
message="自定义切片分析任务投递失败,已标记分析失败并退回固定预扣积分",
|
||||
message="自定义切片分析任务投递失败,已标记分析失败并退回场景消费积分",
|
||||
detail={
|
||||
"segment_id": segment_id,
|
||||
"task_set_id": task_set_id,
|
||||
@@ -1216,7 +1216,7 @@ async def _run_split_one_segment(segment_id: str) -> None:
|
||||
segment.split_status = ShotSplitStatusEnum.FAILED.value
|
||||
segment.split_next_retry_at = None
|
||||
final_failed = True
|
||||
# 切片最终失败不退回片段分析固定预扣;手动切片重试继续沿用
|
||||
# 切片最终失败不退回片段分析场景积分消费;手动切片重试继续沿用
|
||||
# 原 attempt。用户最终删除片段/任务集时再做取消补偿。
|
||||
else:
|
||||
segment.split_status = ShotSplitStatusEnum.RETRY_WAITING.value
|
||||
|
||||
Reference in New Issue
Block a user