Skip to main content

BR-003 注文ライフサイクル (Order Lifecycle)

1. 概要

注文の有効な状態と、それらの間の遷移ルール(エラー処理と補償処理を含む)を定義する。

2. ビジネスルール

2.1 ステートマシン (State Machine)

注文は以下の厳密な遷移パスに従わなければならない:

  1. CREATED (作成済み): 注文が行われ、在庫が引き当てられた(ロックされた)。
  2. PAID (支払い済み): 支払いが確認された。
  3. SHIPPED (出荷済み): 商品が顧客に出荷された。
  4. CANCELLED (キャンセル済み): 注文がキャンセルされた(ユーザーまたはシステムによる)。

2.2 状態遷移と補償 (State Transitions & Compensation)

  • 遷移: CREATED -> PAID
    • トリガー: 支払い成功イベント。
    • アクション: ステータスを PAID に更新する。
  • 遷移: CREATED -> CANCELLED (支払い失敗)
    • トリガー: 支払い失敗。
    • アクション:
      1. ステータスを CANCELLED に更新する。
      2. 補償処理 (Compensation): 在庫解放(在庫の加算)をトリガーする。

2.3 バリデーション (Validation)

  • ルール: 無効な遷移(例:SHIPPED -> CREATED)はエラーとして拒否しなければならない。