Sfoglia il codice sorgente

优化派单逻辑并清理无用引用

在 `OrderController.cs` 中:
- 修改派单节点处理逻辑,使用 `MaxBy` 方法获取最新节点,删除重复代码,增加 `sendOrderTrace` 的空检查。
- 修改平均派单处理逻辑,将 `averageSendOrder` 判断移到 `nextDto.NextHandlers` 检查之后,删除重复代码。

在 `StartupExtensions.cs` 中:
- 删除 `Hotline.Application.Contracts`、`Hotline.ThirdAccountDomainServices.Interfaces`、`Hotline.Snapshot.IRepository`、`Hotline.Validators`、`Hotline.Api.Filter`、`Hotline.Caching.Interfaces` 和 `Hotline.Caching.Services` 的引用。
xf 3 settimane fa
parent
commit
7822708d2e

+ 9 - 11
src/Hotline.Api/Controllers/OrderController.cs

@@ -5478,14 +5478,12 @@ public class OrderController : BaseController
                     // 宜宾需求: 1.是否是派单节点  2.是否存在历史派单节点  3.存在获取上个派单节点  4.不存在走平均派单   过滤历史派单节点不为派单池
                     if (_appOptions.Value.IsYiBin || _appOptions.Value.IsZiGong)
                     {
-                        var sendOrderTraces =
-                            workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId);
-                        if (sendOrderTraces.Any())
+                        var sendOrderTrace = workflow.Traces
+                            .Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId)
+                            .MaxBy(x => x.CreationTime);
+                        if (sendOrderTrace is not null)
                         {
-                            var sendOrderTrace = workflow.Traces
-                                .Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId)
-                                .OrderByDescending(x => x.CreationTime)
-                                .FirstOrDefault();
+                            //todo
                             nextDto.NextHandlers = new List<StepAssignInfo>
                             {
                                 new()
@@ -5696,11 +5694,11 @@ public class OrderController : BaseController
 
     private async Task AverageSendOrderAsync(NextWorkflowDto nextDto, CancellationToken cancellationToken)
     {
-        // 平均派单
-        var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
-        if (averageSendOrder)
+        if (!nextDto.NextHandlers.Any())
         {
-            if (!nextDto.NextHandlers.Any())
+            // 平均派单
+            var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
+            if (averageSendOrder)
             {
                 var handler = await _orderDomainService.AverageOrder(cancellationToken);
                 nextDto.NextHandlers = new List<StepAssignInfo> { handler };

+ 0 - 3
src/Hotline.Api/StartupExtensions.cs

@@ -3,7 +3,6 @@ using FluentValidation;
 using FluentValidation.AspNetCore;
 using Hotline.Api.Realtimes;
 using Hotline.Application;
-using Hotline.Application.Contracts;
 using Hotline.NewRock;
 using Hotline.Permissions;
 using Hotline.Repository.SqlSugar.Extensions;
@@ -37,12 +36,10 @@ using Hotline.Orders.DatabaseEventHandler;
 using Hotline.Ai.XingTang;
 using Hotline.Pdf;
 using Hotline.XingTang;
-using Hotline.ThirdAccountDomainServices.Interfaces;
 using Hotline.Snapshot.IRepository;
 using Hotline.Validators;
 using Hotline.Api.Filter;
 using Hotline.Caching.Interfaces;
-using Hotline.Caching.Services;
 using Hotline.Settings;