|
@@ -22,128 +22,148 @@
|
|
|
// protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
|
// {
|
|
|
// //20秒扫描一次威尔信数据库
|
|
|
-// //using var sc = _serviceScopeFactory.CreateScope();
|
|
|
-// //var _logger = sc.ServiceProvider.GetService<ILogger<CallRecordManager>>();
|
|
|
-// //var time = TimeSpan.FromSeconds(20);
|
|
|
-// //while (!stoppingToken.IsCancellationRequested)
|
|
|
-// //{
|
|
|
-// // using var scope = _serviceScopeFactory.CreateScope();
|
|
|
-// // var _wexCallRecordRepository = scope.ServiceProvider.GetService<IWexCallRecordRepository>();
|
|
|
-// // var _uowWex = scope.ServiceProvider.GetService<ISugarUnitOfWork<WexDbContext>>();
|
|
|
-// // var wexRes = _uowWex?.Db.Ado.SqlQuery<WexRecord>("select * from view_telinfo_full where IsSynch=@IsSynch and IsOk = @IsOk ", new { IsSynch = 0, IsOk = 1 });
|
|
|
-// // if(wexRes !=null)
|
|
|
-// // {
|
|
|
-// // foreach (var item in wexRes)
|
|
|
-// // {
|
|
|
-// // var wexCallRecord = new WexCallRecord();
|
|
|
-// // wexCallRecord.CallId = item.CallId;
|
|
|
-// // //呼叫方向
|
|
|
-// // switch (item.CallType)
|
|
|
-// // {
|
|
|
-// // case "外呼":
|
|
|
-// // wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.Out;
|
|
|
-// // break;
|
|
|
-// // case "来电":
|
|
|
-// // wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
-// // break;
|
|
|
-// // case "中继":
|
|
|
-// // wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
-// // break;
|
|
|
-// // case "留言":
|
|
|
-// // wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
-// // break;
|
|
|
-// // case "黑名单":
|
|
|
-// // wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
-// // break;
|
|
|
-// // default:
|
|
|
-// // break;
|
|
|
-// // }
|
|
|
-// // if (wexCallRecord.Direction == Share.Enums.CallCenter.ECallDirection.Out)
|
|
|
-// // {
|
|
|
-// // //TODO
|
|
|
-// // wexCallRecord.CPN = "";
|
|
|
-// // wexCallRecord.CDPN = "";
|
|
|
-// // }
|
|
|
-// // else
|
|
|
-// // {
|
|
|
-// // //TODO
|
|
|
-// // wexCallRecord.CPN = "";
|
|
|
-// // wexCallRecord.CDPN = "";
|
|
|
-// // }
|
|
|
-// // wexCallRecord.StaffNo = item.GongHao;
|
|
|
-// // wexCallRecord.AreaName = item.AreaName;
|
|
|
-// // wexCallRecord.InIvrTime = item.BeginIvrTime;
|
|
|
-// // wexCallRecord.OutIvrTime = item.EndIvrTime;
|
|
|
-// // wexCallRecord.InQueueTime = item.BeginQueueTime;
|
|
|
-// // wexCallRecord.OutQueueTime = item.EndQueueTime;
|
|
|
-// // wexCallRecord.BeginTime = item.CallTime;
|
|
|
-// // wexCallRecord.BeginRingTime = item.BeginRingTime;
|
|
|
-// // wexCallRecord.EndRingTime = item.EndRingTime;
|
|
|
-// // wexCallRecord.RingTimes = item.RingTimes;
|
|
|
-// // wexCallRecord.AnsweredTime = item.BeginTalking;
|
|
|
-// // wexCallRecord.ByeTime = item.EndTalking;
|
|
|
-// // wexCallRecord.TalkTime = item.TalkLength;
|
|
|
-// // wexCallRecord.RecordUrl = item.RecordUrl;
|
|
|
-// // wexCallRecord.RecordName = item.RecordName;
|
|
|
-// // wexCallRecord.SourceRecord = item.SourceRecord;
|
|
|
-// // switch (item.NoAnswerResult)
|
|
|
-// // {
|
|
|
-// // case "客户先挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "外呼挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "员工先挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "坐席振铃挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "对端振铃挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "自助语音挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "排队挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "中继转接挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "来电挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "开始转人工挂机":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "电话广播":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // case "播放工号":
|
|
|
-
|
|
|
-// // break;
|
|
|
-// // default:
|
|
|
-// // wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.From;
|
|
|
-// // break;
|
|
|
-// // }
|
|
|
-// // wexCallRecord.Result = item.Result;
|
|
|
-// // wexCallRecord.EvaluateResult = item.AssessName;
|
|
|
-
|
|
|
-// // var id = await _wexCallRecordRepository.AddAsync(wexCallRecord);
|
|
|
-// // if(!string.IsNullOrEmpty(id))
|
|
|
-// // {
|
|
|
-// // //执行更新已下载数据
|
|
|
-// // _uowWex?.Db.Ado.ExecuteCommand("update telinfo set IsSynch=1 where GUID=@CallId", new { CallId = wexCallRecord.CallId });
|
|
|
-// // }
|
|
|
-// // }
|
|
|
-// // }
|
|
|
-// // else
|
|
|
-// // {
|
|
|
-// // await Task.Delay(time, stoppingToken);
|
|
|
-// // }
|
|
|
-// //}
|
|
|
+// using var sc = _serviceScopeFactory.CreateScope();
|
|
|
+// var _logger = sc.ServiceProvider.GetService<ILogger<CallRecordManager>>();
|
|
|
+// var time = TimeSpan.FromSeconds(20);
|
|
|
+// while (!stoppingToken.IsCancellationRequested)
|
|
|
+// {
|
|
|
+// using var scope = _serviceScopeFactory.CreateScope();
|
|
|
+// var _wexCallRecordRepository = scope.ServiceProvider.GetService<IWexCallRecordRepository>();
|
|
|
+// var _uowWex = scope.ServiceProvider.GetService<ISugarUnitOfWork<WexDbContext>>();
|
|
|
+// var wexRes = _uowWex?.Db.Ado.SqlQuery<WexRecord>("select * from view_telinfo_full where IsSynch=@IsSynch and IsOk = @IsOk ", new { IsSynch = 0, IsOk = 1 });
|
|
|
+// if (wexRes != null)
|
|
|
+// {
|
|
|
+// foreach (var item in wexRes)
|
|
|
+// {
|
|
|
+// var wexCallRecord = new WexCallRecord();
|
|
|
+// wexCallRecord.CallId = item.CallId;
|
|
|
+// //呼叫方向
|
|
|
+// switch (item.CallType)
|
|
|
+// {
|
|
|
+// case "外呼":
|
|
|
+// wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.Out;
|
|
|
+// break;
|
|
|
+// case "来电":
|
|
|
+// wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
+// break;
|
|
|
+// case "中继":
|
|
|
+// wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
+// break;
|
|
|
+// case "留言":
|
|
|
+// wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
+// break;
|
|
|
+// case "黑名单":
|
|
|
+// wexCallRecord.Direction = Share.Enums.CallCenter.ECallDirection.In;
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// if (wexCallRecord.Direction == Share.Enums.CallCenter.ECallDirection.Out)
|
|
|
+// {
|
|
|
+// wexCallRecord.CPN = item.TelPhone;
|
|
|
+// wexCallRecord.CDPN = item.GongHao;
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// wexCallRecord.CPN = item.GongHao;
|
|
|
+// wexCallRecord.CDPN = item.TelPhone;
|
|
|
+// }
|
|
|
+// wexCallRecord.StaffNo = item.GongHao;
|
|
|
+// wexCallRecord.AreaName = item.AreaName;
|
|
|
+// wexCallRecord.InIvrTime = item.BeginIvrTime;
|
|
|
+// wexCallRecord.OutIvrTime = item.EndIvrTime;
|
|
|
+// wexCallRecord.InQueueTime = item.BeginQueueTime;
|
|
|
+// wexCallRecord.OutQueueTime = item.EndQueueTime;
|
|
|
+// wexCallRecord.BeginTime = item.CallTime;
|
|
|
+// wexCallRecord.BeginRingTime = item.BeginRingTime;
|
|
|
+// wexCallRecord.EndRingTime = item.EndRingTime;
|
|
|
+// wexCallRecord.RingTimes = item.RingTimes;
|
|
|
+// wexCallRecord.AnsweredTime = item.BeginTalking;
|
|
|
+// wexCallRecord.ByeTime = item.EndTalking;
|
|
|
+// wexCallRecord.TalkTime = item.TalkLength;
|
|
|
+// wexCallRecord.RecordUrl = item.RecordUrl;
|
|
|
+// wexCallRecord.RecordName = item.RecordName;
|
|
|
+// wexCallRecord.SourceRecord = item.SourceRecord;
|
|
|
+// wexCallRecord.TrunkLine = item.TrunkNum;
|
|
|
+// switch (item.NoAnswerResult)
|
|
|
+// {
|
|
|
+// case "客户先挂机":
|
|
|
+// if(wexCallRecord.Direction == Share.Enums.CallCenter.ECallDirection.In)
|
|
|
+// {
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.From;
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.To;
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// case "外呼挂机":
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.From;
|
|
|
+// break;
|
|
|
+// case "员工先挂机":
|
|
|
+// if (wexCallRecord.Direction == Share.Enums.CallCenter.ECallDirection.In)
|
|
|
+// {
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.To;
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.From;
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// case "坐席振铃挂机":
|
|
|
+// if (wexCallRecord.Direction == Share.Enums.CallCenter.ECallDirection.In)
|
|
|
+// {
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.To;
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.From;
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// case "对端振铃挂机":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "自助语音挂机":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "排队挂机":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "中继转接挂机":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "来电挂机":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "开始转人工挂机":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "电话广播":
|
|
|
+
|
|
|
+// break;
|
|
|
+// case "播放工号":
|
|
|
+
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// wexCallRecord.EndBy = Share.Enums.CallCenter.EEndBy.From;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// wexCallRecord.Result = item.Result;
|
|
|
+// wexCallRecord.EvaluateResult = item.AssessName;
|
|
|
+
|
|
|
+// var id = await _wexCallRecordRepository.AddAsync(wexCallRecord);
|
|
|
+// if (!string.IsNullOrEmpty(id))
|
|
|
+// {
|
|
|
+// //执行更新已下载数据
|
|
|
+// _uowWex?.Db.Ado.ExecuteCommand("update telinfo set IsSynch=1 where GUID=@CallId", new { CallId = wexCallRecord.CallId });
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// await Task.Delay(time, stoppingToken);
|
|
|
+// }
|
|
|
+// }
|
|
|
// }
|
|
|
|
|
|
|