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