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/Enterprises/Commands/EnterpriseCommandHandler.cs | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs index a0df0fc..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; @@ -72,7 +74,7 @@ } else { - if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "璇ヨ处鍙�"); + if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "璐﹀彿"); user.Name = request.Contacts; user.PhoneNumber = request.ContactPhoneNumber; if (request.Password.IsNotNull()) @@ -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); - if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ紒涓�"); - request.Adapt(entity); + var entity = await rep.AsQueryable() + .Include(it => it.ElectronSignSettings) + .FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟"); + + 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; } @@ -109,7 +132,7 @@ public async Task<Guid> Handle(SetEnterpriseSmsSettingCommand request, CancellationToken cancellationToken) { var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); - if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ紒涓�"); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟"); request.Adapt(entity); await rep.UpdateAsync(entity); return entity.Id; -- Gitblit v1.9.1