工做流任務的消息處理

最近本身在開發工做流系統,簡單寫一下工做流任務的消息處理的業務流程,記錄一下。spa

在工做流引擎產生一個任務須要某我的進行人工處理的時候,工做流先插入一條任務到 WF_T_TASK 表中,這條任務記錄應該包括:排序

任務ID,任務的狀態(未處理),處理任務的角色(如部門經理),處理任務的人(如張三,屬於部門經理這個角色),任務建立時間,任務建立人,任務最後更新時間,任務最更新人。開發

任務對應的流程步驟實例ID(InstanceStepId),這樣就能方便的找到任務所對應哪一個流程,哪一個流程實例,哪一個步驟。string

 

而後須要在消息表中插入一條記錄,消息表爲 WF_T_MSG,消息應該包括:工作流

消息ID,消息的狀態(未讀),消息類型(系統消息),消息接收人(張三),消息標題,消息內容,it

消息建立時間(消息發送時間),消息建立人(消息發送人:工做流系統), 消息最後更新時間,消息最後更新人。客戶端

消息標題:李四於2013-08-01發起的加班申請單流程(流程號:20130801132045000001)須要您的籤核di

消息內容:李四於2013-08-01發起的加班申請單流程(流程號:20130801132045000001),在「部門經理籤核」這個步驟須要您的籤核,請點擊如下連接進行籤核:服務端

http://localhost/task/edit?taskid=123456-12312312-23232-2323213時間

 

同時,發送郵件給張三,內容和消息同樣。

在插入消息表的同時,還應該發送實時消息給張三,服務端調用 Send(string userId, string message),發送消息給客戶端。

張三在主界面上可以看到相似「您有3條未讀消息」,同時播放消息提醒。

張三點擊消息提示,就到到達消息處理頁面 /Msg/Index?MsgType=未讀,消息處理頁面有3個選項卡,能夠快速過濾消息,分別是未讀,已讀,所有。默認是到未讀消息,消息按照發送時間進行排序。

默認顯示消息標題,消息發送人,消息發送時間。

點擊某一條未讀消息,自動展開,地址是 /Msg/Edit?MsgId=1234567-1234-1234-12345678901,就是上面的消息。

相關文章
相關標籤/搜索