落地空运单聊询价字段与线路选择。

必填核对后再建单;多条线路走 H5 点选;费用只展示该线路 TMS 回包,不套用整单空运费。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-22 15:02:32 +08:00
co-authored by Cursor
parent 8afe909230
commit cfbce2fd69
53 changed files with 3470 additions and 372 deletions
+18 -3
View File
@@ -40,6 +40,18 @@ COMPLETE_AIR = {
}
def _until_quoted(flow, **kwargs) -> str:
"""必填齐先出核对卡,单测自动回确定再建单查价。"""
phase = flow.on_text(**kwargs)
if phase == "wait_confirm":
phase = flow.on_text(
sender_id=kwargs["sender_id"],
text="确定",
reply=kwargs["reply"],
)
return phase
class ContinueTicketTests(unittest.TestCase):
def setUp(self) -> None:
from agent.redis_coord.runtime import shutdown_redis_runtime
@@ -134,7 +146,8 @@ class ContinueTicketTests(unittest.TestCase):
replies.append(text)
extras.append(dict(extra) if extra else {})
flow.on_text(
_until_quoted(
flow,
sender_id="u1",
text="空运",
reply=reply,
@@ -266,7 +279,8 @@ class ContinueTicketTests(unittest.TestCase):
sink.append(text)
_ = extra
live.on_text(
_until_quoted(
live,
sender_id="u5",
text="空运",
reply=reply,
@@ -277,7 +291,8 @@ class ContinueTicketTests(unittest.TestCase):
live.on_button(sender_id="u5", action=copy.BTN_SKIP_COLLAB, reply=reply)
other = dict(COMPLETE_AIR)
other["品名"] = "服装"
live.on_text(
_until_quoted(
live,
sender_id="u5",
text="空运",
reply=reply,