机器人显示名与站点标题可配;多段联运列表投影;协同群监听对账;工单附件落存;模板与工单后台补强

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
linmianxun
2026-10-19 09:41:59 +08:00
co-authored by Cursor
parent 277cdc1c28
commit 2b528758b4
119 changed files with 6760 additions and 3516 deletions
@@ -174,6 +174,43 @@ class AirAddedServicesTests(unittest.TestCase):
self.assertTrue(assemble_air_query(bare)["ok"])
self.assertNotIn("added_services", assemble_air_query(bare)["facts"])
def test_empty_trade_terms_does_not_swallow_added_services(self) -> None:
"""
空运补问复制清单:贸易条款留空时,不能把「10.增值服务」收成贸易条款。
测服复现:核对卡出现「贸易条款(非必填):10.增值服务」。
"""
multi = (
"1.起运地(必填):南京\n"
"2.目的地(必填):吉隆坡\n"
"3.品名(必填):普货\n"
"4.件数(必填):10\n"
"5.重量(KG)(必填):21\n"
"6.体积(CBM)(必填):1.1*1.2*1.3\n"
"7.包装类型(必填):散货\n"
"8.贸易条款(非必填):\n"
"9.增值服务(非必填):卡转低消、前置仓\n"
"10.报价日期(非必填):"
)
same_line = (
"1.起运地(必填):南京\n"
"2.目的地(必填):吉隆坡\n"
"3.品名(必填):普货\n"
"4.件数(必填):10\n"
"5.重量(KG)(必填):2\n"
"6.体积(CBM)(必填):1.2*1.3*1.5\n"
"7.包装类型(必填):散货\n"
"8.贸易条款(非必填):9.增值服务(非必填):卡转低消、前置仓\n"
"10.报价日期(非必填):"
)
for text in (multi, same_line):
snap = extract_inquiry_snapshot(text, injected_mode="AIR")
facts = snap["facts"]
trade = str(facts.get("贸易条款") or "")
self.assertFalse(trade, msg=repr(trade))
self.assertNotIn("增值服务", trade)
self.assertEqual(facts.get("added_services"), "卡转低消、前置仓")
if __name__ == "__main__":
unittest.main()