瀏覽代碼

myuserinfo

Jason 1 年之前
父節點
當前提交
d921d39c6b

+ 2 - 1
src/Hotline.Api/Controllers/HomeController.cs

@@ -65,7 +65,8 @@ public class HomeController : BaseController
     {
         if (!string.IsNullOrEmpty(_sessionContext.UserId))
         {
-            return await _userRepository.GetAsync(_sessionContext.UserId);
+            return await _userRepository.Queryable().Includes(x => x.Organization).FirstAsync(x => x.Id == _sessionContext.UserId);
+            //return await _userRepository.GetAsync(_sessionContext.UserId);
         }
         throw UserFriendlyException.SameMessage("无效登录信息");
     }

+ 142 - 122
src/Hotline.Application/CallCenter/Calls/CallRecordManager.cs

@@ -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);
+//                }
+//            }
 //        }
 
 

+ 5 - 0
src/Hotline/CallCenter/Calls/WexCallRecord.cs

@@ -140,5 +140,10 @@ namespace Hotline.CallCenter.Calls
         /// </summary>
         public string EvaluateResult { get; set; }
 
+        /// <summary>
+        /// 中继线
+        /// </summary>
+        public string TrunkLine { get; set; }
+
     }
 }