From bf5084b9bd44ba20ace6107536cba6955e94ceaf Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 08 八月 2025 16:15:09 +0800 Subject: [PATCH] pref:优化 --- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 4a45d2e..de719a8 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -20,7 +20,7 @@ IRepository<DictionaryData> repDictionaryData ) : IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult>, - IRequestHandler<GetTaskInfosQuery, PagedListQueryResult<GetTaskInfosQueryResultItem>> + IRequestHandler<GetTaskInfosQuery, GetTaskInfosQueryResult> { private readonly IRepository<TaskInfo> rep = rep; @@ -50,12 +50,16 @@ /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> - public Task<PagedListQueryResult<GetTaskInfosQueryResultItem>> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken) + public async Task<GetTaskInfosQueryResult> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken) { var q = TaskInfoRepository.GetQueryable(rep); if (request.Keywords.IsNotNull()) { q = q.Where(it => it.Name.Contains(request.Keywords)); + } + if (request.EnterpriseId.HasValue) + { + q = q.Where(it => it.EnterpriseId == request.EnterpriseId); } if (request.BeginTime.HasValue && request.EndTime.HasValue) { @@ -77,6 +81,15 @@ { q = q.Where(it => it.GenderLimit == request.GenderLimit); } + + var count = new GetTaskInfosQueryResultCount + { + WaitAssignCount = await q.CountAsync(it => it.Status == EnumTaskStatus.Wait), + CompletedAssignCount = await q.CountAsync(it => it.Status == EnumTaskStatus.Complete), + InProcessReleaseCount = await q.CountAsync(it => it.ReleaseStatus == EnumTaskReleaseStatus.InProcess), + StoppedReleaseCount = await q.CountAsync(it => it.ReleaseStatus == EnumTaskReleaseStatus.Stopped), + }; + if (request.Status.HasValue) { q = q.Where(it => it.Status == request.Status); @@ -127,7 +140,7 @@ RecommendStatus = t.RecommendStatus, SettlementStatus = t.SettlementStatus }; - return request.PageModel.GetPagedListAsync(s, cancellationToken); + var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); } } } -- Gitblit v1.9.1