/// <summary> /// 找回密码 /// </summary> /// <param name="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <param name="identifyingCode">注册验证码</param> /// <param name="type">密码类型 2-登录 3=支付</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2017-08-18 林建生 /// </remarks> public ActionResult RetrievePWD(string account, string pwd, string identifyingCode, string type) { if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(identifyingCode)) { return(View()); } else { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5) { using (EFDB db = new EFDB()) { //判断该手机号十分钟之内是否有验证码 var sms = db.SMS.Where(l => l.PhoneNumber == account && l.Content == identifyingCode).OrderByDescending(l => l.AddTime).FirstOrDefault(); if (sms != null) { TimeSpan ts = DateTime.Now - sms.AddTime; if (ts.TotalMinutes <= 10) { string pwdMD5 = MD5.GetMD5ljsheng(pwd); var b = db.Member.Where(l => l.Account == account).FirstOrDefault(); if (type == "3") { b.PayPWD = pwdMD5; } else { b.PWD = pwdMD5; } b.LoginIdentifier = LCommon.TimeToUNIX(DateTime.Now); if (db.SaveChanges() == 1) { LCookie.DelALLCookie(); AppApi.PWD(account, pwd, type); return(Helper.Redirect("成功!", "/Home/Login", "修改密码成功,请点确定重新登录!")); } else { return(Helper.Redirect("失败!", "history.go(-1);", "帐号不存在,点确定返回重新修改!")); } } else { return(Helper.Redirect("失败!", "history.go(-1);", "验证码已失效,请重新获取")); } } else { return(Helper.Redirect("失败!", "history.go(-1);", "短信验证码错误")); } } } else { return(Helper.Redirect("失败!", "history.go(-1);", "必须是11位的手机号,密码最少需要6位")); } } }