Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }