SBE Scenario 2: 為企業客戶創建訂單
場景描述
店員為企業客戶的子帳戶創建訂單,支付方式為月結,收件人與訂購客戶不同。
Given(前置條件)
系統狀態
- 當前日期: 2025-10-31
- 當前租戶:
ABC(ABC 花店) - 已登入用戶: 張店員 (ROLE_SALES)
測試資料
企業客戶主帳戶
{
"id": "corp-001",
"tenantId": "ABC",
"name": "XX 科技公司",
"customerType": "corporate",
"paymentMethod": "monthly_billing"
}
企業子帳戶
{
"id": "sub-001",
"parentAccountId": "corp-001",
"tenantId": "ABC",
"departmentName": "人資部",
"contactPerson": "王人資",
"contactPhone": "02-2345-6789"
}
可用商品
{
"id": "prod-002",
"tenantId": "ABC",
"name": "祝賀花籃",
"price": 3500,
"stock": 20,
"isAvailable": true
}
When(執行操作)
步驟 1: 選擇企業客戶
- 店員在「客戶選擇」下拉選單中搜尋「XX 科技」
- 系統顯示「XX 科技公司 (企業客戶)」
- 店員選擇該企業客戶
步驟 2: 選擇子帳戶
- 系統自動顯示「子帳戶選擇」區域
- 店員選擇「人資部 - 王人資」
步驟 3: 添加商品
- 店員選擇「祝賀花籃 - NT$3,500」
- 數量設定為「1」
步驟 4: 填寫配送資訊
- 配送地址: 台北市內湖區瑞光路 100 號 10 樓
- 聯絡電話: 02-2345-6789(自動帶入子帳戶電話)
- 配送日期: 2025-11-02
- 配送時段: 09:00-12:00
步驟 5: 填寫收件人資訊(與訂購客戶不同)
- 收件人姓名: 陳經理
- 收件人電話: 0987-654-321
步驟 6: 選擇支付方式
- 支付方式: 月結(自動帶入企業客戶的預設支付方式)
步驟 7: 填寫卡片訊息
- 卡片訊息: 恭賀開業大吉
步驟 8: 提交訂單
- 店員點擊「創建訂單」按鈕
Then(預期結果)
API 請求
Request Body
{
"customerId": "corp-001",
"subAccountId": "sub-001",
"items": [
{
"productId": "prod-002",
"quantity": 1,
"price": 3500
}
],
"deliveryAddress": "台北市內湖區瑞光路 100 號 10 樓",
"deliveryPhone": "02-2345-6789",
"deliveryDate": "2025-11-02",
"deliveryTimeSlot": "09:00-12:00",
"recipientName": "陳經理",
"recipientPhone": "0987-654-321",
"cardMessage": "恭賀開業大吉",
"paymentMethod": "monthly_billing"
}
Response Body (201 Created)
{
"orderId": "ABC-20251031-0002",
"orderNumber": "ABC-20251031-0002",
"status": "pending_confirmation",
"customerId": "corp-001",
"subAccountId": "sub-001",
"customer": {
"id": "corp-001",
"name": "XX 科技公司",
"customerType": "corporate"
},
"subAccount": {
"id": "sub-001",
"departmentName": "人資部",
"contactPerson": "王人資"
},
"items": [
{
"productId": "prod-002",
"productName": "祝賀花籃",
"quantity": 1,
"price": 3500,
"subtotal": 3500
}
],
"deliveryInfo": {
"address": "台北市內湖區瑞光路 100 號 10 樓",
"phone": "02-2345-6789",
"date": "2025-11-02",
"timeSlot": "09:00-12:00",
"recipientName": "陳經理",
"recipientPhone": "0987-654-321"
},
"cardMessage": "恭賀開業大吉",
"paymentMethod": "monthly_billing",
"pricing": {
"subtotal": 3500,
"tax": 175,
"total": 3675
},
"createdAt": "2025-10-31T11:00:00Z",
"createdBy": "user-001"
}
驗證檢查清單
企業客戶特性
- 訂單關聯到企業主帳戶(corp-001)
- 訂單記錄子帳戶資訊(sub-001)
- 支付方式為「月結」
- 收件人資訊與訂購客戶不同
月結付款邏輯
- 訂單標記為「月結付款」
- 訂單將加入企業客戶的月結帳單
- 支付狀態為「待月結」
通知系統
- 發送 Email 給子帳戶聯絡人(王人資)
- 通知內容包含訂單編號與配送資訊
邊界條件測試
測試案例 1: 未選擇子帳戶
- 子帳戶選擇: 未選擇
- 預期結果:
- 前端驗證失敗
- 錯誤訊息: 「企業客戶必須選擇子帳戶」
測試案例 2: 收件人資訊為空
- 收件人姓名: 空白
- 收件人電話: 空白
- 預期結果: 允許創建訂單(收件人為可選資訊)
最後更新: 2025-11-03