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) 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]: def _to_bool(self, value: Any) -> Optional[bool]:
if isinstance(value, bool): if isinstance(value, bool):
return value return value
@ -177,7 +190,7 @@ class HuobanyunService:
offset = 0 offset = 0
key = req.key or raw.get("key") or raw.get("field") or req.token or "" 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 "" query_value = req.query or req.keyword or ""
linkage_params = req.linkage_params or raw.get("linkage_params") 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 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", "") item_id = item.get("item_id", "")
if linkage_project_no: if linkage_project_no:
if key: if key:
value = self._extract_value(fields.get(key, "")) desired_fields = [(self._resolve_field_label(key), key)]
values = {key: value}
else: else:
values = { desired_fields = [
"平台": self._extract_value(fields.get(self._resolve_field_key("平台"), "")), ("平台", self._resolve_field_key("平台")),
"账号名称": self._extract_value(fields.get(self._resolve_field_key("账号名称"), "")), ("账号名称", self._resolve_field_key("账号名称")),
"项目名称": self._extract_value(fields.get(self._resolve_field_key("项目名称"), "")), ("项目名称", self._resolve_field_key("项目名称")),
} ]
for field_name, value in values.items(): 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) 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}" 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}) options.append({"id": f"{item_id}:{field_name}", "value": i18n_key, "isDefault": False})