feat: 重构订单和物流信息展示格式

主要改动:
- 订单列表:使用 order_list 格式,展示 5 个订单(全部状态)
- 订单详情:使用 order_detail 格式,优化价格和时间显示
- 物流信息:使用 logistics 格式,根据 track id 动态生成步骤
- 商品图片:从 orderProduct.imageUrl 字段获取
- 时间格式:统一为 YYYY-MM-DD HH:MM:SS
- 多语言支持:amountLabel、orderTime 支持中英文
- 配置管理:新增 FRONTEND_URL 环境变量
- API 集成:改进 Mall API tracks 数据解析
- 认证优化:account_id 从 webhook 动态获取

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
wangliang
2026-01-23 18:49:40 +08:00
parent e8e89601a5
commit 0b5d0a8086
11 changed files with 1493 additions and 394 deletions

View File

@@ -69,13 +69,98 @@ async def customer_service_agent(state: AgentState) -> AgentState:
# Auto-detect category and query FAQ
message_lower = state["current_message"].lower()
# 定义分类关键词
# 定义分类关键词支持多语言en, nl, de, es, fr, it, tr, zh
category_keywords = {
"register": ["register", "sign up", "account", "login", "password", "forgot"],
"order": ["order", "place order", "cancel order", "modify order", "change order"],
"payment": ["pay", "payment", "checkout", "voucher", "discount", "promo"],
"shipment": ["ship", "shipping", "delivery", "courier", "transit", "logistics", "tracking"],
"return": ["return", "refund", "exchange", "defective", "damaged"],
"register": [
# English
"register", "sign up", "account", "login", "password", "forgot",
# Dutch (Nederlands)
"registreren", "account", "inloggen", "wachtwoord",
# German (Deutsch)
"registrieren", "konto", "anmelden", "passwort",
# Spanish (Español)
"registrar", "cuenta", "iniciar", "contraseña",
# French (Français)
"enregistrer", "compte", "connecter", "mot de passe",
# Italian (Italiano)
"registrarsi", "account", "accesso", "password",
# Turkish (Türkçe)
"kayıt", "hesap", "giriş", "şifre",
# Chinese (中文)
"注册", "账号", "登录", "密码", "忘记密码"
],
"order": [
# English
"order", "place order", "cancel order", "modify order", "change order",
# Dutch
"bestelling", "bestellen", "annuleren", "wijzigen",
# German
"bestellung", "bestellen", "stornieren", "ändern",
# Spanish
"pedido", "hacer pedido", "cancelar", "modificar",
# French
"commande", "passer commande", "annuler", "modifier",
# Italian
"ordine", "ordinare", "cancellare", "modificare",
# Turkish
"sipariş", "sipariş ver", "iptal", "değiştir",
# Chinese
"订单", "下单", "取消订单", "修改订单", "更改订单"
],
"payment": [
# English
"pay", "payment", "checkout", "voucher", "discount", "promo",
# Dutch
"betalen", "betaling", "korting", "voucher",
# German
"bezahlen", "zahlung", "rabatt", "gutschein",
# Spanish
"pagar", "pago", "descuento", "cupón",
# French
"payer", "paiement", "réduction", "bon",
# Italian
"pagare", "pagamento", "sconto", "voucher",
# Turkish
"ödemek", "ödeme", "indirim", "kupon",
# Chinese
"支付", "付款", "结算", "优惠券", "折扣", "促销"
],
"shipment": [
# English
"ship", "shipping", "delivery", "courier", "transit", "logistics", "tracking",
# Dutch
"verzenden", "levering", "koerier", "logistiek", "volgen",
# German
"versand", "lieferung", "kurier", "logistik", "verfolgung",
# Spanish
"enviar", "envío", "entrega", "mensajería", "logística", "seguimiento",
# French
"expédier", "livraison", "coursier", "logistique", "suivi",
# Italian
"spedire", "spedizione", "consegna", "corriere", "logistica", "tracciamento",
# Turkish
"gönderi", "teslimat", "kurye", "lojistik", "takip",
# Chinese
"发货", "配送", "快递", "物流", "运输", "配送单"
],
"return": [
# English
"return", "refund", "exchange", "defective", "damaged",
# Dutch
"retour", "terugbetaling", "ruilen", "defect",
# German
"rückgabe", "erstattung", "austausch", "defekt",
# Spanish
"devolución", "reembolso", "cambio", "defectuoso",
# French
"retour", "remboursement", "échange", "défectueux",
# Italian
"reso", "rimborso", "cambio", "difettoso",
# Turkish
"iade", "geri ödeme", "değişim", "defekt",
# Chinese
"退货", "退款", "换货", "有缺陷", "损坏"
],
}
# 检测分类