tangjiang 10 maanden geleden
bovenliggende
commit
ba8733f569
2 gewijzigde bestanden met toevoegingen van 39 en 0 verwijderingen
  1. 25 0
      src/Hotline.Api/Controllers/TestController.cs
  2. 14 0
      src/Hotline.Share/Dtos/Order/OrderReportDto.cs

+ 25 - 0
src/Hotline.Api/Controllers/TestController.cs

@@ -200,6 +200,31 @@ public class TestController : BaseController
         _mapper = mapper;
         _sendSmsConfiguration = sendSmsConfiguration;
     }
+    [HttpGet("testo111")]
+    [AllowAnonymous]
+    public async Task<object> Test111(DateTime StartTime, DateTime? EndTime)
+    {
+
+        var list = await _orderRepository.Queryable()
+                 .Where(p => p.CreationTime >= StartTime && p.CreationTime <= EndTime)
+                 .Select(p => new
+                 {
+                     AreaCode = p.AreaCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
+                     Hour = p.CreationTime.Hour
+
+                 }).MergeTable()
+                 .LeftJoin<SystemArea>((p,a)=>p.AreaCode==a.Id)
+                 .GroupBy((p, a) => a.AreaName)
+                 .GroupBy((p, a) => p.Hour)
+                 .Select((p, a) => new
+                 {
+                     AreaCode = a.AreaName,
+                     Hour = p.Hour,
+                     count = SqlFunc.AggregateCount(p.AreaCode)
+                 }).ToPivotTableAsync(p => p.AreaCode, p => p.Hour, p => p.Sum(x => x.count));
+
+        return list;
+    }
 
     [HttpGet("testo")]
     [AllowAnonymous]

+ 14 - 0
src/Hotline.Share/Dtos/Order/OrderReportDto.cs

@@ -20,4 +20,18 @@ public class OrderReportDto : OrderExtensionDto
     public string? ReportTarget { get; set; }
 
     #endregion
+}
+
+public class OrderAreaTimeDto
+{
+    /// <summary>
+    /// 小时跨度
+    /// </summary>
+    public string HourRange { get; set; }
+
+    public int Hour { get; set; }
+
+    public int Total { get; set; }
+
+
 }