Missing Order Notify
Description
排程-訂單漏單通知。每分鐘偵測逾時未處理的網路訂單(漏單),並透過 Microsoft Teams Webhook 通知相關人員盡速處理。
漏單判定條件(同時成立):
weborder00.storefrom屬於KIOSK、EC_BUY_GOOD、EC_8WAYweborder00.status = 'A'- 取餐時間
weborder00.meal_date早於「系統現在時間 − 10 分鐘」
Resource
POST /v1/schedule/order/missing_order_notify
Authorization
內部排程觸發,無需 Token 驗證(ignore_token=True)。
Request
{}
Response Success Example
Status-Code: 204 No Content
sequenceDiagram
participant Scheduler as 排程觸發器
participant Omni as 全通路平台
participant DB as 資料庫
participant Teams as Microsoft Teams
Scheduler->>Omni: [POST] /v1/schedule/order/missing_order_notify
activate Omni
Omni->>Omni: 計算取餐時間上界 (現在時間 - 10 分鐘)
activate Omni
Omni-->>Omni: meal_date_before
deactivate Omni
Omni->>DB: get_missing_orders(meal_date_before)
activate DB
DB-->>Omni: 回傳漏單訂單 (含公司名稱、門市名稱、取餐時間)
deactivate DB
alt 查無漏單訂單
Omni-->>Scheduler: 回應 204 (無漏單訂單)
end
loop 針對每筆漏單訂單
Omni->>Teams: send_webhook_message_to_teams_by_params(訂單漏單通知!!)
activate Teams
alt 發送失敗
Teams-->>Omni: 例外
Omni->>Omni: 記錄錯誤 log 並繼續下一筆
else 發送成功
Teams-->>Omni: 通知已送出
end
deactivate Teams
end
Omni-->>Scheduler: 回應 204 (成功)
deactivate Omni