Dun.Jason 4 месяцев назад
Родитель
Сommit
cc47d99439

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

@@ -4703,8 +4703,12 @@ namespace Hotline.Api.Controllers.Bi
         [HttpGet("aivisit-statistics")]
         public async Task QueryAiVisitStatistics([FromQuery] QueryAiVisitStatisticsRequest dto)
         {
-            //_aiOrderVisitDetailRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime).GroupBy(x=>x.OrderId)
-            //    .Select(x=>new );
+            _aiOrderVisitDetailRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime).GroupBy(x => x.OrderId)
+                .Select(x => new QueryAiVisitStatisticsResp()
+                {
+                    AiVisitCount = SqlFunc.AggregateCount(x.OrderId),
+                    AiVisitSuccessCount = SqlFunc.AggregateSum(SqlFunc.IIF(x.OrderVisit.IsEffectiveAiVisit==true,1,0))
+                });
         }
 
         #endregion

+ 1 - 1
src/Hotline.Api/Controllers/TestController.cs

@@ -519,7 +519,7 @@ ICallApplication callApplication,
         //var r = _timeLimitDomainService.CalcExpiredTime(DateTime.Now, EFlowDirection.CenterToCenter, batchId);
         //var r = _timeLimitDomainService.CalcEndTime(DateTime.Parse("2024-09-12 14:45:47"), Share.Enums.Settings.ETimeType.WorkDay, 2, 80, 50);
         //_capPublisher.PublishDelay((DateTime.Now.AddMinutes(2) - DateTime.Now), EventNames.OrderRelateCall, "123");
-        var times = _expireTime.CalcExpiredTime(DateTime.Parse("2024-12-09 18:37:13"), DateTime.Parse("2024-12-09 18:37:13"), EFlowDirection.CenterToOrg,new OrderTimeClacInfo() { AcceptTypeCode="25"});
+        var times = _expireTime.CalcExpiredTime(DateTime.Parse("2024-12-09 18:37:13"), DateTime.Parse("2024-12-09 18:37:13"), EFlowDirection.CenterToOrg,new OrderTimeClacInfo() { AcceptTypeCode="15"});
         //await _capPublisher.PublishDelay(EventNames.OrderRelateCall, "123", cancellationToken: HttpContext.RequestAborted);
         return OpenResponse.Ok(times.Result);
     }

+ 4 - 0
src/Hotline/Settings/TimeLimitDomain/ExpireTimeSupplier/WorkDaySupplier.cs

@@ -200,6 +200,10 @@ public class WorkDaySupplier : IExpireTimeSupplier, IScopeDependency
                 {
                     if(await IsWorkDay(beginTime))
                     {
+                        if (beginTime< DateTime.Parse(beginTime.ToShortDateString()+" "+ timeConfig.WorkTime[0]+":00"))
+                        {
+                            beginTime = DateTime.Parse(beginTime.AddDays(-1).ToShortDateString() + " " + timeConfig.WorkTime[1] + ":00");
+                        }
                         break;
                     }
                     else if(!await IsWorkDay(beginTime) && beginTime> DateTime.Parse(beginTime.ToShortDateString() + " " + timeConfig.WorkTime[1] + ":00"))