修复图片生成积分后台计算逻辑不对没有加上每张积分

This commit is contained in:
2026-07-28 11:43:15 +08:00
parent 9b3541264f
commit 570292266e
2 changed files with 17 additions and 0 deletions
+11
View File
@@ -52,6 +52,7 @@ from app.services.generation.billing_service import (
)
from app.services.generation.history_delete_service import batch_delete_generation_history_items
from app.services.generation.log_service import log_task_event
from app.services.generation.media_reference_service import calculate_media_reference_usage
from app.services.resource_capacity_service import assert_user_resource_capacity_available
from app.services.operation_log_service import log_operation_event
from app.tasks.celery_app import celery_app
@@ -804,6 +805,14 @@ async def retry_task(
quantity = int(target.generation_count or 1) if (
target.generation_mode == GenerationMode.CHATAPI_MAIN.value and target.gen_type == "image"
) else 1
refs = target.media_references or "[]"
if isinstance(refs, str):
import json
try:
refs = json.loads(refs)
except Exception:
refs = []
reference_usage = calculate_media_reference_usage(refs, include=True)
media_billing = await charge_generation_media_by_params(
db,
user_id=target.user_id,
@@ -813,6 +822,8 @@ async def retry_task(
duration=target.duration,
resolution=target.resolution,
engine_id=target.engine_id,
input_video_duration=reference_usage.input_video_duration or None,
input_image_count=reference_usage.image_count or None,
project_name="AI生成任务",
description_prefix="Chat任务重试",
owner_type=OWNER_CHAT_GENERATION_TASK,