客服工單任務系統發展簡史

1. Version0.1時代(2019.09之前)

團隊規模小 30人左右,極不規範,無服務意識
無自研客服系統 最早用網易七魚,價格貴,不好用。後來用環信,開始使用環信的任務系統,但不好用。
查詢信息效率低 用戶進線後,客服在運營後臺查詢各種數據來處理用戶的各種問題

2. Version1.0時代(2019.10-2020.06)

2019年10月,開始建設客服任務工作臺,客服可以在任務工作臺跟進各類用戶問題。

前端:工作臺查詢任務,進行相關操作的界面
環信:客服可在環信頁面上錄入任務,這裏調用的是Jira接入層提供的接口
工作臺後端:負責提供訂單相關操作的接口,同時給前端封裝了一些操作jira的接口。工作臺裏與訂單關聯不大的數據,存在bixin-playmate-lite-service的DB中,如員工、組、投訴之類的信息。
Jira接入層:Java語言開發,代碼及其不規範。與Jira部署在同一臺機器上,基於Jira的接口對外提供接口給前端和客服工作臺後端,也會從工作臺後端查詢一些配置數據。前期存在嚴重的性能問題,導致系統無法正常運行。經過優化後,現在已經可以正常運行。
Jira+MySQL:破解版Jira,部署在一臺獨立的機器上,沒有源碼,通過http接口與接入層交互。無性能問題,存在法律風險。
2019年10月底,系統上線
2019年12月起,開始零星出現前端頁面無法正常展示客服任務的問題。
2020年1月底,新冠疫情,比心訂單量暴增,客服人員增加到100人左右。
2020年4月起,客服工作臺頻繁出現無法相應的情況。
2020年5月某天Jira接入層系統監控圖如下


問題總結:
①法律風險,Jira爲未授權的產品,用於商業用途存在法律上的風險。
②Jira接入層代碼質量太差,無法持續支撐業務發展。
③調用關係混亂,沒有進行合理組織,可以看到Jira接入層同時對接了環信、前端和工作臺後端。
④數據分散存儲,缺乏統一管理。任務的數據存在Jira裏,但是一些配置數據如員工信息、組信息等存在bixin-playmate-lite-service的DB中。

3.Version2.0時代(2020.06至今)

2020年6月開始建設新客服任務系統,目前是在不改變客服人員操作習慣的前提下,徹底解決上述問題。

3.1 核心功能點

3.2 表結構關係

3.3 任務核心字段

3.4 任務狀態流轉

3.5 任務分配方式

3.5.1 預閒分配
①給每個員工設置最大分配數量
②定時任務撈取待分配的任務
③找到 在線&&處理中的任務數量最少&&未達到最大分配數量 的客服
④樂觀鎖更新任務的處理人
3.5.2 輪詢分配
①定時任務撈取待分配的任務
②找到所屬工作組在線的客服
③找到上次被分配任務的客服A的下一個客服B
④樂觀鎖更新任務的處理人
3.5.3 領取分配
客服自己更新任務處理人即可

3.6 字段存儲原則

任務相關的核心字段(影響任務分配流程)都放在任務主表裏
業務相關的字段(不應該任務分配主流程)都放在擴展字段裏
需要用來查詢的子段拆到ES服務中
前端需要展示業務相關信息時,從擴展字段裏拿到業務ID去系統系統查詢數據展示(客服系統不做轉發)

3.7 業務校驗

某些情況下,在對任務進行操作時,需要進行業務邏輯判斷。

如訂單申訴的任務在完成前需要判斷對應的申訴是否已完結,如果沒有完結,則不可以完成任務。

創建任務時,在擴展字段中加上needCheckBeforeComplete=true checkBeforeCompleteServiceGroup=ORDER_APPEAL

在完成任務時,判斷如果needCheckBeforeComplete=true ,就通過SPI請求Group=ORDER_APPEAL的dubbo服務,判斷是否能完成任務。

4.經驗教訓


不可依賴存在風險的組件
破解版Jira存在諸多不確定性
編碼規範&方案合理
重要項目需進行技術方案評審和Code Review
正確理解產品經理的意思 舉例~

5.未來規劃

界面改版
增加部分快捷工具:任務打標、置頂等等
信息集成
避免跳轉到其他頁面查詢信息,提高信息查詢效率
訂單退款進度、大神違規記錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章