From 61aad62d817ddb6494f52a531fccb7e82bcfd13c Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 08 八月 2025 17:39:27 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob --- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 4a45d2e..0b5e59b 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,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 GetTaskInfosQueryResultObjectData + { + WaitAssignCount = await q.CountAsync(it => it.ReleaseStatus == EnumTaskReleaseStatus.InProcess && 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,9 @@ RecommendStatus = t.RecommendStatus, SettlementStatus = t.SettlementStatus }; - return request.PageModel.GetPagedListAsync(s, cancellationToken); + var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); + result.ObjectData = count; + return result; } } } -- Gitblit v1.9.1