From c108924b578a76c3152cbc569d3995d35130a505 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 21 八月 2025 18:57:55 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs | 58 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 47 insertions(+), 11 deletions(-) diff --git a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs index 0e33dde..06e9887 100644 --- a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs @@ -2,8 +2,10 @@ using FlexJobApi.Core.Models.ElectronSignServer.Common; using FlexJobApi.Core.Models.ElectronSignServer.PersonalUserReals; using FlexJobApi.Core.Models.ElectronSignServer.Users; +using Furion; using Furion.DatabaseAccessor; using Furion.DataEncryption; +using Furion.DistributedIDGenerator; using Furion.FriendlyException; using Mapster; using MediatR; @@ -49,10 +51,6 @@ { 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()) @@ -60,8 +58,17 @@ var result = await BaiduOcrUtils.OcrBusinessLicense(enterprise.LicenseImage); if (result?.Model != null) { - result.Model.Adapt(enterprise); + enterprise.EnterpriseType = result.Model.EnterpriseType; + enterprise.RegisteredCapital = result.Model.RegisteredCapital; + enterprise.EstablishmentDate = result.Model.EstablishmentDate; + enterprise.Address = result.Model.Address; + enterprise.MainBusiness = result.Model.MainBusiness; } + } + + if (enterprise.EnterpriseAuth == null) + { + enterprise.EnterpriseAuth = new EnterpriseAuth(); } enterprise.EnterpriseAuth.EnterpriseName = enterprise.EnterpriseName; enterprise.EnterpriseAuth.SocietyCreditCode = enterprise.SocietyCreditCode; @@ -72,6 +79,11 @@ enterprise.EnterpriseAuth.IdentityBackImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityBackImg, request.Enterprise.EnterpriseAuth.IdentityBackImg); enterprise.EnterpriseAuth.BankCardImg = GetOssUrl(enterprise.EnterpriseAuth.BankCardImg, request.Enterprise.EnterpriseAuth.BankCardImg); + if (enterprise.Id == Guid.Empty) + await repEnterprise.InsertAsync(enterprise); + else + await repEnterprise.UpdateAsync(enterprise); + if (enterprise.EnterpriseAuth.ElectronSignEnterpriseId == null) { var resultRegOrUpdateUser = await new RegOrUpdateUserInput @@ -80,7 +92,7 @@ UserType = EnumElectronSignUserType.Personal, EnterpriseName = enterprise.EnterpriseName, SocietyCreditCode = enterprise.SocietyCreditCode, - Name = enterprise.EnterpriseAuth.Name, + Name = enterprise.EnterpriseAuth.Name ?? enterprise.Contacts, Identity = enterprise.EnterpriseAuth.Identity, Mobile = enterprise.EnterpriseAuth.PhoneNumber, CertAccount = enterprise.EnterpriseAuth.CertAccount @@ -88,7 +100,7 @@ if (resultRegOrUpdateUser?.Success == true) { - enterprise!.EnterpriseAuth!.ElectronSignEnterpriseId = resultRegOrUpdateUser.Result; + enterprise.EnterpriseAuth.ElectronSignEnterpriseId = resultRegOrUpdateUser.Result; } else { @@ -96,10 +108,34 @@ } } - if (enterprise.Id == Guid.Empty) - await repEnterprise.InsertAsync(enterprise); - else - await repEnterprise.UpdateAsync(enterprise); + if (enterprise.IsReal) + { + var resultReal = await new RealEnterpriseInputByCertAccountInput + { + CustomerId = App.GetConfig<Guid>("ElectronSignServer:AppId"), + OutUserId = enterprise.Id.ToString(), + EnterpriseName = enterprise.EnterpriseName, + SocietyCreditCode = enterprise.SocietyCreditCode, + Name = enterprise.EnterpriseAuth.Name ?? enterprise.Contacts, + Identity = enterprise.EnterpriseAuth.Identity, + Mobile = enterprise.EnterpriseAuth.PhoneNumber, + BankCard = enterprise.EnterpriseAuth.BankCard, + BankCardImgUrl = enterprise.EnterpriseAuth.BankCardImg, + LicenseUrl = enterprise.EnterpriseAuth.LicenseImage, + IdentityImgUrl = enterprise.EnterpriseAuth.IdentityImg, + IdentityBackImgUrl = enterprise.EnterpriseAuth.IdentityBackImg, + ProxyPowerAttorneyUrl = enterprise.EnterpriseAuth.ProxyPowerAttorneyUrl, + LegalPerson = enterprise.EnterpriseAuth.LegalPerson, + Proxy = enterprise.EnterpriseAuth.Proxy ?? false, + RealMethod = (EnumElectronSignPersonalRealMethod)enterprise.EnterpriseAuth.EnterpriseRealMethod!.Value, + CertAccount = enterprise.EnterpriseAuth.CertAccount + }.SendHttpAsync<RealEnterpriseInputByCertAccountInput, ElectronSignServerResult<RealEnterpriseInputByCertAccountOutput>>(EnumResourceHttpProvider.ElectronSignServerCustomer); + if (resultReal?.Success != true || resultReal?.Result.Status != EnumElectronSignRealStatus.Real) + { + throw Oops.Oh(EnumErrorCodeType.s510, resultReal?.Message ?? "璐﹀彿瀹炲悕寮傚父"); + } + enterprise.EnterpriseAuth.CertAccount = resultReal.Result.CertAccount; + } var user = await repUser.AsQueryable() .Include(it => it.UserRoles) -- Gitblit v1.9.1