程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 業務系統-呼叫中心二次開發(已完結),呼叫中心二次開發

業務系統-呼叫中心二次開發(已完結),呼叫中心二次開發

編輯:C#入門知識

業務系統-呼叫中心二次開發(已完結),呼叫中心二次開發


一. 批量篩號:   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指令文件”, 並且按照進度更新先關數據和狀態;最後根據外呼結果,更新“電話的有效狀態”,實現“批量篩號的功能”。

圖片

 查詢批次的日志追蹤:

圖片


該模塊的意義:
實現對業務系統的大量無效和過期號碼的篩選,減少了業務操作元每天浪費在對無效號碼的工作時間,提高了系統的使用效率和員工的工作熱情。     如果您認為這篇文章還不錯或者有所收獲,不妨點擊一下右下角的(推薦)按鈕,因為你的支持是我繼續寫作,分享的最大的動力!      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved