Go語言流程引擎go-activiti
專案傳送門go-activiti
參考Activiti實作,滿足部分功能,專案還在完善中,歡迎activiti愛好者加入,
節點事件回呼
這里分兩種情況,任務節點有沒有設定審批用戶和用戶組
情況一:沒有審批人
這種節點到達后,會嘗試回呼業務,如果業務沒有任務處理,直接跳過此節點(會流歷史資料)

情況二:有審批人
這里需在畫流程圖時設定監聽事件(TaskListeners)

這里只需設定監聽事件的型別即可
注冊業務回呼類
需實作IActiviti,注冊構造器,參考iActivitiDemo.go檔案
注意這里的注冊名稱為流程名稱,區分大小寫,從ExecutionEntity可以拿到流程相關的資料,
func init() {
RegisterConstructor("userAuto", NewTestIActiviti)
}
func NewTestIActiviti(entity ExecutionEntity) IActiviti {
return &TestIActiviti{
Entity: entity,
}
}
func (test *TestIActiviti) User001() (code interface{}, err error) {
variable := test.Entity.GetVariable()
fmt.Println(variable)
return common.ACTIVITI_HANDLER_CODE, nil
}
func (test *TestIActiviti) User002() (code interface{}, err error) {
return common.ACTIVITI_HANDLER_CODE, nil
}
這里的User001和User002對應節點名稱,區分大小寫,即設定了監聽事件,到節點時會執行這里的方法,回傳值是common.ACTIVITI_HANDLER_CODE,默認成功,否在拋出例外,流程會回滾,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/252734.html
標籤:區塊鏈
上一篇:區塊鏈 什么是RLP編碼
