From 1b84c97dd1cf5a746c5bbb185a0b7400b7f5ca24 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 15 八月 2025 10:08:40 +0800 Subject: [PATCH] pref:优化 --- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 48d49a8..8002765 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -56,7 +56,7 @@ .Select(it => new { it.Id, - it.EnterpriseEmployee.HireStatus, + it.HireStatus, it.EnterpriseEmployee.UserSignContractStatus }) .FirstOrDefaultAsync(); @@ -136,7 +136,7 @@ { q = q.Where(it => it.GenderLimit == request.GenderLimit); } - if (logier.Type == EnumUserType.Personal && request.IsCollected == true) + if (logier != null && logier.Type == EnumUserType.Personal && request.IsCollected == true) { q = q.Where(it => it.TaskUserCollects.Any(c => c.UserId == logier.Id)); } @@ -151,7 +151,14 @@ if (request.Status.HasValue) { - q = q.Where(it => it.Status == request.Status); + if (request.Status == EnumTaskStatus.Wait) + { + q = q.Where(it => it.ReleaseStatus == EnumTaskReleaseStatus.InProcess && it.Status == EnumTaskStatus.Wait); + } + else + { + q = q.Where(it => it.Status == request.Status); + } } if (request.ReleaseStatus.HasValue) { @@ -226,7 +233,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 => @@ -243,7 +250,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 @@ -263,7 +270,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 }); @@ -333,7 +340,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 -- Gitblit v1.9.1