Пример #1
0
        /// <summary>
        /// 发送手机验证码
        /// </summary>
        /// <param name="telPhone">手机号码</param>
        /// <param name="note">提示消息</param>
        public static string GetTelphoneCode(string telPhone, string note)
        {
            string resStrCode = string.Empty;

            if (MetarnetRegex.IsMobilePhone(telPhone))
            {
                DB.Model.M_TelPhoneCode newTelCode = new DB.BLL.MY_Bll(DBEnum.Slave).GetModel <DB.Model.M_TelPhoneCode>("Telphone=@_Telphone", new { _Telphone = telPhone });
                int randomCode = new Random().Next(100000, 999999);//随机生成6位数的随机数
                if (newTelCode == null)
                {
                    newTelCode            = new DB.Model.M_TelPhoneCode();
                    newTelCode.Telphone   = telPhone;
                    newTelCode.Code       = randomCode.ToString();
                    newTelCode.CreatTime  = DateTime.Now;
                    newTelCode.LoginTimes = 0;
                    if (new DB.BLL.MY_Bll(DBEnum.Master).AddModel(newTelCode))
                    {
                        string smsurl = "http://utf8.sms.webchinese.cn/?";
                        smsurl += "Uid=llkj&Key=llkjbyflood&";
                        smsurl += "smsMob=" + telPhone + "&smsText=" + note + ",您的验证码:" + randomCode;
                        string resStr = string.Empty;
                        if (SendSMS.GetHtmlFromUrl(smsurl, out resStr))
                        {
                            resStrCode = "SUCCESS";
                        }
                        else
                        {
                            resStrCode = "ERR,发送失败,请重试";
                            ToolHelper.WriteLogInfoToLocalText(resStr);
                        }
                    }
                    else
                    {
                        resStrCode = "ERR,发送失败,请重试";
                    }
                }
                else//数据库已经存在这条数据
                {
                    if (DateTime.Now < newTelCode.CreatTime.AddMinutes(1))//间隔时间小于1分钟
                    {
                        resStrCode = "ERR,获取验证码的时间间隔为1分钟";
                    }
                    else
                    {
                        newTelCode.Code       = randomCode.ToString();
                        newTelCode.CreatTime  = DateTime.Now;
                        newTelCode.LoginTimes = 0;//更新验证码的时候归零次数
                        if (new DB.BLL.MY_Bll(DBEnum.Master).UpdateModel <DB.Model.M_TelPhoneCode>(" Telphone=@Telphone ", newTelCode))
                        {
                            string smsurl = "http://utf8.sms.webchinese.cn/?";
                            smsurl += "Uid=llkj&Key=llkjbyflood&";
                            smsurl += "smsMob=" + telPhone + "&smsText=" + note + ",您的验证码:" + randomCode;
                            string resStr = string.Empty;
                            if (SendSMS.GetHtmlFromUrl(smsurl, out resStr))
                            {
                                resStrCode = "SUCCESS";
                            }
                            else
                            {
                                resStrCode = "ERR,发送失败,请重试";
                            }
                        }
                        else
                        {
                            resStrCode = "ERR,发送失败,请重试";
                        }
                    }
                }
            }
            else
            {
                resStrCode = "提示:不是合法的手机号码";
            }
            return(resStrCode);
        }