sunpengfei
2025-08-11 548e3c340da68d88122a90584d1e781e60f5f02e
FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -34,13 +34,22 @@
        /// <returns></returns>
        public async Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var model = await TaskInfoRepository.GetQueryable(rep)
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetTaskInfoQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
                .GetDetail<TaskInfo, GetTaskInfoQueryResult>(cancellationToken);
            model.TaskCount = await rep.AsQueryable().AsNoTracking()
                .Where(it => it.EnterpriseId == model.EnterpriseId && it.ReleaseStatus == EnumTaskReleaseStatus.InProcess)
                .CountAsync();
            model.ApplyCount = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking()
                .CountAsync(it => it.TaskInfoId == model.Id);
            if (logier.Type == EnumUserType.Personal)
            {
                model.HireStatus = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking()
                    .Where(it => it.TaskInfoId == model.Id && it.UserId == logier.Id)
                    .Select(it => it.HireStatus)
                    .FirstOrDefaultAsync();
            }
            return model;
        }