From 285404b0f7161ceca8621e61026682bbbb3f71aa Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 10 九月 2025 14:23:31 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs | 100 +++++++++++++++++++++++++++----------------------- 1 files changed, 54 insertions(+), 46 deletions(-) diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs index 0ad74b5..e49168c 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs @@ -77,56 +77,61 @@ { throw Oops.Oh(EnumErrorCodeType.s510, "鍚堝悓宸插け鏁�"); } - if (entity.ContractTemplate.Access == EnumElectronSignAccess.BestSign) + if (request.Success) { - if (data.UserType == Core.Models.ElectronSignServer.PersonalUserReals.EnumElectronSignUserType.Personal) + if (entity.ContractTemplate.Access == EnumElectronSignAccess.BestSign) { - if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) + if (data.UserType == Core.Models.ElectronSignServer.PersonalUserReals.EnumElectronSignUserType.Personal) { - contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; - contract.UserSignContractTime = DateTime.Now; - contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; + if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) + { + contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; + contract.UserSignContractTime = DateTime.Now; + contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; + } } - else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) + else { - contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Refuse; + if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) + { + contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; + contract.EnterpriseSignContractTime = DateTime.Now; + } + } + } + if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Completed) + { + contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; + if (contract.UserSignContractTime == null) + { + contract.UserSignContractTime = DateTime.Now; + } + contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; + if (contract.EnterpriseSignContractTime == null) + { + contract.EnterpriseSignContractTime = DateTime.Now; + } + contract.ContractUrl = AliyunOSSUtils.Upload("Contact", data.ContactUrl, $"{contract.ContractTemplate.Name}.pdf").Url; + } + } + else + { + if (entity.ContractTemplate.Access == EnumElectronSignAccess.BestSign) + { + if (data.UserType == Core.Models.ElectronSignServer.PersonalUserReals.EnumElectronSignUserType.Personal) + { contract.UserSignContractErrorMessage = request.Message; + } + else + { + contract.EnterpriseSignContractErrorMessage = request.Message; } } else { - if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) - { - contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; - contract.EnterpriseSignContractTime = DateTime.Now; - } - else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) - { - contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Refuse; - contract.EnterpriseSignContractErrorMessage = request.Message; - } + contract.UserSignContractErrorMessage = request.Message; + contract.EnterpriseSignContractErrorMessage = request.Message; } - } - else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) - { - contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Refuse; - contract.UserSignContractErrorMessage = request.Message; - contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Refuse; - contract.EnterpriseSignContractErrorMessage = request.Message; - } - if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Completed) - { - contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; - if (contract.UserSignContractTime == null) - { - contract.UserSignContractTime = DateTime.Now; - } - contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; - if (contract.EnterpriseSignContractTime == null) - { - contract.EnterpriseSignContractTime = DateTime.Now; - } - contract.ContractUrl = AliyunOSSUtils.Upload("Contact", data.ContactUrl, $"{contract.ContractTemplate.Name}.pdf").Url; } await repEnterpriseEmployeeContract.UpdateAsync(contract); @@ -137,16 +142,19 @@ entity.ContractUrl = contract.ContractUrl; await repEnterpriseEmployee.UpdateAsync(entity); - var taskUsers = await repTaskInfoUser.AsQueryable() - .Where(it => it.EnterpriseEmployeeId == entity.Id && it.HireStatus == EnumTaskUserHireStatus.Pass && it.ArrangeStatus == null) - .ToListAsync(); - if (taskUsers.IsNotNull()) + if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && entity.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass) { - foreach (var taskUser in taskUsers) + var taskUsers = await repTaskInfoUser.AsQueryable() + .Where(it => it.EnterpriseEmployeeId == entity.Id && it.HireStatus == EnumTaskUserHireStatus.Pass && it.ArrangeStatus == null) + .ToListAsync(); + if (taskUsers.IsNotNull()) { - taskUser.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; + foreach (var taskUser in taskUsers) + { + taskUser.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; + } + await repTaskInfoUser.UpdateAsync(taskUsers); } - await repTaskInfoUser.UpdateAsync(taskUsers); } } -- Gitblit v1.9.1