Exemple #1
0
        public async Task <RegisterUser> Handle(AddManagerUserCommand request, CancellationToken cancellationToken)
        {
            if (request.Username.Contains(":"))
            {
            }
            var existUserName = await _managerUserRepository.ExistUserName(request.Username, cancellationToken);

            if (existUserName)
            {
                return(new RegisterUser()
                {
                    IsSuccess = false, Msg = "用户名已存在", Id = null
                });
            }

            var salt        = StringUtils.RandomStringWithCharacter(6);
            var managerUser = new ManagerUser()
            {
                AvatarUrl       = "",
                Email           = request.Email,
                UserName        = request.Username,
                Salt            = salt,
                Password        = $"{request.Password}-shaomai-{salt}".ToMd5(),
                EmailIsValidate = false
            };
            await _managerUserRepository.AddAsync(entity : managerUser, cancellationToken);

            var changedRow = await _unitOfWork.SaveChangesAsync(cancellationToken);

            if (changedRow > 0)
            {
                await _httpAuthorizeHandler.SignInAsync(managerUser.Id, cancellationToken);

                return(new RegisterUser()
                {
                    IsSuccess = true, Msg = "注册成功", Id = managerUser.Id
                });
            }
            else
            {
                return(new RegisterUser()
                {
                    IsSuccess = false, Msg = "写入数据库失败", Id = null
                });
            }
        }
Exemple #2
0
        public async Task <BaseDto> Handle(ExistUserNameQuery request, CancellationToken cancellationToken)
        {
            if (request.Username.Contains(":"))
            {
                return new BaseDto()
                       {
                           IsSuccess = false, Msg = "用户名不允许包含[:]"
                       }
            }
            ;
            var exist = await _managerUserRepository.ExistUserName(request.Username, cancellationToken);

            return(exist
                ? new BaseDto()
            {
                IsSuccess = false, Msg = "用户名已存在"
            }
                : new BaseDto()
            {
                IsSuccess = true, Msg = "校验通过"
            });
        }
    }
Exemple #3
0
 public async Task <bool> ExistUserNameAsync(string username, CancellationToken cancellationToken = default)
 {
     return(await _managerUserRepository.ExistUserName(username, cancellationToken));
 }