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