nowindxdw
11/2/2017 - 1:56 AM

status machine workflow

start
|
check
|
listen
|
do
|
refect
|
end


work_flow =

{
#关闭状态
  STATE_CLOSED:{
    DO_CLOSE_SUCCESS:STATE_CLOSED,
 
 DO_OPEN_SUCCESS:STATE_OPENED,
 DO_OPEN_FAIL:STATE_CLOSED,
  },
#开启状态  
  STATE_OPENED:{
    DO_CHECK_SUCCESS:STATE_CHECKED,
 DO_CHECK_FAIL:STATE_OPENED,
 
 DO_CLOSE_SUCCESS:STATE_CLOSED,
 DO_CLOSE_FAIL:STATE_OPENED,
  },
#检查结束状态(待机状态)
  STATE_CHECKED:{
  DO_LISTEN_DATA_SUCCESS:STATE_LISTENED,
  DO_LISTEN_DATA_FAIL:STATE_CHECKED,
 
  DO_CLOSE_SUCCESS:STATE_CLOSED,
  DO_CLOSE_FAIL:STATE_CHECKED,  
  },
#接受到数据指令状态
  STATE_LISTENED:{
  DO_OPERATION_SUCCESS:STATE_OPERATION_RESULT,
  DO_OPERATION_FAIL:STATE_CHECKED,
 
  DO_CLOSE_SUCCESS:STATE_CLOSED,
  DO_CLOSE_FAIL:STATE_LISTENED,    
 
  }
#反馈操作结果  
  STATE_OPERATION_RESULT:{
  DO_CHECK_SUCCESS:STATE_CHECKED,
  DO_CHECK_FAIL:STATE_OPERATION_RESULT,
 
  DO_CLOSE_SUCCESS:STATE_CLOSED,
  DO_CLOSE_FAIL:STATE_OPERATION_RESULT,
  }
 
}