跳至主要内容

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