/// <summary> /// 校验手机验证码是否正确 /// </summary> /// <param name="mobilePhone"></param> /// <param name="code"></param> /// <param name="logType"></param> /// <param name="errMsg"></param> /// <returns></returns> internal static bool CheckSmsVerificationCode(string mobilePhone, string code, ESmsLogType logType, out string errMsg) { errMsg = string.Empty; #if DEBUG if (code == "99999999") { return(true); } #endif errMsg = string.Empty; if (string.IsNullOrEmpty(code) || code.Length != 6) { errMsg = "验证码错误!"; return(false); } var log = SmsLogBll.GetLastModel(mobilePhone, logType); if (log != null) { if (log.Config == code.Trim()) { if ((DateTime.Now - log.SmsTime).TotalMinutes > Global.ApplicationParms.SmsVerificationCodeValidityPeriod) { errMsg = "验证码失效,请重新获取!"; return(false); } } else { errMsg = "验证码错误!"; return(false); } } else { errMsg = "请先获取手机验证码!"; return(false); } return(true); }
/// <summary> /// 返回指定手机号发送短信条数(1天有效) /// </summary> /// <param name="mobilePhone"></param> /// <returns></returns> public static int GetSmsCount(string mobilePhone, ESmsLogType logType) { return(SmsLogRedisBll.GetSmsCount(mobilePhone, logType)); }
/// <summary> /// 返回指定手机号指定日志 /// </summary> /// <param name="mobilePhone"></param> /// <param name="logType"></param> /// <returns></returns> public static SmsLog GetLastModel(string mobilePhone, ESmsLogType logType) { return(SmsLogRedisBll.GetLastModel(mobilePhone, logType)); }
/// <summary> /// 返回Redis中指定手机号的短信记录 /// </summary> /// <param name="mobilePhone"></param> /// <param name="logType"></param> /// <returns></returns> public static List <SmsLog> GetList(string mobilePhone, ESmsLogType logType) { return(GetList().Where(o => o.MobilePhone == mobilePhone && o.LogType == logType).ToList()); }
/// <summary> /// 返回指定手机号最新的短信日志 /// </summary> /// <param name="mobilePhone"></param> /// <returns></returns> public static SmsLog GetLastModel(string mobilePhone, ESmsLogType logType) { return(GetList(mobilePhone, logType).OrderByDescending(o => o.SmsTime).FirstOrDefault()); }
public static int GetSmsCount(string mobilePhone, ESmsLogType logType) { return(GetList(mobilePhone, logType).Count()); }