From 3933faa0048251bbeaf26eb6bb49a2837dc48b3a Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 12 八月 2025 16:59:24 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs index 22a668b..b663d72 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs @@ -12,14 +12,15 @@ namespace FlexJobApi.FlexJobServer.Application { /// <summary> - /// 浠诲姟闆囦剑鍛戒护澶勭悊鍣� + /// 浠诲姟浜哄憳鍛戒护澶勭悊鍣� /// </summary> public class TaskUserCommandHandler( IRepository<TaskInfoUser> rep, IRepository<UserTaskCollect> repUserTaskCollect ) : IRequestHandler<CollectTaskCommand, int>, - IRequestHandler<SetTaskUserHireCommand, Guid> + IRequestHandler<SetTaskUserHireCommand, Guid>, + IRequestHandler<SetTaskUserArrangeCommand, Guid> { private readonly IRepository<TaskInfoUser> rep = rep; private readonly IRepository<UserTaskCollect> repUserTaskCollect = repUserTaskCollect; @@ -69,7 +70,7 @@ var entity = await rep.AsQueryable() .Include(it => it.EnterpriseEmployee) .Where(it => - it.TaskInfo.EnterpriseId == logier.Id + it.TaskInfo.EnterpriseId == logier.EnterpriseId && it.Id == request.Id) .FirstOrDefaultAsync(cancellationToken); if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ユ姤鍚嶄俊鎭�"); @@ -85,6 +86,34 @@ entity.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; } + await rep.UpdateAsync(entity); + return entity.Id; + } + + /// <summary> + /// 浠诲姟瀹夋帓 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<Guid> Handle(SetTaskUserArrangeCommand request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var entity = await rep.AsQueryable() + .Include(it => it.EnterpriseEmployee) + .Where(it => + it.TaskInfo.EnterpriseId == logier.EnterpriseId + && it.Id == request.Id) + .FirstOrDefaultAsync(cancellationToken); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ユ姤鍚嶄俊鎭�"); + if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "璇ョ伒宸ュ凡瀹夋帓"); + entity.ArrangeStatus = request.ArrangeStatus; + if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) + { + entity.ArrangeTime = DateTime.Now; + entity.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitSubmit; + } + await rep.UpdateAsync(entity); return entity.Id; } } -- Gitblit v1.9.1