fix: harden online validation flows

This commit is contained in:
yangqianqian
2026-07-01 10:56:08 +08:00
parent da137f099f
commit 033ef89536
7 changed files with 142 additions and 15 deletions

View File

@@ -87,6 +87,29 @@ def create_generation_task(
# 第2环关联标杆笔记ID存库JSON list。pipeline 据此读 features_json 注入文案 prompt。
import json
_bids = getattr(body, "benchmark_ids", None) or []
if _bids:
from app.models.product import BenchmarkNote
ids = [int(i) for i in _bids]
rows = (
db.query(BenchmarkNote)
.filter(
BenchmarkNote.id.in_(ids),
BenchmarkNote.workspace_id == current_user.workspace_id,
BenchmarkNote.product_id == body.product_id,
)
.all()
)
by_id = {int(b.id): b for b in rows}
missing = [i for i in ids if i not in by_id]
if missing:
raise_business(f"标杆笔记不存在或不属于当前产品:{missing[:3]}")
not_ready = [
i for i in ids
if by_id[i].analyze_status != "done" or by_id[i].analysis_source == "fallback"
]
if not_ready:
raise_business("所选标杆尚未分析完成,请先到系统管理里点击「分析标杆」")
benchmark_ids_json = json.dumps([int(i) for i in _bids]) if _bids else None
task = GenerationTask(