From 94161f59f85ab482f283aaf861d7109bef326980 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 13 八月 2025 14:28:54 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs | 61 +++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 6 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs similarity index 64% rename from FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs rename to FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs index b5060d0..1517eef 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskCheckReceiveQueryHandler.cs @@ -13,16 +13,20 @@ namespace FlexJobApi.FlexJobServer.Application { /// <summary> - /// 浠诲姟浜哄憳鏌ヨ澶勭悊鍣� + /// 浠诲姟楠屾敹鏌ヨ澶勭悊鍣� /// </summary> - public class TaskUserSubmitQueryHandler( + public class TaskCheckReceiveQueryHandler( IRepository<TaskInfo> repTaskInfo, - IRepository<TaskInfoUser> repTaskInfoUser) : + IRepository<TaskInfoUser> repTaskInfoUser, + IRepository<TaskInfoUserSubmit> repTaskInfoUserSubmit) : IRequestHandler<GetCheckReceiveTasksQuery, GetCheckReceiveTasksQueryResult>, - IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult> + IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult>, + IRequestHandler<GetCheckReceiveTaskUserSubmitsQuery, GetCheckReceiveTaskUserSubmitsQueryResult>, + IRequestHandler<GetCheckReceiveTaskUserSubmitQuery, GetCheckReceiveTaskUserSubmitQueryResult> { private readonly IRepository<TaskInfo> repTaskInfo = repTaskInfo; private readonly IRepository<TaskInfoUser> repTaskInfoUser = repTaskInfoUser; + private readonly IRepository<TaskInfoUserSubmit> repTaskInfoUserSubmit = repTaskInfoUserSubmit; /// <summary> /// 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃 @@ -58,14 +62,16 @@ q = q.Where(it => it.TaskInfoUsers.Any(tu => tu.EnterpriseEmployee.UserId == logier.Id - && tu.Submits.Any(s => + && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit + ? !tu.Submits.Any(s => s.Date.Date == request.Date.Value.Date) + : tu.Submits.Any(s => s.Date.Date == request.Date.Value.Date && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success - || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))))); + || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))))); } else { @@ -120,7 +126,50 @@ LastSubmitTime = it.LastSubmitTime, }); var result = await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem>(s, cancellationToken); + result.ObjectData = await repTaskInfo.AsQueryable().AsNoTracking() + .Where(it => it.Id == request.TaskInfoId) + .GetDetail<TaskInfo, GetCheckReceiveTaskQueryResultObjectData>(); return result; } + + /// <summary> + /// 鏌ヨ楠屾敹璇︽儏 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetCheckReceiveTaskUserSubmitsQueryResult> Handle(GetCheckReceiveTaskUserSubmitsQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var q = repTaskInfoUserSubmit.AsQueryable().AsNoTracking() + .OrderByDescending(it => it.CreatedTime) + .Where(it => it.TaskInfoUserId == request.Id); + var s = q.Select(it => new GetCheckReceiveTaskUserSubmitsQueryResultItem + { + Id = it.Id, + CreatedTime = it.CreatedTime, + Files = it.Files.Select(f => f.File).ToList(), + CheckReceiveStatus = it.CheckReceiveStatus, + CheckReceiveTime = it.CheckReceiveTime, + }); + var result = await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserSubmitsQueryResult, GetCheckReceiveTaskUserSubmitsQueryResultItem>(s, cancellationToken); + result.ObjectData = await repTaskInfoUser.AsQueryable().AsNoTracking() + .Where(it => it.Id == request.Id) + .GetDetail<TaskInfoUser, GetCheckReceiveTaskUserSubmitsQueryResultObjectData>(); + return result; + } + + /// <summary> + /// 鏌ヨ楠屾敹鎻愪氦璇︽儏 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public Task<GetCheckReceiveTaskUserSubmitQueryResult> Handle(GetCheckReceiveTaskUserSubmitQuery request, CancellationToken cancellationToken) + { + return repTaskInfoUserSubmit.AsQueryable().AsNoTracking() + .Where(it => it.Id == request.Id) + .GetDetail<TaskInfoUserSubmit, GetCheckReceiveTaskUserSubmitQueryResult>(); + } } } -- Gitblit v1.9.1