sunpengfei
2025-08-13 809cd3966929f4c4f190ed8aa604d137227fe641
FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -20,6 +20,7 @@
            IRepository<DictionaryData> repDictionaryData
        ) :
        IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult>,
        IRequestHandler<GetOpenTaskInfosQuery, GetTaskInfosQueryResult>,
        IRequestHandler<GetTaskInfosQuery, GetTaskInfosQueryResult>,
        IRequestHandler<GetPersonalApplyTaskInfosQuery, GetPersonalApplyTaskInfosQueryResult>,
        IRequestHandler<GetPersonalHireTaskInfosQuery, GetPersonalHireTaskInfosQueryResult>,
@@ -73,7 +74,7 @@
                    if (model.HireButton == GetTaskInfoQueryResultHireButton.InProcess && model.BeginTime <= now)
                    {
                        var submit = await rep.Change<TaskInfoUserSubmit>().AsQueryable().AsNoTracking()
                            .AnyAsync(it => it.TaskInfoUserId == taskUser.Id && it.CheckReceiveStatus >= EnumTaskUserSubmitCheckReceiveStatus.Wait);
                            .AnyAsync(it => it.TaskInfoUserId == taskUser.Id && it.CheckReceiveStatus >= EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive);
                        if (!submit)
                        {
                            model.HireButton = GetTaskInfoQueryResultHireButton.ApplyCheckReceive;
@@ -84,6 +85,17 @@
                    .AnyAsync(it => it.TaskInfoId == request.Id && it.UserId == logier.Id);
            }
            return model;
        }
        /// <summary>
        /// 查询开放任务分页列表
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task<GetTaskInfosQueryResult> Handle(GetOpenTaskInfosQuery request, CancellationToken cancellationToken)
        {
            return Handle(request.Adapt<GetTaskInfosQuery>(), cancellationToken);
        }
        /// <summary>
@@ -267,7 +279,6 @@
            var q = TaskInfoRepository.GetQueryable(rep, true, logier).Where(it =>
                it.TaskInfoUsers.Any(tu =>
                    tu.EnterpriseEmployee.UserId == logier.Id
                    && tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass
                    && tu.ArrangeStatus == EnumTaskUserArrangeStatus.Complete));
            if (request.Status.HasValue)
            {
@@ -339,5 +350,6 @@
            });
            return await request.PageModel.GetPagedListAsync<GetPersonalCancelTaskInfosQueryResult, GetPersonalCancelTaskInfosQueryResultItem>(s, cancellationToken);
        }
    }
}