Jason преди 1 година
родител
ревизия
8e0d7ade99

+ 2 - 3
src/Hotline.Api/Controllers/OrderController.cs

@@ -327,7 +327,7 @@ public class OrderController : BaseController
         var orderDto = _mapper.Map<OrderDto>(visit.Order);
 
         //推省上
-        _capPublisher.Publish(EventNames.HotlineOrderVisited, new PublishVisitDto() { Order = orderDto, No = visit.No, VisitType = visit.VisitType, VisitName = visit.Employee.Name , VisitTime = visit.VisitTime, VisitRemark = "", AreaCode = visit.Order.AreaCode!, SubjectResultSatify = first.OrgProcessingResults, FirstSatisfaction = new IdName(visit.Order.FirstVisitResultCode!,visit.Order.FirstVisitResult!), ClientGuid="" });
+        _capPublisher.Publish(EventNames.HotlineOrderVisited, new PublishVisitDto() { Order = orderDto, No = visit.No, VisitType = visit.VisitType, VisitName = visit.Employee.Name , VisitTime = visit.VisitTime, VisitRemark = first.VisitContent, AreaCode = visit.Order.AreaCode!, SubjectResultSatifyCode = first.OrgProcessingResults.Id, FirstSatisfactionCode = visit.Order.FirstVisitResultCode!, ClientGuid="" });
     }
 
     #endregion
@@ -473,8 +473,7 @@ public class OrderController : BaseController
 
     #region 工单甄别
 
-    //public async Task CanScreen
-
+   
 
 
     #endregion

+ 117 - 0
src/Hotline.Application/CallCenter/Calls/CallRecordManager.cs

@@ -0,0 +1,117 @@
+using Hotline.CallCenter.Calls;
+using Hotline.Repository.SqlSugar;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using SqlSugar;
+
+namespace Hotline.Application.CallCenter
+{
+    public class CallRecordManager : BackgroundService
+    {
+        private readonly IServiceScopeFactory _serviceScopeFactory;
+        private readonly ISugarUnitOfWork<WexDbContext> _uowWex;
+
+        public CallRecordManager(IServiceScopeFactory serviceScopeFactory,ISugarUnitOfWork<WexDbContext> uowWex)
+        {
+            _serviceScopeFactory = serviceScopeFactory;
+            _uowWex = uowWex;
+        }
+
+
+
+        protected override 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>();
+
+
+
+            }
+
+            throw new NotImplementedException();
+        }
+
+
+        public class WexRecord
+        {
+            [SugarColumn(ColumnName = "CallID")]
+            public string CallId { get; set; }
+
+            [SugarColumn(ColumnName = "CallType")]
+            public string CallType { get; set; }
+
+            [SugarColumn(ColumnName = "Telphone")]
+            public string TelPhone { get; set; }
+
+            [SugarColumn(ColumnName = "TrunkLinePhone")]
+            public string TrunkNum { get; set; }
+
+            [SugarColumn(ColumnName = "GongHao")]
+            public string GongHao { get; set; }
+
+            [SugarColumn(ColumnName = "AreaName")]
+            public string AreaName { get; set; }
+
+            [SugarColumn(ColumnName = "BeginIvrTime")]
+            public DateTime? BeginIvrTime { get; set; }
+
+            [SugarColumn(ColumnName = "EndIvrTime")]
+            public DateTime? EndIvrTime { get; set; }
+
+            [SugarColumn(ColumnName = "BeginQueueTime")]
+            public DateTime? BeginQueueTime { get; set; }
+
+            [SugarColumn(ColumnName = "EndQueueTime")]
+            public DateTime? EndQueueTime { get; set; }
+
+            [SugarColumn(ColumnName = "BeginRingTime")]
+            public DateTime? BeginRingTime{ get; set; }
+
+            [SugarColumn(ColumnName = "EndRingTime")]
+            public DateTime? EndRingTime { get; set; }
+
+            [SugarColumn(ColumnName = "RingTimes")]
+            public int RingTimes { get; set; }
+
+            [SugarColumn(ColumnName = "CallTime")]
+            public DateTime? CallTime { get; set; }
+
+            [SugarColumn(ColumnName = "BeginTalking")]
+            public DateTime? BeginTalking { get; set; }
+
+            [SugarColumn(ColumnName = "EndTalking")]
+            public DateTime? EndTalking { get; set; }
+
+            /// <summary>
+            /// 通话时长
+            /// </summary>
+            [SugarColumn(ColumnName = "TalkLenth")]
+            public int TalkLength { get; set; }
+
+            [SugarColumn(ColumnName = "RecordUrl")]
+            public string RecordUrl { get; set; }
+
+            [SugarColumn(ColumnName = "RecordName")]
+            public string RecordName { get; set; }
+
+            [SugarColumn(ColumnName = "SourceRecord")]
+            public string SourceRecord { get; set; }
+
+            [SugarColumn(ColumnName = "noAnswerResult")]
+            public string NoAnswerResult { get; set; }
+
+            [SugarColumn(ColumnName = "Result")]
+            public string Result { get; set; }
+
+            [SugarColumn(ColumnName = "AssessName")]
+            public string AssessName { get; set; }
+        }
+    }
+}

+ 2 - 2
src/Hotline.Share/Dtos/Order/OrderDto.cs

@@ -570,7 +570,7 @@ namespace Hotline.Share.Dtos.Order
         /// <summary>
         /// 回访结果满意度
         /// </summary>
-        public IdName SubjectResultSatify { get; set; }
+        public string SubjectResultSatifyCode{ get; set; }
 
         /// <summary>
         /// 行政区划代码
@@ -580,7 +580,7 @@ namespace Hotline.Share.Dtos.Order
         /// <summary>
         /// 工单回访首次结果满意度
         /// </summary>
-        public IdName FirstSatisfaction { get; set; }
+        public string FirstSatisfactionCode { get; set; }
 
         /// <summary>
         /// 附件

+ 1 - 0
src/Hotline.Share/Enums/Order/ESeatEvaluate.cs

@@ -21,6 +21,7 @@ namespace Hotline.Share.Enums.Order
         [Description("满意")]
         Satisfied = 20,
 
+
         /// <summary>
         /// 一般
         /// </summary>

+ 0 - 47
src/Hotline/Caching/Services/CallRecordManager.cs

@@ -1,47 +0,0 @@
-using Hotline.CallCenter.Calls;
-using Microsoft.EntityFrameworkCore.Metadata.Internal;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using Microsoft.Extensions.Logging;
-using SqlSugar;
-
-namespace Hotline.Caching.Services
-{
-    public class CallRecordManager : BackgroundService
-    {
-        private readonly IServiceScopeFactory _serviceScopeFactory;
-
-        public CallRecordManager(IServiceScopeFactory serviceScopeFactory)
-        {
-            _serviceScopeFactory = serviceScopeFactory;
-        }
-
-
-
-        protected override 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>();
-            //}
-            throw new NotImplementedException();
-        }
-
-
-        public class WexRecord
-        {
-            [SugarColumn(ColumnName = "CallID")]
-            public string CallId { get; set; }
-
-            [SugarColumn(ColumnName = "CallType")]
-            public string CallType { get; set; }
-
-            
-        }
-    }
-}

+ 0 - 1
src/Hotline/Orders/OrderVisitDetail.cs

@@ -49,7 +49,6 @@ namespace Hotline.Orders
         /// <summary>
         /// 回访内容
         /// </summary>
-        [SugarColumn(IsNullable = true)]
         public string VisitContent { get; set; }
 
         /// <summary>