From 56af0f468f321d41db70343abf558d61cda58d31 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 05 九月 2025 15:40:20 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) diff --git a/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs index ca8469b..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; @@ -64,7 +66,7 @@ Name = request.Contacts, PhoneNumber = request.ContactPhoneNumber, UserName = request.UserName, - Password = PBKDF2Encryption.Encrypt(request.Password), + Password = request.Password.EncryptPassword(), Level = 100, Status = EnumUserStatus.Normal, }; @@ -72,12 +74,12 @@ } 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()) { - user.Password = PBKDF2Encryption.Encrypt(request.Password); + user.Password = request.Password.EncryptPassword(); } await repUser.UpdateAsync(user); } @@ -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