瀏覽代碼

信件来源统计查询

田爽 7 月之前
父節點
當前提交
2cf3039166

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

@@ -2722,7 +2722,9 @@ namespace Hotline.Api.Controllers.Bi
         [HttpGet("order_source_report")]
         public async Task<IReadOnlyList<OrderSourceVo>> QueryOrderSourceReport([FromQuery] QueryOrderSourceRequest dto)
         {
-            var count = await _orderApplication.QueryOrderSource(dto).CountAsync();
+	        if (dto.EndTime.HasValue)
+		        dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
+			var count = await _orderApplication.QueryOrderSource(dto).CountAsync();
             var query = _orderApplication.QueryOrderSource(dto);
             var items = await query.GroupBy(d => d.SourceChannel).Select(d => new OrderSourceVo { Source = d.SourceChannel, Num = SqlFunc.AggregateCount(d.Id), TotalSumCount = count }).ToListAsync(HttpContext.RequestAborted);
             items.Add(new OrderSourceVo { Source = "合计", Num = count, TotalSumCount = count });
@@ -2736,7 +2738,9 @@ namespace Hotline.Api.Controllers.Bi
         [HttpPost("order_source/_export")]
         public async Task<FileStreamResult> QueryOrderSourceReport([FromBody] ExportExcelDto<QueryOrderSourceRequest> dto)
         {
-            var count = await _orderApplication.QueryOrderSource(dto.QueryDto).CountAsync();
+	        if (dto.QueryDto.EndTime.HasValue)
+		        dto.QueryDto.EndTime = dto.QueryDto.EndTime.Value.AddDays(1).AddSeconds(-1);
+			var count = await _orderApplication.QueryOrderSource(dto.QueryDto).CountAsync();
             var query = _orderApplication.QueryOrderSource(dto.QueryDto).GroupBy(d => d.SourceChannel).Select(d => new OrderSourceVo { Source = d.SourceChannel, Num = SqlFunc.AggregateCount(d.Id), TotalSumCount = count });
             List<OrderSourceVo> orderSources;
             if (dto.IsExportAll)

+ 2 - 4
src/Hotline.Application/Orders/OrderApplication.cs

@@ -730,13 +730,11 @@ public class OrderApplication : IOrderApplication, IScopeDependency
     /// <returns></returns>
     public ISugarQueryable<Order> QueryOrderSource(QueryOrderSourceRequest dto)
     {
-        if (dto.EndTime.HasValue)
-            dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
         return _orderRepository.Queryable()
             .WhereIF(dto.StartTime.HasValue, d => d.CreationTime >= dto.StartTime)
             .WhereIF(dto.EndTime.HasValue, d => d.CreationTime <= dto.EndTime)
-                .WhereIF(dto.TypeId != null && dto.TypeId == 1, x => x.IdentityType == EIdentityType.Citizen)
-                .WhereIF(dto.TypeId != null && dto.TypeId == 2, x => x.IdentityType == EIdentityType.Enterprise)
+            .WhereIF(dto.TypeId != null && dto.TypeId == 1, x => x.IdentityType == EIdentityType.Citizen)
+            .WhereIF(dto.TypeId != null && dto.TypeId == 2, x => x.IdentityType == EIdentityType.Enterprise)
             .Where(d => d.SourceChannel != null && d.SourceChannel != "");
     }