落地私聊空运询价与TMS报价回填,按后台模板出单。

查到价后把币种、单位、数量、单价、备注写入报价单,避免销售只看到光秃秃的金额。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-14 20:25:35 +08:00
co-authored by Cursor
parent cea3a6e51e
commit 99da1faf30
78 changed files with 8838 additions and 321 deletions
+13 -2
View File
@@ -35,8 +35,13 @@ def parse_plain_xml(xml_text: str, *, default_agent_id: str = "") -> InboundMess
create_time = int(create_time_raw) if create_time_raw.isdigit() else 0
agent_id = _text(root, "AgentID") or _text(root, "AgentId") or default_agent_id
content = _text(root, "Content") if msg_type == "text" else ""
# 事件类可带 Event Key;骨架阶段仅记 raw,不进 Graph
# 事件类可带 Event Key;模板卡点击要把按钮键收成可入询价流程的正文
event = _text(root, "Event")
event_key = _text(root, "EventKey")
response_code = _text(root, "ResponseCode")
task_id = _text(root, "TaskId") or _text(root, "TaskID")
if not content and event.lower() in {"template_card_event", "click", "templatecardevent"}:
content = event_key
if not msg_id:
# 无 MsgId(如部分事件)时用发送人+时间拼幂等键,避免空键撞车
msg_id = f"{sender_id}:{create_time}:{msg_type}:{event}"
@@ -58,7 +63,13 @@ def parse_plain_xml(xml_text: str, *, default_agent_id: str = "") -> InboundMess
agent_id=agent_id,
create_time=create_time,
media={},
raw={"event": event, "xml": xml_text},
raw={
"event": event,
"event_key": event_key,
"response_code": response_code,
"task_id": task_id,
"xml": xml_text,
},
)