public async Task <RegisterResultDto> Register(RegisterUserDto registerInfo) { CheckCode(registerInfo.Code); //可能您需要对手机号进行唯一验证.. var user = MiCakeApp.User.Create(registerInfo.Phone, registerInfo.Password, registerInfo.Name, registerInfo.Age); await _userRepo.AddUserAsync(user); return(RegisterResultDto.RegisterSuccess(user.Id)); }
public async Task <RegisterResultDto> RegisterUser(RegisterWeChatUserDto userDto) { CheckValue.NotNullOrWhiteSpace(userDto.SessionKey, "SessionKey"); var weChatSessionInfo = await _weChatSessionStore.GetSessionInfo(userDto.SessionKey) ?? throw new ArgumentException("没有找到匹配的微信密匙信息"); var newUser = MiCakeApp.User.Create(userDto.Phone, "abc12345", userDto.Name, userDto.Age); //可能你还有其它的验证逻辑,比如包括该手机号码是否已经被使用等等。 //这些领域逻辑可能会被移动至单独的领域服务来处理. await _userRepository.AddAsync(newUser); await _wechatRepository.AddAsync(new UserWithWechat(newUser.Id, weChatSessionInfo.OpenId)); return(RegisterResultDto.RegisterSuccess(newUser.Id)); }