OrderStateMachine implements EventSubscriberInterface
Table of Contents
$machine | StateMachine | |
---|---|---|
$orderStatusRepository | OrderStatusRepository | |
$pointProcessor | PointProcessor | |
$stockReduceProcessor | StockReduceProcessor | |
__construct() | mixed | |
apply() | 指定ステータスに遷移. | mixed |
can() | 指定ステータスに遷移できるかどうかを判定. | bool |
getTransition() | mixed | |
getSubscribedEvents() | {@inheritdoc} | mixed |
updatePaymentDate() | 入金日を更新する. | mixed |
commitUsePoint() | 会員の保有ポイントを減らす. | mixed |
rollbackUsePoint() | 利用ポイントを会員に戻す. | mixed |
commitStock() | 在庫を減らす. | mixed |
rollbackStock() | 在庫を戻す. | mixed |
commitAddPoint() | 会員に加算ポイントを付与する. | mixed |
rollbackAddPoint() | 会員に付与した加算ポイントを取り消す. | mixed |
onCompleted() | 受注ステータスを再設定. | mixed |
newContext() | mixed |
Properties
$machine
private
StateMachine
$machine
$orderStatusRepository
private
OrderStatusRepository
$orderStatusRepository
$pointProcessor
private
PointProcessor
$pointProcessor
$stockReduceProcessor
private
StockReduceProcessor
$stockReduceProcessor
Methods
__construct()
public
__construct(
$_orderStateMachine :
StateMachine
, $orderStatusRepository :
OrderStatusRepository
, $pointProcessor :
PointProcessor
, $stockReduceProcessor :
StockReduceProcessor
)
: mixed
Parameters
- $_orderStateMachine : StateMachine
- $orderStatusRepository : OrderStatusRepository
- $pointProcessor : PointProcessor
- $stockReduceProcessor : StockReduceProcessor
Return values
mixedapply()
指定ステータスに遷移.
public
apply(
$Order :
Order
, $OrderStatus :
OrderStatus
)
: mixed
Parameters
- $Order : Order
受注
- $OrderStatus : OrderStatus
遷移先ステータス
Return values
mixedcan()
指定ステータスに遷移できるかどうかを判定.
public
can(
$Order :
Order
, $OrderStatus :
OrderStatus
)
: bool
Parameters
- $Order : Order
受注
- $OrderStatus : OrderStatus
遷移先ステータス
Return values
bool —指定ステータスに遷移できる場合はtrue
getTransition()
private
getTransition(
$context :
OrderStateMachineContext
, $OrderStatus :
OrderStatus
)
: mixed
Parameters
- $context : OrderStateMachineContext
- $OrderStatus : OrderStatus
Return values
mixedgetSubscribedEvents()
{@inheritdoc}
public
static getSubscribedEvents(
)
: mixed
Return values
mixedupdatePaymentDate()
入金日を更新する.
public
updatePaymentDate(
$event :
Event
)
: mixed
Parameters
- $event : Event
Return values
mixedcommitUsePoint()
会員の保有ポイントを減らす.
public
commitUsePoint(
$event :
Event
)
: mixed
Parameters
- $event : Event
Tags
Return values
mixedrollbackUsePoint()
利用ポイントを会員に戻す.
public
rollbackUsePoint(
$event :
Event
)
: mixed
Parameters
- $event : Event
Return values
mixedcommitStock()
在庫を減らす.
public
commitStock(
$event :
Event
)
: mixed
Parameters
- $event : Event
Tags
Return values
mixedrollbackStock()
在庫を戻す.
public
rollbackStock(
$event :
Event
)
: mixed
Parameters
- $event : Event
Return values
mixedcommitAddPoint()
会員に加算ポイントを付与する.
public
commitAddPoint(
$event :
Event
)
: mixed
Parameters
- $event : Event
Return values
mixedrollbackAddPoint()
会員に付与した加算ポイントを取り消す.
public
rollbackAddPoint(
$event :
Event
)
: mixed
Parameters
- $event : Event
Return values
mixedonCompleted()
受注ステータスを再設定.
public
onCompleted(
$event :
Event
)
: mixed
StateMachineによって遷移が終了したときにはOrder#OrderStatusのidが変更されるだけなのでOrderStatusを設定し直す.
Parameters
- $event : Event
Return values
mixednewContext()
private
newContext(
$Order :
Order
)
: mixed
Parameters
- $Order : Order