xf 2 minggu lalu
induk
melakukan
04864fab1a

+ 1 - 2
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -47,12 +47,11 @@ using Hotline.Share.Dtos.File;
 using Hotline.File;
 using Hotline.KnowledgeBase;
 using DocumentFormat.OpenXml.Vml.Spreadsheet;
-using Hotline.Application.OrderApp;
 using Hotline.Share.Tools;
 using MediatR;
 using static Hotline.AppDefaults;
 using Hotline.Ai.Visit;
-using Hotline.Share.Dtos.Order.OrderDelay;
+using Hotline.Application.OrderApp.OrderVisitApp;
 
 namespace Hotline.Api.Controllers.Bi
 {

+ 8 - 4
src/Hotline.Application/Jobs/ApptaskJob.cs

@@ -22,18 +22,22 @@ namespace Hotline.Application.Jobs
         {
             var task = await _apptaskDomainService.GetWaitingTaskAsync(context.CancellationToken);
             if (task is null) return;
+            IApptaskExecutor executor;
             switch (task.TaskType)
             {
                 case ETaskType.Delay:
-                    var executor = _serviceProvider.GetService<IApptaskExecutor<BatchDelayNextFlowDto>>();
-                    await _apptaskDomainService.ExecuteAsync(executor, task, context.CancellationToken);
+                    executor = _serviceProvider.GetService<IApptaskExecutor<BatchDelayNextFlowDto>>();
                     break;
                 case ETaskType.Screen:
                     break;
+                case ETaskType.VoiceVisit:
+                    executor = _serviceProvider.GetService<IApptaskExecutor<BatchVoiceVisitDto>>();
+                    break;
                 default:
                     throw new ArgumentOutOfRangeException();
             }
-            
+            await _apptaskDomainService.ExecuteAsync(executor, task, context.CancellationToken);
+
         }
 
         /// <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
@@ -42,6 +46,6 @@ namespace Hotline.Application.Jobs
             GC.SuppressFinalize(this);
         }
 
-        
+
     }
 }

+ 1 - 0
src/Hotline.Application/OrderApp/OrderApplication.cs

@@ -5,6 +5,7 @@ using DocumentFormat.OpenXml.Spreadsheet;
 using DotNetCore.CAP;
 using FluentValidation;
 using Hotline.Application.FlowEngine;
+using Hotline.Application.OrderApp.OrderVisitApp;
 using Hotline.Application.Quality;
 using Hotline.Article;
 using Hotline.Authentications;

+ 1 - 1
src/Hotline.Application/OrderApp/IOrderVisitApplication.cs → src/Hotline.Application/OrderApp/OrderVisitApp/IOrderVisitApplication.cs

@@ -1,6 +1,6 @@
 using Hotline.Share.Dtos.Order;
 
-namespace Hotline.Application.OrderApp;
+namespace Hotline.Application.OrderApp.OrderVisitApp;
 
 public interface IOrderVisitApplication
 {

+ 1 - 1
src/Hotline.Application/OrderApp/OrderVisitApplication.cs → src/Hotline.Application/OrderApp/OrderVisitApp/OrderVisitApplication.cs

@@ -9,7 +9,7 @@ using SqlSugar;
 using XF.Domain.Dependency;
 using XF.Domain.Repository;
 
-namespace Hotline.Application.OrderApp;
+namespace Hotline.Application.OrderApp.OrderVisitApp;
 
 /// <summary>
 /// 回访服务

+ 6 - 0
src/Hotline.Share/Enums/BatchTask/ETaskType.cs

@@ -18,4 +18,10 @@ public enum ETaskType
     /// </summary>
     [Description("甄别任务")]
     Screen = 2,
+
+    /// <summary>
+    /// 语音回访
+    /// </summary>
+    [Description("语音回访")]
+    VoiceVisit = 3,
 }

+ 1 - 1
test/Hotline.Tests/Application/OrderVisitApplicationTest.cs

@@ -1,4 +1,4 @@
-using Hotline.Application.OrderApp;
+using Hotline.Application.OrderApp.OrderVisitApp;
 using Hotline.Share.Dtos.Order;
 using Hotline.Share.Tools;
 using Shouldly;