天天看點

[愛偷懶的程式員系列]-Section 4. 自定義釘釘消息推送

在上一個章節當中,我們已經完成了“最簡單”的通過機器人進行一些簡單的前置審批,減輕了一部分工作量。但是糟心的事情又來了。因為一個完整的業務流程中,釘釘審批可能隻是其中的一個環節。字面意思,OA審批,OA審批,做的就是審批動作。而審批完成後,還有其他的動作可能是需要通過其他的系統進行處理,而且可能會納入其他的參與人。

感覺此刻事情又變得麻煩起來。審批流程已經完成,我們并不能再通過OA審批當中的如“辦理人”,“抄送”來把其他環節納入進來。而其他人又需要知曉通過審批的業務在其他系統的處理情況。

按照老規矩,肯定是讓相關幹系人去登入其他系統檢視想要看的資料。可是,對于愛偷懶的程式員來說,這個事情并不好辦。讓使用者的使用範圍擴大後,會帶來後續的一系列維護工作。比如,你要不要給對應的使用者開系統賬号?權限好不好控制?使用者開了新系統後,他能順利找到他想要的資料嗎?如果找不到,事情是不是又回到IT部門來了?

為了能夠更好的偷懶,與其讓使用者去自己擷取資料,不如我們将資料整理好,拱手相送?

先畫一個流程圖,來做一下思考。

看起來還是相對比較靠譜的一個處理流程,接下來就是如何開幹了。

在判斷條件當中,判斷在其他系統是否已經完成,可以通過調用API或者讀取資料庫的方式實作。

是否處理完成,采用定時任務進行,如果沒有完成,則退出判斷,等待下一個循環。

如果已經完成,則通知使用者。

因為我們在上一個章節當中,已經做好了釘釘開發者的認證,是以本次我們僅需要調用一下相關的接口。把擷取到的資料按照我們的需求進行回報即可。

為了把需要擷取資訊的使用者全部一步通知到位,我們選擇的是建立一個群,把所有的使用者拉到一個群裡面。再進行通知。

是以按照以下步驟:

  1. 建立群對話 (接口 https://oapi.dingtalk.com/chat/create
  2. 發送普通消息( https://oapi.dingtalk.com/message/send_to_conversation

以上2個簡單的步驟即可完成通知到位的工作。其中發送普通消息裡面我們可以定義 文本,圖檔,語音,檔案等消息内容。

最終實作效果如下:

[愛偷懶的程式員系列]-Section 4. 自定義釘釘消息推送

[現階段僅僅先給各位介紹整個方案的思考過程,代碼部分将會在後續提供給大家參考哦]