From 5f935374836ec8b89c209eae174eb3f2f3d4eca5 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 29 八月 2025 09:20:01 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs index fe173ab..ecd94d1 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs @@ -43,7 +43,8 @@ IRequestHandler<EditEnterpriseEmployeeCommand, Guid>, IRequestHandler<InviteElectronSignCommand, Guid>, IRequestHandler<PersonalUserElectronSignCommand, PersonalUserElectronSignCommandResult>, - IRequestHandler<EnterpriseUserElectronSignCommand, EnterpriseUserElectronSignCommandResult> + IRequestHandler<EnterpriseUserElectronSignCommand, EnterpriseUserElectronSignCommandResult>, + IRequestHandler<StopElectronSignCommand, Guid> { private readonly IMediator mediator = mediator; private readonly IRepository<EnterpriseEmployee> rep = rep; @@ -378,5 +379,34 @@ } return result.Result.Adapt<EnterpriseUserElectronSignCommandResult>(); } + + /// <summary> + /// 鐏靛伐瑙g害 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<Guid> Handle(StopElectronSignCommand request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var entity = await rep.AsQueryable() + .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Id == request.Id) + .FirstOrDefaultAsync(); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鐏靛伐"); + if (entity.UserSignContractStatus != EnumTaskUserSignContractStatus.Effect) throw Oops.Oh(EnumErrorCodeType.s400, "鏈敓鏁�"); + entity.UserSignContractStatus = EnumTaskUserSignContractStatus.Stop; + entity.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Stop; + await rep.UpdateAsync(entity); + + var contract = await repEnterpriseEmployeeContract.AsQueryable() + .OrderByDescending(it => it.CreatedTime) + .Where(it => it.EnterpriseEmployeeId == entity.Id) + .FirstOrDefaultAsync(); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鍚堝悓"); + contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Stop; + contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Stop; + await repEnterpriseEmployeeContract.UpdateAsync(contract); + return entity.Id; + } } } -- Gitblit v1.9.1