落地销售调价:按自然语言改价并单独记销售价,拉群和后台不再把调后价当成 TMS 原价。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-20 14:40:20 +08:00
co-authored by Cursor
parent e4743541f7
commit 26dd5d72a1
36 changed files with 2795 additions and 176 deletions
+30 -1
View File
@@ -26,7 +26,7 @@ from agent.handlers.group_collab import handle_group_collab
from agent.ledger.memory_ledger import MemoryLedger
from agent.policy import inquiry_copy as copy
from agent.policy.land_text_flow import LandTextInquiryFlow
from agent.routing.group_intent import INTENT_FIELDS, INTENT_QUOTE
from agent.routing.group_intent import INTENT_ADJUST, INTENT_FIELDS, INTENT_QUOTE
class CountingLedger(MemoryLedger):
@@ -300,6 +300,35 @@ class LandGroupCollabTests(unittest.TestCase):
ticket = self.ledger.get_ticket(work_order_no=wo)
self.assertTrue(ticket.quote)
def test_sales_adjust_sends_excel_and_deal(self) -> None:
wo, _ = self._open(option_text="国内运输拼车 国内长途/零担 急件")
self.groups.sent.clear()
phase = handle_group_collab(
self._msg(sender="u1", text="空运费加 10%", mid="adj1"),
flow=self.flow,
ledger=self.ledger,
injected_intent=INTENT_ADJUST,
)
self.assertEqual(phase, "group_adjusted")
texts = self._group_texts()
self.assertIn("已识别调价指令", texts)
self.assertIn("调价后价格", texts)
self.assertTrue(any(x.get("kind") == "file" for x in self.groups.sent))
ticket = self.ledger.get_ticket(work_order_no=wo)
self.assertEqual(ticket.status, "已报价")
def test_product_cannot_adjust(self) -> None:
self._open(option_text="国内运输拼车 国内长途/零担 急件")
self.groups.sent.clear()
phase = handle_group_collab(
self._msg(sender="p_dom", text="空运费减 5%", mid="adj2"),
flow=self.flow,
ledger=self.ledger,
injected_intent=INTENT_ADJUST,
)
self.assertEqual(phase, "adjust_not_sales")
self.assertIn("只有这张单的销售能调价", self._group_texts())
if __name__ == "__main__":
unittest.main()