/// <summary> /// 三方登录 /// </summary> /// <param name="thirdKey">三方key</param> /// <param name="thirdProvider">微博?QQ?微信?</param> /// <param name="loginDevice">登录设备 IOS?Android?</param> /// <param name="clientVersion">客户端版本</param> /// <param name="registKey">极光推送Key</param> /// <returns></returns> public async Task <OperationResult> LoginByThird(string thirdKey, ThirdProvider thirdProvider, LoginDevice loginDevice, string clientVersion, string registKey = "") { var thirdUser = SysUserLoginRepo.Entities.SingleOrDefault(m => m.ProviderKey == thirdKey && m.ThridProvider == thirdProvider); if (thirdUser == null) { var userName = "******" + DateTime.Now.ToString("yyyyMMddhhffff"); SysUser sUser = new SysUser() { UserName = userName, NickName = userName, UserType = UserType.App用户, }; UserInfoRepo.UnitOfWork.TransactionEnabled = true; await UserManager.CreateAsync(sUser); var userInfo = new UserInfo() { SysUser = sUser, IsDeleted = false, Sex = Sex.限, }; await UserInfoRepo.InsertAsync(userInfo); thirdUser = new SysUserLogin() { ProviderKey = thirdKey, ThridProvider = thirdProvider, User = sUser, }; await SysUserLoginRepo.InsertAsync(thirdUser); await UserInfoRepo.UnitOfWork.SaveChangesAsync(); } var theUser = UserInfoRepo.Entities.SingleOrDefault(m => m.SysUser.Id == thirdUser.User.Id); if (theUser.RegistKey != registKey) { theUser.RegistKey = registKey; await UserInfoRepo.UpdateAsync(theUser); } //变更登录信息 await ResetToken(theUser, loginDevice, clientVersion); var loginInfo = new UserTokenDto() { Id = theUser.Id, NickName = theUser.SysUser.NickName, HeadPic = theUser.HeadPic, Sex = theUser.Sex, Token = theUser.Token }; return(CdkxResult.Success(loginInfo)); }
public async Task <IHttpActionResult> DelUserInfo(string phoneNo) { var sysUser = SysUserRepo.Entities.SingleOrDefault(m => m.UserName == phoneNo); var userInfo = UserInfoRepo.Entities.SingleOrDefault(m => m.SysUser.UserName == phoneNo); SysUserRepo.Delete(sysUser.Id); return(Json(CdkxResult.Success())); // UserContract.UserInfos.SingleOrDefault(m => m.SysUser.UserName == phoneNo); //var afterService = AfterServiceRepo.Entities.SingleOrDefault(m => m.User.UserName == phoneNo); //var sysUserLogin = SysUserLoginRepo.Entities.SingleOrDefault(m => m.User.UserName == phoneNo); //var sysUserRoleMap = SysUserRoleMapRepo.Entities.SingleOrDefault(m => m.User.UserName == phoneNo); //var sysUserClaim = SysUserClaimRepo.Entities.SingleOrDefault(m => m.User.UserName == phoneNo); //SysUserRepo.UnitOfWork.TransactionEnabled = true; //if (sysUserClaim != null) //{ //} //if (sysUserClaim != null) //{ // SysUserClaimRepo.Delete(sysUserClaim.Id); //} //if (sysUserLogin != null) //{ // SysUserLoginRepo.Delete(sysUserLogin.Id); //} //if (afterService != null) //{ // AfterServiceRepo.Delete(afterService.Id); //} //if (userInfo != null) //{ // UserInfoRepo.Delete(userInfo.Id); //} //SysUserRepo.Delete(sysUser.Id); //return Json((SysUserRepo.UnitOfWork.SaveChanges() == 0 ? BodeResult.NoChanged(): BodeResult.Success()).ToApiResult()); }
/// <summary> /// 验证注册码是否正确 /// </summary> /// <param name="phoneNo"></param> /// <param name="validateCode"></param> /// <returns></returns> public async Task <OperationResult> ValidateCode(string phoneNo, CodeType codeType, string validateCode) { var severCode = GetValidateCode(phoneNo, codeType); if (severCode == null || severCode.Code != validateCode) { return(new OperationResult(OperationResultType.ValidError, "验证码错误", 0)); } if (SysUserRepo.CheckExists(p => p.UserName == phoneNo)) { if (codeType == CodeType.用户注册) { return(new OperationResult(OperationResultType.ValidError, "账号已被使用", 0)); } } else { if (codeType == CodeType.更换手机 || codeType == CodeType.找回密码 || codeType == CodeType.临时密码) { return(CdkxResult.ValidError("帐号不存在.")); } } return(CdkxResult.Success()); }