From b288e7effa0edc09baad6089433a38b2b29b29db Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期一, 08 九月 2025 15:33:03 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs |   48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs
index 3c04111..7e268d6 100644
--- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs
@@ -107,6 +107,30 @@
                 .FirstOrDefaultAsync();
             if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "鐢ㄦ埛");
             if (user.IsReal) throw Oops.Oh(EnumErrorCodeType.s510, "鐢ㄦ埛宸插疄鍚嶏紝璇峰嬁閲嶅鐢宠");
+            if (user.UserAuth == null)
+            {
+                user.UserAuth = new UserAuth();
+            }
+            if (user.UserAuth.ElectronSignUserId == null)
+            {
+                var resultRegOrUpdateUser = await new RegOrUpdateUserInput
+                {
+                    OutUserId = user.Id.ToString(),
+                    UserType = EnumElectronSignUserType.Personal,
+                    Name = request.Name,
+                    Identity = request.Identity,
+                    Mobile = request.PhoneNumber
+                }.SendHttpAsync<RegOrUpdateUserInput, ElectronSignServerResult<Guid?>>(EnumResourceHttpProvider.ElectronSignServerCustomer);
+
+                if (resultRegOrUpdateUser?.Success == true)
+                {
+                    user.UserAuth.ElectronSignUserId = resultRegOrUpdateUser.Result;
+                }
+                else
+                {
+                    throw Oops.Oh(EnumErrorCodeType.s510, resultRegOrUpdateUser?.Message ?? "娉ㄥ唽瀹炲悕璐﹀彿寮傚父");
+                }
+            }
             var result = await new RealPersonalInput
             {
                 OutUserId = user.Id.ToString(),
@@ -158,12 +182,26 @@
             {
                 user.UserAuth = new UserAuth();
             }
-            if (user.UserAuth.Name == request.Name
-                && user.UserAuth.Identity == request.Identity
-                && user.UserAuth.RealStatus == EnumPersonalUserRealStatus.Checking
-                && user.UserAuth.FaceRealUrl.IsNotNull())
-                return user.UserAuth.FaceRealUrl;
+            if (user.UserAuth.ElectronSignUserId == null)
+            {
+                var resultRegOrUpdateUser = await new RegOrUpdateUserInput
+                {
+                    OutUserId = user.Id.ToString(),
+                    UserType = EnumElectronSignUserType.Personal,
+                    Name = request.Name,
+                    Identity = request.Identity,
+                    Mobile = user.PhoneNumber
+                }.SendHttpAsync<RegOrUpdateUserInput, ElectronSignServerResult<Guid?>>(EnumResourceHttpProvider.ElectronSignServerCustomer);
 
+                if (resultRegOrUpdateUser?.Success == true)
+                {
+                    user.UserAuth.ElectronSignUserId = resultRegOrUpdateUser.Result;
+                }
+                else
+                {
+                    throw Oops.Oh(EnumErrorCodeType.s510, resultRegOrUpdateUser?.Message ?? "娉ㄥ唽瀹炲悕璐﹀彿寮傚父");
+                }
+            }
             var result = await new RealPersonalInput
             {
                 OutUserId = user.Id.ToString(),

--
Gitblit v1.9.1