Skip to content

Update Order To Picked Up

Description

排程-更新訂單為取餐完畢。

Resource

PATCH /v1/schedule/update-order-to-picked-up

Authorization

採用 OAuth 2.0 Bearer Token,詳細使用流程請參考 Auth Login。

Request

{}

Response Success Example

Status-Code: 204 No Content

 sequenceDiagram
 participant Scheduler as 排程觸發器
 participant Omni as 全通路平台
 participant DB as 資料庫
 participant OrderAPI as 訂單服務 (Order API)
 participant Portal as 叫號推播 (Azure PubSub)

 Scheduler->>Omni: [PATCH] /v1/schedule/update-order-to-picked-up
 activate Omni

 Omni->>DB: get_enable_call_number_shops()
 activate DB
 DB-->>Omni: 回傳已啟用叫號的門市列表
 deactivate DB

 alt 如果沒有任何門市
     Omni-->>Scheduler: 回應 204 (無內容)
 end

 Omni->>Omni: get_before_date(1)
 activate Omni
 Omni-->>Omni: 回傳昨天的日期字串
 deactivate Omni

 loop 針對每個公司 (company_id)
     Omni->>Omni: 準備 SQL 更新資料 (公司、門市列表、日期範圍)
     Omni->>DB: update_order_to_picked_up(更新資料)
     activate DB
     DB->>DB: 執行 UPDATE SQL (含 OUTPUT INSERTED.shop_id)
     DB-->>Omni: 回傳實際被更新的 shop_ids
     deactivate DB

     loop 針對每個實際被更新訂單的門市 (shop_id)
         Omni->>OrderAPI: [POST] /v1/order/init-call-number
         activate OrderAPI
         OrderAPI->>Portal: 推播清空/刷新叫號牆
         OrderAPI-->>Omni: 
         deactivate OrderAPI
     end
 end

 Omni-->>Scheduler: 回應 204 (成功)
 deactivate Omni