From f12486fe7dda22c4777ab0f5eb93f6464bb684d2 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 14 八月 2025 15:10:19 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index e9f5eff..883169c 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/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>, @@ -55,7 +56,7 @@ .Select(it => new { it.Id, - it.EnterpriseEmployee.HireStatus, + it.HireStatus, it.EnterpriseEmployee.UserSignContractStatus }) .FirstOrDefaultAsync(); @@ -73,17 +74,28 @@ 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> @@ -106,7 +118,7 @@ } 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()) { @@ -123,6 +135,10 @@ 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 @@ -185,7 +201,7 @@ 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; @@ -210,7 +226,7 @@ q = q.Where(it => it.TaskInfoUsers.Any(tu => tu.EnterpriseEmployee.UserId == logier.Id - && tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait)); + && tu.HireStatus == EnumTaskUserHireStatus.Wait)); break; case GetPersonalApplyTaskInfosQueryStatus.WaitSignContract: q = q.Where(it => @@ -227,7 +243,7 @@ q = q.Where(it => it.TaskInfoUsers.Any(tu => tu.EnterpriseEmployee.UserId == logier.Id - && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait + && (tu.HireStatus == EnumTaskUserHireStatus.Wait || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait))); } var s = q.Select(it => new GetPersonalApplyTaskInfosQueryResultItem @@ -247,7 +263,7 @@ AddressName = it.AddressName, Status = it.TaskInfoUsers.Any(it => it.EnterpriseEmployee.UserId == logier.Id - && it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait) + && it.HireStatus == EnumTaskUserHireStatus.Wait) ? GetPersonalApplyTaskInfosQueryStatus.WaitHire : GetPersonalApplyTaskInfosQueryStatus.WaitSignContract }); @@ -317,7 +333,7 @@ var q = TaskInfoRepository.GetQueryable(rep, true, logier).Where(it => it.TaskInfoUsers.Any(tu => tu.EnterpriseEmployee.UserId == logier.Id - && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Refuse + && (tu.HireStatus == EnumTaskUserHireStatus.Refuse || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Refuse || tu.EnterpriseEmployee.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Refuse))); var s = q.Select(it => new GetPersonalCancelTaskInfosQueryResultItem @@ -338,5 +354,6 @@ }); return await request.PageModel.GetPagedListAsync<GetPersonalCancelTaskInfosQueryResult, GetPersonalCancelTaskInfosQueryResultItem>(s, cancellationToken); } + } } -- Gitblit v1.9.1