Sprint 2: 訂單管理核心 (Week 3-4)
狀態: ✅ 已完成 完成日期: 2025-11-03 Story Points: 15 點(5 + 5 + 5)
📋 Sprint 目標
完成訂單創建到查詢的核心流程,建立訂單狀態流轉機制。
📊 Sprint Backlog
📝 文檔階段 - ✅ 已完成 (2025-11-03)
| 任務 | 狀態 | 完成日期 | 備註 |
|---|---|---|---|
| 創建 US-201 文檔 | ✅ | 2025-11-03 | create-order.md (已存在) |
| 創建 US-202 文檔 | ✅ | 2025-11-03 | order-status-flow.md (443 行) |
| 創建 US-203 文檔 | ✅ | 2025-11-03 | search-orders.md (454 行) |
| 創建 US-201 SBE 場景 | ✅ | 2025-11-03 | 3 個場景 |
| 創建 US-202 SBE 場景 | ✅ | 2025-11-03 | 3 個場景 |
| 創建 US-203 SBE 場景 | ✅ | 2025-11-03 | 3 個場景 |
💻 開發階段 - ✅ 已完成
🎯 US-201: 創建訂單 (5 Story Points)
狀態: ✅ 已完成 (2025-11-03)
任務清單
| 任務 | 負責人 | 估時 | 狀態 | 備註 |
|---|---|---|---|---|
| 後端開發 | 1 天 | ✅ 已完成 | Mock API 實作 | |
| └─ 實作 POST /api/v1/orders API | - | 0.5 天 | ✅ | 訂單創建端點 |
| └─ 訂單編號生成邏輯 | - | 0.2 天 | ✅ | {租戶}-{YYYYMMDD}-{序號} |
| └─ 價格計算與驗證 | - | 0.2 天 | ✅ | 小計、稅額、總計 |
| └─ 多租戶隔離 | - | 0.1 天 | ✅ | tenantId 檢查 |
| └─ 實作 GET /api/v1/customers API | - | 0.1 天 | ✅ | 客戶列表 |
| └─ 實作 GET /api/v1/products API | - | 0.1 天 | ✅ | 商品列表 |
| 前端開發 | 1-1.5 天 | ✅ 已完成 | ||
| └─ 創建 OrderForm 組件 | - | 0.5 天 | ✅ | src/applets/order-applet/ |
| └─ 客戶選擇與商品選擇邏輯 | - | 0.3 天 | ✅ | 下拉選單 + 即時搜尋 |
| └─ 價格即時計算 | - | 0.2 天 | ✅ | 監聽數量變化 |
| └─ 表單驗證與錯誤處理 | - | 0.3 天 | ✅ | React Hook Form + Zod |
| └─ 創建 OrderCreatePage 頁面 | - | 0.2 天 | ✅ | /orders/new 路由 |
| 整合與測試 | 0.5 天 | ✅ 已完成 | ||
| └─ 整合測試 (API + UI) | - | 0.2 天 | ✅ | 手動測試驗證 |
| └─ E2E 測試 | - | 0.2 天 | ✅ | 2025-11-03 完成 (6 個測試場景通過) |
| └─ Mock API 更新 | - | 0.1 天 | ✅ | 支援訂單創建與 SBE Scenario 1 數據 |
🎯 US-202: 訂單狀態流轉 (5 Story Points)
狀態: ✅ 已完成 (2025-11-03)
任務清單
| 任務 | 負責人 | 估時 | 狀態 | 備註 |
|---|---|---|---|---|
| 後端開發 | 1-1.5 天 | ✅ 已完成 | Mock API 實作 | |
| └─ 實作 PUT /api/v1/orders/{id}/status API | - | 0.5 天 | ✅ | 狀態更新端點 |
| └─ 狀態流轉驗證邏輯 | - | 0.3 天 | ✅ | STATUS_TRANSITIONS 映射表 |
| └─ 狀態歷史記錄 | - | 0.3 天 | ✅ | OrderStatusHistory Entity |
| └─ GET 狀態歷史 API | - | 0.2 天 | ✅ | 查詢狀態歷史 |
| └─ 通知觸發邏輯 | - | 0.2 天 | ⏭️ | Phase 2 整合 |
| 前端開發 | 1-1.5 天 | ✅ 已完成 | ||
| └─ 創建 OrderStatusProgress 組件 | - | 0.5 天 | ✅ | 狀態進度條 |
| └─ 操作按鈕動態顯示邏輯 | - | 0.3 天 | ✅ | 根據狀態與角色 |
| └─ 狀態歷史時間軸組件 | - | 0.3 天 | ✅ | OrderStatusHistory 組件 |
| └─ 權限控制 | - | 0.2 天 | ✅ | OrderActions 組件 |
| 整合與測試 | 0.5 天 | ✅ 已完成 | ||
| └─ 整合測試 (API + UI) | - | 0.2 天 | ✅ | 手動測試驗證 |
| └─ E2E 測試 | - | 0.2 天 | ✅ | 2025-11-03 完成 (4 個測試通過) |
| └─ Mock API 更新 | - | 0.1 天 | ✅ | 狀態歷史種子數據 |
🎯 US-203: 搜尋與過濾訂單 (5 Story Points)
狀態: ✅ 已完成 (2025-11-03)
任務清單
| 任務 | 負責人 | 估時 | 狀態 | 備註 |
|---|---|---|---|---|
| 後端開發 | 1 天 | ✅ 已完成 | Mock API 實作 | |
| └─ 實作 GET /api/v1/orders API | - | 0.4 天 | ✅ | 支援搜尋與過濾 |
| └─ 搜尋邏輯 | - | 0.2 天 | ✅ | 模糊匹配、電話處理 |
| └─ 過濾邏輯 | - | 0.2 天 | ✅ | 狀態、日期、金額 |
| └─ 分頁邏輯 | - | 0.1 天 | ✅ | page、limit 參數 |
| └─ 排序邏輯 | - | 0.1 天 | ✅ | sortBy、sortOrder |
| 前端開發 | 1.5 天 | ✅ 已完成 | ||
| └─ 創建 OrdersPage(含搜尋過濾功能) | - | 0.3 天 | ✅ | 訂單列表主頁面 |
| └─ 搜尋框組件 (SearchBar) | - | 0.2 天 | ✅ | 防抖 500ms、清空 |
| └─ 過濾條件面板 (FilterPanel) | - | 0.4 天 | ✅ | 狀態、日期、金額、分配對象 |
| └─ 訂單列表組件 | - | 0.3 天 | ✅ | 表格(桌面)/卡片(手機) |
| └─ 分頁導航組件 (Pagination) | - | 0.2 天 | ✅ | 上一頁/下一頁、每頁筆數 |
| └─ 響應式設計 | - | 0.1 天 | ✅ | 桌面/手機 |
| 整合與測試 | 0.5 天 | ✅ 已完成 | ||
| └─ 整合測試 (API + UI) | - | 0.2 天 | ✅ | TypeScript 編譯通過 |
| └─ E2E 測試 | - | 0.2 天 | ⏭️ | Sprint 2 後補充 |
| └─ Mock API 更新 | - | 0.1 天 | ✅ | Session 4 已完成 |
📋 Sprint 完成檢查清單
- US-201: 創建訂單(已完成 2025-11-03)
- 後端 Mock API 實作
- 前端 OrderForm 組件
- 整合測試
- E2E 測試(6 個測試場景通過)
- US-202: 訂單狀態流轉(已完成 2025-11-03)
- 後端狀態流轉 API
- 前端 OrderStatusFlow 組件
- 整合測試
- E2E 測試(4 個測試通過)
- US-203: 搜尋與過濾訂單(已完成 2025-11-03)
- 後端搜尋過濾 API
- 前端 OrderFinder 頁面
- 整合測試
- 手動測試指南已創建(US-202/203)
- API 文檔已更新(orders.md)
🔄 Sprint 回顧
完成日期: 2025-11-03
做得好的地方 ✅
- ✅ 訂單管理核心功能完整實作
- ✅ 狀態流轉邏輯清晰,權限控制完善
- ✅ 搜尋與過濾功能強大,支援多種條件組合
- ✅ E2E 測試覆蓋核心場景(US-201/202)
- ✅ 組件復用性高(SearchBar、FilterPanel、Pagination)
需要改進的地方 ⚠️
- ⚠️ US-203 E2E 測試未完成(優先手動測試)
- ⚠️ 性能優化待加強(大數據量分頁、虛擬滾動)
- ⚠️ 通知功能未實作(Phase 2 整合)
行動項目 📋
- 📋 補充 US-203 E2E 測試(搜尋與過濾場景)
- 📋 優化訂單列表性能(虛擬滾動)
- 📋 Phase 2 整合通知功能
📚 相關文檔
User Story 文檔
SBE 場景
測試文檔
API 文檔
最後更新: 2025-11-04