From 8c5cc69cb04feef035f27e05cbaabda42bd8155c Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 21 八月 2025 16:58:44 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs |   50 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs
index ecf9bf0..0e33dde 100644
--- a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs
@@ -1,4 +1,7 @@
 锘縰sing FlexJobApi.Core;
+using FlexJobApi.Core.Models.ElectronSignServer.Common;
+using FlexJobApi.Core.Models.ElectronSignServer.PersonalUserReals;
+using FlexJobApi.Core.Models.ElectronSignServer.Users;
 using Furion.DatabaseAccessor;
 using Furion.DataEncryption;
 using Furion.FriendlyException;
@@ -46,6 +49,10 @@
             {
                 enterprise = new Enterprise();
             }
+            if (enterprise.EnterpriseAuth == null)
+            {
+                enterprise.EnterpriseAuth = new EnterpriseAuth();
+            }
             request.Enterprise.Adapt(enterprise);
             enterprise.LicenseImage = GetOssUrl(enterprise.LicenseImage, request.Enterprise.LicenseImage);
             if (enterprise.LicenseImage.IsNotNull() && enterprise.EnterpriseType.IsNull())
@@ -56,17 +63,39 @@
                     result.Model.Adapt(enterprise);
                 }
             }
-            if (enterprise.EnterpriseAuth != null)
+            enterprise.EnterpriseAuth.EnterpriseName = enterprise.EnterpriseName;
+            enterprise.EnterpriseAuth.SocietyCreditCode = enterprise.SocietyCreditCode;
+            enterprise.EnterpriseAuth.LicenseImage = enterprise.LicenseImage;
+            enterprise.EnterpriseAuth.LegalPerson = enterprise.LegalPerson;
+            enterprise.EnterpriseAuth.LegalIdentity = enterprise.LegalIdentity;
+            enterprise.EnterpriseAuth.IdentityImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityImg, request.Enterprise.EnterpriseAuth.IdentityImg);
+            enterprise.EnterpriseAuth.IdentityBackImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityBackImg, request.Enterprise.EnterpriseAuth.IdentityBackImg);
+            enterprise.EnterpriseAuth.BankCardImg = GetOssUrl(enterprise.EnterpriseAuth.BankCardImg, request.Enterprise.EnterpriseAuth.BankCardImg);
+
+            if (enterprise.EnterpriseAuth.ElectronSignEnterpriseId == null)
             {
-                enterprise.EnterpriseAuth.EnterpriseName = enterprise.EnterpriseName;
-                enterprise.EnterpriseAuth.SocietyCreditCode = enterprise.SocietyCreditCode;
-                enterprise.EnterpriseAuth.LicenseImage = enterprise.LicenseImage;
-                enterprise.EnterpriseAuth.LegalPerson = enterprise.LegalPerson;
-                enterprise.EnterpriseAuth.LegalIdentity = enterprise.LegalIdentity;
-                enterprise.EnterpriseAuth.IdentityImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityImg, request.Enterprise.EnterpriseAuth.IdentityImg);
-                enterprise.EnterpriseAuth.IdentityBackImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityBackImg, request.Enterprise.EnterpriseAuth.IdentityBackImg);
-                enterprise.EnterpriseAuth.BankCardImg = GetOssUrl(enterprise.EnterpriseAuth.BankCardImg, request.Enterprise.EnterpriseAuth.BankCardImg);
+                var resultRegOrUpdateUser = await new RegOrUpdateUserInput
+                {
+                    OutUserId = enterprise.Id.ToString(),
+                    UserType = EnumElectronSignUserType.Personal,
+                    EnterpriseName = enterprise.EnterpriseName,
+                    SocietyCreditCode = enterprise.SocietyCreditCode,
+                    Name = enterprise.EnterpriseAuth.Name,
+                    Identity = enterprise.EnterpriseAuth.Identity,
+                    Mobile = enterprise.EnterpriseAuth.PhoneNumber,
+                    CertAccount = enterprise.EnterpriseAuth.CertAccount
+                }.SendHttpAsync<RegOrUpdateUserInput, ElectronSignServerResult<Guid?>>(EnumResourceHttpProvider.ElectronSignServerCustomer);
+
+                if (resultRegOrUpdateUser?.Success == true)
+                {
+                    enterprise!.EnterpriseAuth!.ElectronSignEnterpriseId = resultRegOrUpdateUser.Result;
+                }
+                else
+                {
+                    throw Oops.Oh(EnumErrorCodeType.s510, resultRegOrUpdateUser?.Message ?? "娉ㄥ唽鐢靛瓙绛捐处鍙峰紓甯�");
+                }
             }
+
             if (enterprise.Id == Guid.Empty)
                 await repEnterprise.InsertAsync(enterprise);
             else
@@ -103,6 +132,9 @@
                 await repUser.InsertAsync(user);
             else
                 await repUser.UpdateAsync(user);
+
+
+
             return user.Id;
         }
 

--
Gitblit v1.9.1