使用后台正式问题编号

This commit is contained in:
2026-09-02 17:10:51 +08:00
parent df42e526af
commit fe15b11733

View File

@@ -83,6 +83,21 @@ def _overlay_acceptance_questions(data: dict[str, Any], batch_key: str) -> dict[
return data
if not keywords:
return data
configured_codes: dict[str, str] = {}
if Config.EVIDENCE_ADMIN_BASE_URL:
try:
response = SESSION.get(
f"{Config.EVIDENCE_ADMIN_BASE_URL}/api/options",
timeout=min(Config.CRAWLER_TIMEOUT_SECONDS, 10),
)
response.raise_for_status()
scopes = (response.json().get("data") or {}).get("scopes") or []
configured_codes = {
str(row.get("search_keyword") or ""): str(row.get("question_code") or "")
for row in scopes if str(row.get("batch_key") or "") == normalized_key
}
except (requests.RequestException, ValueError):
configured_codes = {}
current = {
str(item.get("search_keyword") or ""): item
for item in data.get("questions", [])
@@ -91,7 +106,8 @@ def _overlay_acceptance_questions(data: dict[str, Any], batch_key: str) -> dict[
for index, keyword in enumerate(keywords):
item = dict(current.get(keyword, {}))
item.update({
"question_code": item.get("question_code") or "X" + hashlib.sha256(keyword.encode()).hexdigest()[:15],
"question_code": item.get("question_code") or configured_codes.get(keyword)
or "X" + hashlib.sha256(keyword.encode()).hexdigest()[:15],
"search_keyword": keyword,
"question_direction": item.get("question_direction") or task["name"],
"display_order": index + 1,