From fb70afcfe16f5e6ec170a0cea2f8d90ffffbe26a Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 12 八月 2025 18:16:49 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 42 insertions(+), 5 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs index ad8c7e6..a363e48 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs @@ -1,5 +1,6 @@ 锘縰sing FlexJobApi.Core; using Furion.DatabaseAccessor; +using Furion.FriendlyException; using MediatR; using Microsoft.EntityFrameworkCore; using System; @@ -141,17 +142,53 @@ || it.EnterpriseEmployee.User.ContactPhoneNumber.Contains(request.Keywords) || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords)); } - if (request.SubmitTimeBegin.HasValue && request.SubmitTimeEnd.HasValue) + if (logier.ClientType == EnumClientType.Wxmp) { - q = q.Where(it => it.Submits.Any(s => request.SubmitTimeBegin <= s.CreatedTime && s.CreatedTime <= request.SubmitTimeEnd)); + if (request.CheckReceiveStatus == null) + { + throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨楠屾敹鐘舵��"); + } + if (request.DateBegin == null || request.DateEnd == null) + { + throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨鏃ユ湡"); + } + q = q.Where(it => it.Submits.Any(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date + && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit + ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Submit + : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive + ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Wait + : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success + || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))); } - if (request.CheckReceiveStatus.HasValue) + else { - q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus); + if (request.DateBegin.HasValue && request.DateEnd.HasValue) + { + q = q.Where(it => it.Submits.Any(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date)); + } + if (request.CheckReceiveStatus.HasValue) + { + q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus); + } } var s = q.Select(it => new GetCheckReceiveTaskUserInfosQueryResultItem { - + Id = it.TaskInfoId, + TaskName = it.TaskInfo.Name, + BeginTime = it.TaskInfo.BeginTime, + EndTime = it.TaskInfo.EndTime, + AddressName = it.TaskInfo.AddressName, + Name = it.EnterpriseEmployee.User.Name, + Identity = it.EnterpriseEmployee.User.Identity, + Age = it.EnterpriseEmployee.User.Age, + Gender = it.EnterpriseEmployee.User.Gender, + ContactPhoneNumber = it.EnterpriseEmployee.User.ContactPhoneNumber, + CheckReceiveStatus = it.CheckReceiveStatus, + LastSubmitTime = it.LastSubmitTime, }); return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserInfosQueryResult, GetCheckReceiveTaskUserInfosQueryResultItem>(s, cancellationToken); } -- Gitblit v1.9.1