示例#1
0
 /// <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位"));
         }
     }
 }