/
*
*
*
店铺审核状态机
*
/
@States
({
@State
(name
=
"audit"
),
@State
(name
=
"agree"
),
@State
(name
=
"reject"
)
})
@Transitions
({
@Transit
(
from
=
"audit"
, to
=
"agree"
, on
=
"AGREE"
, callMethod
=
"agree"
),
@Transit
(
from
=
"audit"
, to
=
"reject"
, on
=
"REJECT"
, callMethod
=
"reject"
),
@Transit
(
from
=
"reject"
, to
=
"audit"
, on
=
"SUBMIT"
, callMethod
=
"submit"
),
@Transit
(
from
=
"agree"
, to
=
"audit"
, on
=
"SUBMIT"
, callMethod
=
"submit"
),
@Transit
(
from
=
"audit"
, to
=
"audit"
, on
=
"SUBMIT"
, callMethod
=
"submit"
),
})
@StateMachineParameters
(stateType
=
ShopInfoAuditStatusEnum.
class
, eventType
=
ShopInfoAuditEvent.
class
, contextType
=
ShopInfoAuditStatusUpdateParam.
class
)
public
class
ShopInfoAuditStateMachine extends AbstractUntypedStateMachine {
private ApplicationContext applicationContext;
public ShopInfoAuditStateMachine(){}
public ShopInfoAuditStateMachine(ApplicationContext applicationContext) {
this.applicationContext
=
applicationContext;
}
/
/
审核通过业务逻辑
public void agree(ShopInfoAuditStatusEnum fromState, ShopInfoAuditStatusEnum toState, ShopInfoAuditEvent event, ShopInfoAuditStatusUpdateParam param) {
this.agree(fromState,toState,event,param);
}
/
/
审核驳回业务逻辑
public void reject(ShopInfoAuditStatusEnum fromState, ShopInfoAuditStatusEnum toState, ShopInfoAuditEvent event, ShopInfoAuditStatusUpdateParam param) {
this.reject(fromState,toState,event,param);
}
/
/
提交业务逻辑
public void submit(ShopInfoAuditStatusEnum fromState, ShopInfoAuditStatusEnum toState, ShopInfoAuditEvent event, ShopInfoAuditStatusUpdateParam param) {
this.submit(fromState,toState,event,param);
}