From e9960b323c486a3d34275824fd9bd6259d1b5c20 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 22 八月 2025 14:16:53 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob --- FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs index 06e9887..dfd53dc 100644 --- a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs @@ -9,6 +9,7 @@ using Furion.FriendlyException; using Mapster; using MediatR; +using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using System; @@ -24,15 +25,19 @@ /// 鍚屾鐢ㄦ埛鍛戒护澶勭悊鍣� /// </summary> public class SyncUserCommandHandler( + IMediator mediator, IRepository<User> repUser, IRepository<Enterprise> repEnterprise, + IRepository<ElectronSignSetting> repElectronSignSetting, IRepository<Role> repRole ) : IRequestHandler<SyncEnterpriseUserCommand, Guid>, IRequestHandler<SyncOperationUserCommand, Guid> { + private readonly IMediator mediator = mediator; private readonly IRepository<User> repUser = repUser; private readonly IRepository<Enterprise> repEnterprise = repEnterprise; + private readonly IRepository<ElectronSignSetting> repElectronSignSetting = repElectronSignSetting; private readonly IRepository<Role> repRole = repRole; /// <summary> @@ -45,11 +50,26 @@ { var enterprise = await repEnterprise.AsQueryable() .Include(it => it.EnterpriseAuth) + .Include(it => it.ElectronSignSettings) .Where(it => it.SocietyCreditCode == request.Enterprise.SocietyCreditCode) .FirstOrDefaultAsync(cancellationToken); + if (enterprise == null) { enterprise = new Enterprise(); + if (request.Enterprise.ElectronSignAccesses.IsNotNull()) + { + request.Enterprise.ElectronSignAccesses = await repElectronSignSetting.AsQueryable().AsNoTracking() + .Where(it => request.Enterprise.ElectronSignAccesses.Contains(it.Access) && !it.IsDisabled) + .Select(it => it.Access) + .ToListAsync(); + } + enterprise.ElectronSignSettings = request.Enterprise.ElectronSignAccesses + .Select(it => new EnterpriseElectronSignSetting + { + ElectronSignAccess = it + }) + .ToList(); } request.Enterprise.Adapt(enterprise); enterprise.LicenseImage = GetOssUrl(enterprise.LicenseImage, request.Enterprise.LicenseImage); -- Gitblit v1.9.1