| | |
| | | IRepository<DictionaryData> repDictionaryData |
| | | ) : |
| | | IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult>, |
| | | IRequestHandler<GetOpenTaskInfosQuery, GetTaskInfosQueryResult>, |
| | | IRequestHandler<GetTaskInfosQuery, GetTaskInfosQueryResult>, |
| | | IRequestHandler<GetPersonalApplyTaskInfosQuery, GetPersonalApplyTaskInfosQueryResult>, |
| | | IRequestHandler<GetPersonalHireTaskInfosQuery, GetPersonalHireTaskInfosQueryResult>, |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | model.IsCollected = await rep.Change<UserTaskCollect>().AsQueryable().AsNoTracking() |
| | | model.IsCollected = await rep.Change<TaskUserCollect>().AsQueryable().AsNoTracking() |
| | | .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> |
| | |
| | | } |
| | | if (request.BeginTime.HasValue && request.EndTime.HasValue) |
| | | { |
| | | q = q.Where(it => request.BeginTime <= it.BeginTime && it.BeginTime <= request.EndTime); |
| | | q = q.Where(it => request.BeginTime <= it.CreatedTime && it.CreatedTime <= request.EndTime); |
| | | } |
| | | if (request.CityCode.IsNotNull()) |
| | | { |
| | |
| | | if (request.GenderLimit.HasValue) |
| | | { |
| | | q = q.Where(it => it.GenderLimit == request.GenderLimit); |
| | | } |
| | | if (logier != null && logier.Type == EnumUserType.Personal && request.IsCollected == true) |
| | | { |
| | | q = q.Where(it => it.TaskUserCollects.Any(c => c.UserId == logier.Id)); |
| | | } |
| | | |
| | | var count = new GetTaskInfosQueryResultObjectData |
| | |
| | | CheckReceiveStatus = t.CheckReceiveStatus, |
| | | CreatedTime = t.CreatedTime, |
| | | RecommendStatus = t.RecommendStatus, |
| | | SettlementStatus = t.SettlementStatus |
| | | SettlementStatus = t.SettlementStatus, |
| | | }; |
| | | var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); |
| | | result.ObjectData = count; |
| | |
| | | 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) |
| | | { |
| | |
| | | }); |
| | | return await request.PageModel.GetPagedListAsync<GetPersonalCancelTaskInfosQueryResult, GetPersonalCancelTaskInfosQueryResultItem>(s, cancellationToken); |
| | | } |
| | | |
| | | } |
| | | } |