调价后的新价格写入报价单;多段段前的货物带到各段,协同群不再把体积里的星号吃掉。海运字段齐了先核对再查价。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-03 22:39:54 +08:00
co-authored by Cursor
parent 0a14b4cc15
commit 7c77e45e03
32 changed files with 1384 additions and 75 deletions
@@ -184,7 +184,8 @@ def handle_air_group(
return "handoff_ignore"
from agent.policy.system_exception import reply_paused_ticket, ticket_is_paused
if ticket_is_paused(ticket):
# 锁舱失败留下的暂停只拦还要打 TMS 的操作。成交、未成交和补原因不调用 TMS。
if ticket_is_paused(ticket) and not _deal_ignores_tms_pause(ticket, intent):
reply_paused_ticket(
ticket=ticket,
reply=lambda text: send_group_text(group_client_of(engine), chat_id, text),
@@ -281,6 +282,21 @@ def _handle_cabin(
)
def _deal_ignores_tms_pause(ticket: object, intent: str) -> bool:
"""
成交跟进不因 TMS 暂停而改口。
上午锁舱失败会把工单标成暂停。之后群里确认未成交、或补未成交原因,
不能再回「TMS接口异常」。锁舱、释放仍走各自的重试。
"""
if intent in {INTENT_DEAL, INTENT_LOST, INTENT_NEGOTIATE}:
return True
view = ticket_view(ticket)
status = str(view.get("status") or "").strip()
reason = str(view.get("lost_reason") or "").strip()
return status == "未成交" and not reason
def _handle_bound(
engine,
message: InboundMessage,