소스 검색

优化查询逻辑,简化多表查询并明确待回访计算

此次提交优化了 `BiOrderController.cs` 中的查询逻辑:
- 移除了 `Queryable` 查询中的多表 `LeftJoin` 和部分 `WhereIF` 条件。
- 将查询条件从多表查询简化为单表查询。
- 使用 `SqlFunc.AggregateSum` 明确计算 `待回访` 逻辑。
- 计算结果赋值给 `centerReportVisitd.WaitVisitd`。

改动提升了代码的可读性和查询性能。
田爽 4 일 전
부모
커밋
19709c12e5
1개의 변경된 파일1개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 3
      src/Hotline.Api/Controllers/Bi/BiOrderController.cs

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

@@ -3035,9 +3035,7 @@ namespace Hotline.Api.Controllers.Bi
               }).FirstAsync();
 
 			var waitVisitd = await _orderVisitRepository.Queryable()
-			 .LeftJoin<Order>((x, o) => x.OrderId == o.Id)
-			 .WhereIF(IdentityType.HasValue, (x, o) => o.IdentityType == IdentityType)
-			 .Where((x, o) => x.CreationTime >= StartTime && x.CreationTime <= EndTime).Select((x, o) =>
+			 .Where(x => x.CreationTime >= StartTime && x.CreationTime <= EndTime).Select(x =>
 				   SqlFunc.AggregateSum(SqlFunc.IIF(x.VisitState != EVisitState.None && x.VisitState != EVisitState.Visited, 1, 0)) //待回访
 			  ).FirstAsync();
 			centerReportVisitd.WaitVisitd = waitVisitd;