From bf17ad2051de62b9b49fb72bf6ae14d23bfef62b Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 11 九月 2025 10:20:20 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs | 67 ++++++++++++++++++++++++++++----- 1 files changed, 57 insertions(+), 10 deletions(-) diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs index 4232314..35e592a 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/PersonalUserRealCommandHandler.cs @@ -65,7 +65,7 @@ } else { - throw Oops.Oh(EnumErrorCodeType.s510, result?.Msg ?? "娉ㄥ唽瀹炲悕璐﹀彿寮傚父"); + throw Oops.Oh(EnumErrorCodeType.s510, result?.Message ?? "娉ㄥ唽瀹炲悕璐﹀彿寮傚父"); } } var sendRealSmsResult = await new SendRealSmsInput @@ -78,7 +78,7 @@ Mobile = request.PhoneNumber }.SendHttpAsync<SendRealSmsInput, ElectronSignServerResult<object>>(EnumResourceHttpProvider.ElectronSignServerCustomer); if (sendRealSmsResult?.Success != true) - throw Oops.Oh(EnumErrorCodeType.s510, sendRealSmsResult?.Msg ?? "鍙戦�佸疄鍚嶇煭淇″紓甯�"); + throw Oops.Oh(EnumErrorCodeType.s510, sendRealSmsResult?.Message ?? "鍙戦�佸疄鍚嶇煭淇″紓甯�"); PersonalReal( EnumPersonalUserRealStatus.Checking, @@ -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(), @@ -119,7 +143,7 @@ VCode = request.VerifyCode }.SendHttpAsync<RealPersonalInput, ElectronSignServerResult<RealPersonalOutput>>(EnumResourceHttpProvider.ElectronSignServerCustomer); if (result?.Success != true || result.Result?.Status != EnumElectronSignRealStatus.Real) - throw Oops.Oh(EnumErrorCodeType.s510, result?.Msg ?? "瀹炲悕寮傚父"); + throw Oops.Oh(EnumErrorCodeType.s510, result?.Message ?? "瀹炲悕寮傚父"); var enterpriseEmployees = await repUser.Change<EnterpriseEmployee>().AsQueryable() .Where(it => it.UserId == user.Id) @@ -154,12 +178,30 @@ .FirstOrDefaultAsync(); if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "鐢ㄦ埛"); if (user.IsReal) throw Oops.Oh(EnumErrorCodeType.s510, "鐢ㄦ埛宸插疄鍚嶏紝璇峰嬁閲嶅鐢宠"); - 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 == 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 = 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(), @@ -170,7 +212,7 @@ IdentityBackImgUrl = request.IdentityBackImg, }.SendHttpAsync<RealPersonalInput, ElectronSignServerResult<RealPersonalOutput>>(EnumResourceHttpProvider.ElectronSignServerCustomer); if (result?.Success != true || result.Result?.Status != EnumElectronSignRealStatus.Checking) - throw Oops.Oh(EnumErrorCodeType.s510, result?.Msg ?? "瀹炲悕寮傚父"); + throw Oops.Oh(EnumErrorCodeType.s510, result?.Message ?? "瀹炲悕寮傚父"); var enterpriseEmployees = await repUser.Change<EnterpriseEmployee>().AsQueryable() .Where(it => it.UserId == user.Id) @@ -187,7 +229,8 @@ faceRealUrl: result.Result.FaceUrl); await repUser.UpdateAsync(user); - return result.Result.FaceUrl; + return result.Result.FaceUrl + .Replace("https://h5-v2.kych5.com", "https://wx05.ssqian.com.cn"); } /// <summary> @@ -214,6 +257,10 @@ user.UserAuth.IdentityBackImg = identityBackImg; user.UserAuth.RealAccess = EnumRealAccess.BestSign; user.UserAuth.RealStatus = status; + if (user.UserAuth.RealStatus == EnumPersonalUserRealStatus.Checking) + { + user.UserAuth.RealInProcessStartTime = DateTime.Now; + } user.RealMethod = method; if (user.RealMethod == EnumUserRealMethod.Identity3) { -- Gitblit v1.9.1