This commit is contained in:
Marsway 2026-02-03 17:28:57 +08:00
parent f147b24a29
commit f809f22ea5
1 changed files with 22 additions and 9 deletions

View File

@ -50,6 +50,19 @@ class HuobanyunService:
}
return mapping.get(key, key)
def _resolve_field_label(self, key: str) -> str:
reverse = {
"2200000149785345": "项目单号",
"2200000150711223": "项目名称",
"2200000150497330": "订单状态",
"2200000149785349": "下单金额",
"2200000589775224": "是否已关联对公付款审批",
"2200000589775228": "是否已关联对私付款审批",
"2200000149785346": "平台",
"2200000150497326": "账号名称",
}
return reverse.get(key, key)
def _to_bool(self, value: Any) -> Optional[bool]:
if isinstance(value, bool):
return value
@ -177,7 +190,7 @@ class HuobanyunService:
offset = 0
key = req.key or raw.get("key") or raw.get("field") or req.token or ""
key = self._resolve_field_key(str(key)) if key else ""
key = self._resolve_field_key(str(key).strip()) if key else ""
query_value = req.query or req.keyword or ""
linkage_params = req.linkage_params or raw.get("linkage_params") or {}
linkage_project_no = linkage_params.get("项目单号") if isinstance(linkage_params, dict) else None
@ -208,15 +221,15 @@ class HuobanyunService:
item_id = item.get("item_id", "")
if linkage_project_no:
if key:
value = self._extract_value(fields.get(key, ""))
values = {key: value}
desired_fields = [(self._resolve_field_label(key), key)]
else:
values = {
"平台": self._extract_value(fields.get(self._resolve_field_key("平台"), "")),
"账号名称": self._extract_value(fields.get(self._resolve_field_key("账号名称"), "")),
"项目名称": self._extract_value(fields.get(self._resolve_field_key("项目名称"), "")),
}
for field_name, value in values.items():
desired_fields = [
("平台", self._resolve_field_key("平台")),
("账号名称", self._resolve_field_key("账号名称")),
("项目名称", self._resolve_field_key("项目名称")),
]
for field_name, field_key in desired_fields:
value = self._extract_value(fields.get(field_key, ""))
value_str = "" if value is None else str(value)
i18n_key = f"@i18n@{item_id}:{field_name}" if item_id else f"@i18n@{field_name}:{value_str}"
options.append({"id": f"{item_id}:{field_name}", "value": i18n_key, "isDefault": False})