From 091a61921fd3f29a8169c065ce1baa5e41176da5 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 08 八月 2025 17:12:22 +0800 Subject: [PATCH] fix: 企业任务数量 --- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index b925ea7..418cb1d 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; @@ -39,7 +39,7 @@ .ProjectToType<GetTaskInfoQueryResult>() .FirstOrDefaultAsync(cancellationToken); model.TaskCount = await rep.AsQueryable().AsNoTracking() - .Where(it => it.EnterpriseId == model.EnterpriseId && it.ReleaseStatus == EnumTaskReleaseStatus.Stopped) + .Where(it => it.EnterpriseId == model.EnterpriseId && it.ReleaseStatus == EnumTaskReleaseStatus.InProcess) .CountAsync(); return model; } @@ -50,7 +50,7 @@ /// <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()) @@ -81,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); @@ -131,7 +140,9 @@ RecommendStatus = t.RecommendStatus, SettlementStatus = t.SettlementStatus }; - return request.PageModel.GetPagedListAsync(s, cancellationToken); + var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); + result.Count = count; + return result; } } } -- Gitblit v1.9.1