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.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs | 4 +- FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs | 2 + FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs | 47 +++++++++++++++++++++-- FlexJobApi.Core/FlexJobApi.Core.xml | 22 ++++++++--- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 8 ---- FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs | 11 +++++ FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs | 10 ++-- 7 files changed, 78 insertions(+), 26 deletions(-) diff --git a/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs b/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs index 109c889..be3fce3 100644 --- a/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs +++ b/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs @@ -45,7 +45,7 @@ public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; } /// <summary> - /// 瀹夋帓鐘舵�� + /// 瀹夋帓瀹屾垚鏃堕棿 /// </summary> public DateTime? ArrangeTime { get; set; } @@ -55,7 +55,7 @@ public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; } /// <summary> - /// 楠屾敹鏃堕棿 + /// 楠屾敹瀹屾垚鏃堕棿 /// </summary> public DateTime? CheckReceiveTime { get; set; } diff --git a/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs b/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs index 62c2227..36b2958 100644 --- a/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs +++ b/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUserSubmit.cs @@ -27,6 +27,11 @@ public TaskInfoUser TaskInfoUser { get; set; } /// <summary> + /// 楠屾敹鏃堕棿 + /// </summary> + public DateTime Date { get; set; } + + /// <summary> /// 闄勪欢 /// </summary> public List<TaskInfoUserSubmitFile> Files { get; set; } @@ -35,5 +40,11 @@ /// 楠屾敹鐘舵�� /// </summary> public EnumTaskUserSubmitCheckReceiveStatus CheckReceiveStatus { get; set; } + + /// <summary> + /// 楠屾敹瀹屾垚鏃堕棿 + /// </summary> + public DateTime? CheckReceiveTime { get; set; } + } } diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index efc69c3..add074b 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -936,7 +936,7 @@ </member> <member name="P:FlexJobApi.Core.TaskInfoUser.ArrangeTime"> <summary> - 瀹夋帓鐘舵�� + 瀹夋帓瀹屾垚鏃堕棿 </summary> </member> <member name="P:FlexJobApi.Core.TaskInfoUser.CheckReceiveStatus"> @@ -946,7 +946,7 @@ </member> <member name="P:FlexJobApi.Core.TaskInfoUser.CheckReceiveTime"> <summary> - 楠屾敹鏃堕棿 + 楠屾敹瀹屾垚鏃堕棿 </summary> </member> <member name="P:FlexJobApi.Core.TaskInfoUser.LastSubmitTime"> @@ -974,6 +974,11 @@ 浠诲姟浜哄憳 </summary> </member> + <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.Date"> + <summary> + 楠屾敹鏃堕棿 + </summary> + </member> <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.Files"> <summary> 闄勪欢 @@ -982,6 +987,11 @@ <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.CheckReceiveStatus"> <summary> 楠屾敹鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.TaskInfoUserSubmit.CheckReceiveTime"> + <summary> + 楠屾敹瀹屾垚鏃堕棿 </summary> </member> <member name="T:FlexJobApi.Core.TaskInfoUserSubmitFile"> @@ -4723,12 +4733,12 @@ 鍏抽敭瀛� </summary> </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.SubmitTimeBegin"> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.DateBegin"> <summary> 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� </summary> </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.SubmitTimeEnd"> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.DateEnd"> <summary> 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� </summary> @@ -4783,9 +4793,9 @@ 韬唤璇佸彿 </summary> </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Birthday"> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Gender"> <summary> - 鐢熸棩 + 鎬у埆 </summary> </member> <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Age"> diff --git a/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs index 56978b4..27e61b5 100644 --- a/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs +++ b/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs @@ -26,12 +26,12 @@ /// <summary> /// 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� /// </summary> - public DateTime? SubmitTimeBegin { get; set; } + public DateTime? DateBegin { get; set; } /// <summary> /// 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� /// </summary> - public DateTime? SubmitTimeEnd { get; set; } + public DateTime? DateEnd { get; set; } /// <summary> /// 楠屾敹鐘舵�� @@ -88,9 +88,9 @@ public string Identity { get; set; } /// <summary> - /// 鐢熸棩 + /// 鎬у埆 /// </summary> - public DateTime? Birthday { get; set; } + public EnumUserGender? Gender { get; set; } /// <summary> /// 骞撮緞 @@ -111,6 +111,6 @@ /// <summary> /// 楠屾敹鐘舵�� /// </summary> - public EnumTaskCheckReceiveStatus CheckReceiveStatus { get; set; } + public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; } } } diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs index b663d72..bcce659 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs @@ -100,6 +100,7 @@ { var logier = JwtUtils.GetCurrentLogier(); var entity = await rep.AsQueryable() + .Include(it => it.TaskInfo) .Include(it => it.EnterpriseEmployee) .Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId @@ -112,6 +113,7 @@ { entity.ArrangeTime = DateTime.Now; entity.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitSubmit; + entity.TaskInfo.Status = EnumTaskStatus.Complete; } await rep.UpdateAsync(entity); return entity.Id; 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); } diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index fe0b498..6d1fa99 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -283,14 +283,6 @@ break; } } - else - { - q = q.Where(it => - it.TaskInfoUsers.Any(tu => - tu.EnterpriseEmployee.UserId == logier.Id - && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait - || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait))); - } var s = q.Select(it => new GetPersonalHireTaskInfosQueryResultItem { Id = it.Id, -- Gitblit v1.9.1