sunpengfei
7 天以前 96dbcd968f3cd66ac27bd053e6ed67263104ae2f
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;