private ResultDto WxRegister(KuserEntity user) { var result = new ResultDto(); var userEntity = _defaultRepository.FirstOrDefault <KuserEntity>(new { WxOpenId = user.WxOpenId }); if (userEntity == null) { result.Result = false; result.Message = $"用户{user.NickName}未登陆成功,注册失败"; return(result); } userEntity.AvatarUrl = user.AvatarUrl; userEntity.NickName = user.NickName; userEntity.City = user.City; userEntity.Language = user.Language; userEntity.AuditLastModification(_kardSession.UserId.Value); result = _defaultRepository.Update(userEntity); if (!result.Result) { result.Message = $"用户{user.NickName}注册失败"; return(result); } result.Result = true; result.Message = "注册成功"; return(result); }
public bool AddUser(OAuthUserInfo oAuthUserInfo) { var kuserEntity = new KuserEntity(); kuserEntity.UserType = "WeChatApp"; kuserEntity.KroleId = 1; kuserEntity.AvatarUrl = oAuthUserInfo.headimgurl; kuserEntity.NickName = oAuthUserInfo.nickname; kuserEntity.City = oAuthUserInfo.city; kuserEntity.Country = oAuthUserInfo.country; kuserEntity.Gender = oAuthUserInfo.sex; kuserEntity.CreationTime = DateTime.Now; var kuserWeChatEntity = new KuserWeChatEntity(); kuserWeChatEntity.OpenId = oAuthUserInfo.openid; kuserWeChatEntity.SessionKey = string.Empty; kuserWeChatEntity.UnionId = oAuthUserInfo.unionid; return(_defaultRepository.TransExecute((conn, trans) => { var createResult = conn.CreateAndGetId <KuserEntity, long>(kuserEntity, trans); if (!createResult.Result) { return false; } kuserWeChatEntity.KuserId = createResult.Data; kuserWeChatEntity.AuditCreation(kuserWeChatEntity.KuserId); conn.CreateAndGetId <KuserWeChatEntity, int>(kuserWeChatEntity, trans); return true; })); }
public ResultDto <ClaimsIdentity> WxLogin(string code) { var result = new ResultDto <ClaimsIdentity>(); var appid = "wx109fc14b4956fc70"; var secret = "a8e7f19d69cbde0272fd866fe7392874"; var url = "https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code"; url = string.Format(url, appid, secret, code); var client = new HttpClient(); var json = client.GetStringAsync(url).Result; var wxAuthDto = Serialize.FromJson <WxAuthDto>(json); if (wxAuthDto.errcode.HasValue && !string.IsNullOrEmpty(wxAuthDto.errmsg)) { result.Result = false; result.Message = $"{wxAuthDto.errcode}:{wxAuthDto.errmsg}"; return(result); } var user = _defaultRepository.FirstOrDefault <KuserEntity>(new { WxOpenId = wxAuthDto.openid }); if (user != null) { user.WxSessionKey = wxAuthDto.session_key; user.AuditLastModification(_kardSession.UserId.Value); var updateUserResultDto = _defaultRepository.Update(user); if (!updateUserResultDto.Result) { result.Result = false; result.Message = $"用户{user.NickName}被带晕"; return(result); } } else { user = new KuserEntity(); user.WxOpenId = wxAuthDto.openid; user.WxSessionKey = wxAuthDto.session_key; user.UserType = "WeChatApp"; user.KroleId = 1; user.AuditCreation(_kardSession.UserId.Value); var createResult = _defaultRepository.CreateAndGetId <KuserEntity, long>(user); if (!createResult.Result) { result.Result = false; result.Message = $"用户{user.NickName}被迷路"; return(result); } } result.Result = true; result.Message = "login成功"; result.Data = AddSessionData(user, WeChatAppDefaults.AuthenticationScheme); return(result); }
public ResultDto Register(KuserEntity user) { user.UserType = "WebAccount"; user.KroleId = 1; user.City = "广州"; user.AvatarUrl = @"user\id\avatar.jpg"; user.CoverPath = ""; user.AuditCreation(1); return(_loginAppService.Register("accountRegister", user)); }
//public ResultDto<ClaimsIdentity> WxLogin(string code, WeChatUserDto userInfo) //{ // var result = new ResultDto<ClaimsIdentity>(); // var appid = "wx109fc14b4956fc70"; // var secret = "a8e7f19d69cbde0272fd866fe7392874"; // var url = $"https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code"; // var client = new HttpClient(); // var json = client.GetStringAsync(url).Result; // var wxAuthDto = Serialize.FromJson<WxAuthDto>(json); // if (wxAuthDto.errcode.HasValue && !string.IsNullOrEmpty(wxAuthDto.errmsg)) // { // result.Result = false; // result.Message = $"{wxAuthDto.errcode}:{wxAuthDto.errmsg}"; // return result; // } // var user = _defaultRepository.FirstOrDefaultByPredicate<KuserEntity>(new { WxOpenId = wxAuthDto.openid }); // if (user != null) // { // user.WxSessionKey = wxAuthDto.session_key; // user.AvatarUrl = userInfo.AvatarUrl; // user.NickName = userInfo.NickName; // user.City = userInfo.City; // user.Country = userInfo.Language; // user.Gender = userInfo.Gender; // var updateUserResultDto = _defaultRepository.Update(user); // if (!updateUserResultDto.Result) // { // result.Result = false; // result.Message = $"用户{user.NickName}被带晕"; // return result; // } // } // else // { // user = new KuserEntity(); // user.WxOpenId = wxAuthDto.openid; // user.WxSessionKey = wxAuthDto.session_key; // user.UserType = "WeChatApp"; // user.KroleId = 1; // user.AvatarUrl = userInfo.AvatarUrl; // user.NickName = userInfo.NickName; // user.City = userInfo.City; // user.Country = userInfo.Language; // user.Gender = userInfo.Gender; // user.CreationTime = DateTime.Now; // var createResult = _defaultRepository.CreateAndGetId<KuserEntity, long>(user); // if (!createResult.Result) // { // result.Result = false; // result.Message = $"用户{user.NickName}被迷路"; // return result; // } // } // result.Result = true; // result.Message = "login成功"; // result.Data = AddSessionData(user, WeChatAppDefaults.AuthenticationScheme); // return result; //} public ResultDto Register(string registerType, KuserEntity user) { var resultDto = new ResultDto(); switch (registerType) { case "accountRegister": resultDto = AccountRegister(user); break; //case "wxRegister": resultDto = WxRegister(user); break; } return(resultDto); }
private KuserEntity GetUser(long?userId) { string cacheKey = $"user[{userId}]"; KuserEntity kuserEntity = _memoryCache.GetOrCreate(cacheKey, (cacheEntry) => { cacheEntry.SetAbsoluteExpiration(DateTime.Now.Date.AddDays(60)); return(_defaultRepository.FirstOrDefault <KuserEntity, long>(_kardSession.UserId.Value)); }); return(kuserEntity); }
public ResultDto Register([FromBody] KuserEntity user) { //var ssss=HttpContext.Session.GetString("ssss"); if (string.IsNullOrEmpty(_kardSession.WxOpenId)) { return(new ResultDto { Result = false, Message = "未找到open" }); } user.WxOpenId = _kardSession.WxOpenId; var result = _loginAppService.Register("wxRegister", user); return(result); }
//private ResultDto WxRegister(KuserEntity user) //{ // var result = new ResultDto(); // var userEntity = _defaultRepository.FirstOrDefaultByPredicate<KuserEntity>(new { WxOpenId = user.WxOpenId }); // if (userEntity == null) // { // result.Result = false; // result.Message = $"用户{user.NickName}未登陆成功,注册失败"; // return result; // } // userEntity.AvatarUrl = user.AvatarUrl; // userEntity.NickName = user.NickName; // userEntity.City = user.City; // userEntity.Language = user.Language; // userEntity.AuditLastModification(_kardSession.UserId.Value); // result = _defaultRepository.Update(userEntity); // if (!result.Result) // { // result.Message = $"用户{user.NickName}注册失败"; // return result; // } // result.Result = true; // result.Message = "注册成功"; // return result; //} private ClaimsIdentity AddSessionData(KuserEntity user, string scheme = CookieAuthenticationDefaults.AuthenticationScheme) { user.AuthenticationType = scheme; var caimsIdentity = new ClaimsIdentity(user); //caimsIdentity.AddClaim(new Claim(KardClaimTypes.IsLogin, (user.Id > 0).ToString())); if (user.Id > 0) { caimsIdentity.AddClaim(new Claim(KardClaimTypes.UserId, user.Id.ToString())); } //if (!user.WxOpenId.IsNullOrEmpty()) //{ // caimsIdentity.AddClaim(new Claim(KardClaimTypes.WxUnionId, user.WxOpenId)); //} //if (!user.WxSessionKey.IsNullOrEmpty()) //{ // caimsIdentity.AddClaim(new Claim(KardClaimTypes.WxSessionKey, user.WxSessionKey)); //} if (!user.Name.IsNullOrEmpty()) { caimsIdentity.AddClaim(new Claim(KardClaimTypes.Name, user.Name)); } //if (!user.NickName.IsNullOrEmpty()) //{ // caimsIdentity.AddClaim(new Claim(KardClaimTypes.NickName, user.NickName)); //} //if (!user.Phone.IsNullOrEmpty()) //{ // caimsIdentity.AddClaim(new Claim(KardClaimTypes.Phone, user.Phone)); //} //if (!user.Email.IsNullOrEmpty()) //{ // caimsIdentity.AddClaim(new Claim(KardClaimTypes.Email, user.Email)); //} return(caimsIdentity); }
private ResultDto AccountRegister(KuserEntity user) { var resultDto = new ResultDto(); var existUserList = _repositoryFactory.GetRepository <IKuserRepository>().GetExistUser(user.Name, user.Phone, user.NickName); var existName = existUserList.Where(u => u.Name == user.Name).Any(); var existPhone = existUserList.Where(u => u.Phone == user.Phone).Any(); var existNickName = existUserList.Where(u => u.NickName == user.NickName).Any(); if (existName || existPhone || existNickName) { resultDto.Result = false; resultDto.Message = $"{(existName ? "邮箱 " : "")}{(existPhone ? "手机 " : "")}{(existNickName ? "昵称 " : "")}已被注册"; return(resultDto); } //newEntity.AppId = _defaultRepository.FirstOrDefault<RetailerEntity, string>(newEntity.RetailerId)?.AppId; //var result = _passwordValidator.ValidateAsync(_userManager, user, user.Password).Result; //if (!result.Succeeded) //{ // resultDto.Result = false; // resultDto.Message = $"密码{ string.Join(";", result.Errors)}"; // return resultDto; //} user.Password = _passwordHasher.HashPassword(user, user.Password); //resultDto.Result = _defaultRepository.CreateAccountUser(user); //resultDto.Message = resultDto.Result?"注册成功": "注册失败"; //return resultDto; var createResultDto = _defaultRepository.CreateAndGetId <KuserEntity, long>(user); resultDto.Result = createResultDto.Result; resultDto.Message = createResultDto.Message; return(resultDto); }