public JsonResult CheckCode(string username, string checkcode) { StatusData myStatusData = new StatusData();//返回状态 // DateTime myNowDate = DateTime.Now; // User_UserName myUserInfo = new User_UserName(); try { using (chefuzi_dataEntities myOperating = new chefuzi_dataEntities())//数据库操作 { User_CheckCode myUserCheckCode = myOperating.User_CheckCode.FirstOrDefault(p => p.MobilePhone == username && p.CheckCode == checkcode && p.ExpiredDate > myNowDate); if (myUserCheckCode != null) { try { myUserCheckCode.AlreadCheck = true; myOperating.SaveChanges(); myStatusData.operateMsg = "验证通过"; myStatusData.operateStatus = 200; } catch { myStatusData.operateStatus = -1; } } else { myStatusData.operateStatus = 6;//验证码错误 } } } catch { myStatusData.operateStatus = -1; } return(Json(myStatusData)); }
public JsonResult SendCheckCode(string username, string operationtype) { //operationtype0,注册;1修改密码 StatusData myStatusData = new StatusData(); //返回状态 // #region 手机号错误 if (!FunctionClass.isMobilePhone(username)) {//手机号规则判断 myStatusData.operateStatus = 400; myStatusData.operateMsg = "手机号错误"; return(Json(myStatusData)); } #endregion // DateTime myNowDate = DateTime.Now; DateTime myExpiredDate = DateTime.Now; //验证码有效期---调试屏蔽 myExpiredDate = DateTime.Now.AddSeconds(int.Parse(StaticVarClass.CheckCodeExpiredDate)); // string myMsg = FunctionClass.RandomCode(); // try { bool allowSend = false; using (chefuzi_dataEntities myOperating = new chefuzi_dataEntities())//数据库操作 { if (String.IsNullOrWhiteSpace(operationtype)) { operationtype = ""; } #region 发送验证码的类型判断 int isExist = 0;// switch (operationtype) { case "0": //注册 isExist = myOperating.User_UserName.Count(p => p.MobilePhone == username); if (isExist > 0) { allowSend = false; myStatusData.operateStatus = 7; } else { allowSend = true; } //allowSend = true; break; case "1": //修改密码 isExist = myOperating.User_UserName.Count(p => p.MobilePhone == username); if (isExist > 0) { allowSend = true; } else { myStatusData.operateStatus = 400; myStatusData.operateMsg = "该号码不存在"; allowSend = false; } break; default: myStatusData.operateStatus = 400; myStatusData.operateMsg = "参数错误"; allowSend = false; break; } #endregion // if (allowSend) { #region 发送验证码 bool IsSendOk = true; // int deleteNum = myOperating.User_CheckCode.Where(p => p.ExpiredDate < myNowDate).Delete(); if (deleteNum > 0) { EFCachClear.ClearTable("User_CheckCode"); } // User_CheckCode myCheckCode = new User_CheckCode(); myCheckCode = myOperating.User_CheckCode.FirstOrDefault(p => p.MobilePhone == username); if (myCheckCode != null) { if (myCheckCode.AddDate > myNowDate.AddMinutes(-1)) { myStatusData.operateStatus = 0; myStatusData.operateMsg = "不能频繁操作,稍后重试"; } else { SmsClass mySmsClass = new SmsClass(); IsSendOk = mySmsClass.sendSmsMsg(username, 0, myMsg); // if (IsSendOk) { myCheckCode.CheckCode = myMsg; myCheckCode.ExpiredDate = myExpiredDate; myCheckCode.AddDate = myNowDate; myCheckCode.AlreadCheck = false; myOperating.SaveChanges(); // myStatusData.operateStatus = 200; myStatusData.operateMsg = "完成"; } else { myStatusData.operateStatus = 0; myStatusData.operateMsg = "发送失败!请重试"; } } } else { //调试暂时屏蔽 SmsClass mySmsClass = new SmsClass(); IsSendOk = mySmsClass.sendSmsMsg(username, 0, myMsg); // if (IsSendOk) { User_CheckCode newCheckCode = new User_CheckCode(); newCheckCode.MobilePhone = username; newCheckCode.CheckCode = myMsg; newCheckCode.ExpiredDate = myExpiredDate; newCheckCode.AddDate = myNowDate; newCheckCode.AlreadCheck = false; myOperating.User_CheckCode.Add(newCheckCode); myOperating.SaveChanges(); // myStatusData.operateStatus = 200; myStatusData.operateMsg = "完成"; } else { myStatusData.operateStatus = 0; myStatusData.operateMsg = "发送失败!请重试"; } } #endregion } } } catch { myStatusData.operateStatus = -1; throw; } return(Json(myStatusData)); }