業務系統-呼叫中心二次開發(已完結),呼叫中心二次開發
一. 批量篩號:
1.輸入:案件批次號
輸出:該批次的所有電話號碼(非有效狀態),進行批量篩號,將未知狀態的號碼標志為有效和無效。
2.Table:
Call_Filter_Task =(Id, Step, Status, BatchId, CateGoryId, TaskType, TotalNum, Creator, CreateTime, RunBeginTime, RunEndTime)
Call_Filter_Send_Batch = (Id, Status, Filter_Task_Id, Order, TotalNum, Creator, CreateTime)
Call_Filter_Send_Batch_Log= (Id, Filter_Task_Id, Order, TotalNum, Task_Id, Creator, CreateTime, RunBeginTime, RunEndTime
| Send_FromFlag, Send_RecvFlag, Send_BeginTime, Send_RecvTime, Send_Res_SumInfo
| Query_FromFlag, Query_RecvFlag, Query_BeginTime, Query_RecvTime,Query_Res_SumInfo )
Call_Filter_Send_Detail = (Id, Filter_Send_Batch_Id, TelId, TelNo, Call_Info, Record_Id, Creator, CreateTime)
Call_Filter_Send_QueryRes= (Id,Filter_Send_Batch_Id,Nid,Phone,Call_Status,BillSec,Call_Start_Time,Answer_Time,
Call_End_Time,Wait_Time,Uniqueid,Fail_Call_Times,Success_Call_Times,Ivr_Key,
Agent,Agent_Billsec,Agent_Answer_Time,Agent_End_Time,CreateTime);
3.操作流程
Step1: 用戶在篩號界面,輸入一個“批次號:batchId”, 然後單擊按鈕“查詢電話”,顯示一條匯總記錄“Call_Filter_Task”
Step2: 文件JOB,查詢Call_Filter_Task狀態為“0:創建任務0”的Call_Filter_Task 記錄,執行文件JOB任務;
產生文件數據:"Call_Filter_Send_Batch記錄" 和 “Call_Filter_Send_Detail記錄” 和 “Call_Filter_Send_Detail文件”,每個批次文件的最大筆數為1000(可以修改配置)。
Step3: 發送JOB,查詢Call_Filter_Send_Batch記錄,並且判斷“Log是否存在”或“查詢任務是否發送成功”,然後執行發送API接口;
產生日志記錄“Call_Filter_Send_Batch_Log”,並且修改Call_Filter_Send_Batch_Log的狀態為“Send_FromFlag=0->1 | Send_RecvFlag=0->1或-1”
Step4: 查詢JOB,查詢“Call_Filter_Send_Batch_Log的記錄”,根據“發送狀態為Send_RecvFlag=1 且 Query_FromFlag=0”的日志記錄,然後執行查詢API接口;
更新日志記錄“Call_Filter_Send_Batch_Log”的狀態為“Query_FromFlag=0->1 | Query_RecvFlag=0->1或-1”;
保存結果為“JSON報文文件和對應用戶的Excel文件”,並且將結果更新到電話記錄的狀態“有效電話 | 無效電話”
經過幾個周末開發,終於開發完畢效果圖如下: Part 1: 前台設置: 數據字典配置“篩號任務”、“批次文件”的工作狀態,如下圖:
Part 2: 後台服務: 系統後台有三個定時計劃任務,每隔5分鐘檢查一次相關任務表和日志表中的特定狀態的記錄,根據條件匹配來實時調度如下JOB:
Job1: 創建批次計劃任務,Job2:發送批次計劃任務,Job3:查詢批次計劃任務
代碼簡圖:
執行效果,如下:
Job1: 創建批次計劃任務: 實時處理來自用戶前端提交的“篩號申請”(分區字段:創建時間為當天內的數據),
並且由此生成相關“呼叫中心批量外呼的json指令文件和供用戶查閱的xlsx文件”, 並且按照進度更新先關數據和狀態。
生成批次的日志追蹤:
Job2: 發送批次計劃任務: 實時處理來自系統後台狀態為“已生成”的“批次文件”(分區字段:創建時間為今天的數據),且由此讀取本地文件(“呼叫中心批量外呼的json指令文件”),節約數據庫查詢和構造時間, 並且按照進度更新先關數據和狀態。
發送批次的日志追蹤:
Job3: 查詢批次計劃任務: 實時處理來自系統後台狀態為“已發送”的“批次文件的日志數據”(分區字段:創建時間為昨天和今天之間的數據),且由此構造“呼叫中心的查詢批量外呼結果的json指令文件”, 並且按照進度更新先關數據和狀態;最後根據外呼結果,更新“電話的有效狀態”,實現“批量篩號的功能”。
查詢批次的日志追蹤:
該模塊的意義:實現對業務系統的大量無效和過期號碼的篩選,減少了業務操作元每天浪費在對無效號碼的工作時間,提高了系統的使用效率和員工的工作熱情。
如果您認為這篇文章還不錯或者有所收獲,不妨點擊一下右下角的(
推薦)按鈕,因為你的支持是我繼續寫作,分享的最大的動力!