refactor: remove hardcoded routing rules and centralize AI master rules
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled
This commit is contained in:
@@ -38,7 +38,6 @@ def migrate_state_schema(state: dict[str, Any] | None) -> dict[str, Any]:
|
||||
def evolve_after_sales_state(prev_state: dict[str, Any], *, route: str, action: str, intent: str, order_status: str, msg: str) -> dict[str, Any]:
|
||||
s = migrate_state_schema(prev_state)
|
||||
stage = s.get("after_sales_stage", "new")
|
||||
text = (msg or "").lower()
|
||||
|
||||
if action == "transfer" or route == "risk":
|
||||
stage = "transferred"
|
||||
@@ -46,22 +45,14 @@ def evolve_after_sales_state(prev_state: dict[str, Any], *, route: str, action:
|
||||
stage = "quoted"
|
||||
s["quote_count"] = int(s.get("quote_count", 0)) + 1
|
||||
elif route == "after_sales":
|
||||
if any(k in text for k in ["退款", "退钱", "退货"]):
|
||||
stage = "refunding"
|
||||
elif any(k in text for k in ["做完", "完成", "好了", "发我"]):
|
||||
stage = "waiting_feedback"
|
||||
elif any(k in text for k in ["补图", "重发", "再发", "原图"]):
|
||||
stage = "waiting_material"
|
||||
elif order_status == "paid":
|
||||
if order_status == "paid":
|
||||
stage = "processing"
|
||||
elif stage == "new":
|
||||
stage = "waiting_material"
|
||||
elif route == "pre_sales":
|
||||
if intent == "image":
|
||||
stage = "waiting_material"
|
||||
|
||||
# 终态收敛
|
||||
if stage == "waiting_feedback" and any(k in text for k in ["没问题", "可以", "确认", "好评"]):
|
||||
stage = "done"
|
||||
|
||||
s["after_sales_stage"] = stage
|
||||
s["last_intent"] = intent
|
||||
s["last_order_status"] = order_status or "unknown"
|
||||
|
||||
Reference in New Issue
Block a user