From 3bd0644b62742cbabbb465f0fb4652807d2e2256 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 12 八月 2025 13:31:51 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs | 53 +++++++++++++++++------------------------------------ 1 files changed, 17 insertions(+), 36 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs index 16f86d1..3bda8d9 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs @@ -1,5 +1,6 @@ 锘縰sing FlexJobApi.Core; using Furion.DatabaseAccessor; +using Furion.FriendlyException; using MediatR; using Microsoft.EntityFrameworkCore; using System; @@ -18,7 +19,6 @@ IRepository<UserTaskCollect> repUserTaskCollect ) : IRequestHandler<CollectTaskCommand, int>, - IRequestHandler<ApplyTaskCommand, int>, IRequestHandler<SetTaskUserHireCommand, int> { private readonly IRepository<TaskInfoUser> rep = rep; @@ -58,33 +58,6 @@ } /// <summary> - /// 鎶ュ悕浠诲姟 - /// </summary> - /// <param name="request"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async Task<int> Handle(ApplyTaskCommand request, CancellationToken cancellationToken) - { - var logier = JwtUtils.GetCurrentLogier(); - var applyIds = await rep.AsQueryable().AsNoTracking() - .Where(it => request.Ids.Contains(it.TaskInfoId) && it.UserId == logier.Id) - .Select(it => it.TaskInfoId) - .ToListAsync(cancellationToken); - var addIds = request.Ids.Where(it => !applyIds.Contains(it)).ToList(); - foreach (var addId in addIds) - { - var entity = new TaskInfoUser - { - TaskInfoId = addId, - UserId = logier.Id, - HireStatus = EnumTaskUserHireStatus.Wait - }; - await rep.InsertAsync(entity); - } - return addIds.Count; - } - - /// <summary> /// 浠诲姟褰曠敤 /// </summary> /// <param name="request"></param> @@ -94,20 +67,28 @@ { var logier = JwtUtils.GetCurrentLogier(); var entities = await rep.AsQueryable() - .Where(it => - it.TaskInfo.EnterpriseId == logier.Id - && it.TaskInfoId == request.Id - && request.UserIds.Contains(it.UserId) - && it.HireStatus != request.HireStatus) + .Include(it => it.EnterpriseEmployee) + .Where(it => + it.TaskInfo.EnterpriseId == logier.Id + && it.TaskInfoId == request.Id + && it.EnterpriseEmployee.UserId.HasValue + && request.UserIds.Contains(it.EnterpriseEmployee.UserId.Value) + && it.EnterpriseEmployee.HireStatus != request.HireStatus) .ToListAsync(cancellationToken); if (entities.IsNotNull()) { foreach (var entity in entities) { - entity.HireStatus = request.HireStatus; - if (entity.HireStatus == EnumTaskUserHireStatus.Pass) + entity.EnterpriseEmployee.HireStatus = request.HireStatus; + if (entity.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass) { - entity.SignContractStatus = EnumTaskUserSignContractStatus.Pass; + entity.EnterpriseEmployee.HireTime = DateTime.Now; + entity.EnterpriseEmployee.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; + entity.EnterpriseEmployee.UserSignContractTime = DateTime.Now; + entity.EnterpriseEmployee.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; + entity.EnterpriseEmployee.EnterpriseSignContractTime = DateTime.Now; + + entity.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; } } await rep.UpdateAsync(entities); -- Gitblit v1.9.1