From 193fa41f6419b80f33dabad90ed65ed1e310add8 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 11 九月 2025 15:48:05 +0800 Subject: [PATCH] fix: s --- FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff --git a/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs index 6d83b1b..e661f83 100644 --- a/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs @@ -17,6 +17,7 @@ /// 浼佷笟鍛戒护澶勭悊鍣� /// </summary> public class EnterpriseCommandHandler( + IMediator mediator, IRepository<Enterprise> rep, IRepository<User> repUser ) : @@ -25,6 +26,7 @@ IRequestHandler<SetEnterpriseSmsSettingCommand, Guid> { + private readonly IMediator mediator = mediator; private readonly IRepository<Enterprise> rep = rep; private readonly IRepository<User> repUser = repUser; @@ -93,9 +95,30 @@ /// <returns></returns> public async Task<Guid> Handle(SetEnterpriseElectronSignSettingCommand request, CancellationToken cancellationToken) { - var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); + var entity = await rep.AsQueryable() + .Include(it => it.ElectronSignSettings) + .FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟"); - request.Adapt(entity); + + await mediator.Send(new CheckElectronSignAccessEnabledsCommand + { + Accesses = request.ElectronSignAccesses + }, cancellationToken); + + entity.ElectronSignSettings = request.ElectronSignAccesses + .Select(it => + { + var setting = entity.ElectronSignSettings.FirstOrDefault(s => s.ElectronSignAccess == it); + if (setting == null) + { + setting = new EnterpriseElectronSignSetting + { + ElectronSignAccess = it + }; + } + return setting; + }) + .ToList(); await rep.UpdateAsync(entity); return entity.Id; } -- Gitblit v1.9.1