Yuruicamp

G-2b 後台訂單管理

用途

提供具備 orders.vieworders.edit 的管理員查詢訂單、讀取商品與歷程,以及執行出貨和完成命令。Admin 不得直接改寫 ECPay 付款或退款結果。

流程

Admin Token → RBAC → ID 分頁 → 載入表頭摘要
開啟詳情 → 商品快照 + 狀態歷程
履約命令 → 悲觀鎖 → 驗證付款/退款/狀態 → 更新訂單 + history

線上付款必須是 paidrefundStatus=none 才能出貨。COD 可在 unpaid 時出貨,完成時於同一交易標記 paid 與 paidAt。重複命令採冪等回放,不重複新增歷程。

列表不直接 JOIN 商品與歷程,避免一對多資料放大分頁。完整地址、商品和歷程只在詳情回傳。

AdminOrderController 使用 firebaseBearer OpenAPI Security Requirement,讓 Swagger Authorize 保存的 Firebase ID Token 自動加入 Authorization: Bearer Header。這項宣告只描述 API 認證需求,實際安全邊界仍由 Firebase Filter 與 orders.vieworders.edit RBAC 負責。

驗證