/// <summary> /// 请求修改密码 /// </summary> /// <param name="mobilePhone"></param> /// <param name="password"></param> /// <param name="code"></param> /// <param name="errMsg"></param> /// <returns></returns> public static bool RequestChangePassword(string mobilePhone, string password, string code, out string errMsg) { errMsg = String.Empty; try { if (string.IsNullOrEmpty(password)) { errMsg = "密码不能为空!"; return(false); } //1.校验注册码是否合法 if (!SmsLogBll.CheckSmsVerificationCode(mobilePhone, code, ESmsLogType.BuyerChangePassword, out errMsg)) { return(false); } var buyer = BuyerInfoBll.GetModelByMobilePhone(mobilePhone, out errMsg); if (buyer == null) { errMsg = string.Format("手机号:{0}不存在!", mobilePhone); return(false); } buyer.Password = password; buyer.LDate = DateTime.Now; buyer.LMan = buyer.BuyerId; return(Dal.Update(buyer, Global.ApplicationParms.ConnectionString)); } catch (Exception ex) { errMsg = "执行异常:" + ex.Message; Logger.LogError4Exception(ex, "AppLogger"); } return(false); }
/// <summary> /// 为修改密码发送验证码请求 /// </summary> /// <param name="mobilePhone"></param> /// <param name="code"></param> /// <param name="smsContent"></param> /// <param name="errMsg"></param> /// <returns></returns> internal static bool SendSms4ModifyPassword(string mobilePhone, string code, out string smsContent, out string errMsg) { errMsg = string.Empty; const string smsTemplateId = "152258"; // //短信模板Id string[] smsData = new string[] { code }; //短信内容 smsContent = string.Format("【趣订货】验证码为{0},您正在修改登录密码,请确认是本人操作。", code); return(SmsLogBll.SendSms(mobilePhone, smsTemplateId, smsData, out errMsg)); }
/// <summary> /// 手机注册:申请验证码 /// </summary> /// <param name="mobilePhone">接收验证码的手机号,同时也是注册号</param> /// <param name="errMsg">请求失败时的错误提示</param> /// <returns></returns> public static bool RequestRegisterVerificationCode(string mobilePhone, out string errMsg) { errMsg = String.Empty; try { //1.检查手机是否已经注册 if (SellerInfoBll.GetModelByMobilePhone(mobilePhone, out errMsg) != null) { errMsg = string.Format("手机号:{0}已经被注册过,请使用其它手机号注册!", mobilePhone); return(false); } if (!string.IsNullOrEmpty(errMsg)) { //访问出错 return(false); } //2.检查该手机今日接收短信业务条数 var count = SmsLogBll.GetSmsCount(mobilePhone, ESmsLogType.SellerRegister); if (count >= Laplace.LiteCOS.Global.ApplicationParms.SmsMaxCount) { errMsg = string.Format("手机号:{0}今日接收验证码过多,请明天再试!", mobilePhone); return(false); } //3.生成手机验证码 var code = SmsLogBll.CreateSmsVerificationCode(); //code = "123456"; string smsContent; //4.发送短信,调用短信接口 //#if !DEBUG if (!SmsLogBll.SendSms4RegisterVerificationCode(mobilePhone, code, out smsContent, out errMsg)) { errMsg = string.Format("发送验证码短信失败,请稍后重试!\r\n错误描述:{0}", errMsg); return(false); } //#endif //5.保存日志 var log = new SmsLog() { MobilePhone = mobilePhone, SmsTime = DateTime.Now, SmsContent = smsContent, UserId = 0, Config = code, //注册码 LogType = ESmsLogType.SellerRegister }; SmsLogBll.Insert(log); } catch (Exception ex) { errMsg = string.Format("异常:{0}", ex.Message); Logger.LogError4Exception(ex, "AppLogger"); } return(true); }
internal static bool SendSms4RegisterVerificationCode(string mobilePhone, string code, out string smsContent, out string errMsg) { errMsg = string.Empty; const string smsTemplateId = "127529"; // //短信模板Id var timeout = Global.ApplicationParms.SmsVerificationCodeValidityPeriod.ToString(); string[] smsData = new string[] { code, timeout };//短信内容 smsContent = string.Format("【趣订货】您的注册验证码为:{0},请于{1}分钟内提交注册,如非本人操作,请忽略此短信。", code, timeout); return(SmsLogBll.SendSms(mobilePhone, smsTemplateId, smsData, out errMsg)); }
internal static bool SendSms4GetPassword(string mobilePhone, string superPassword, out string smsContent, out string errMsg) { errMsg = string.Empty; const string smsTemplateId = "127027"; // //短信模板Id string[] smsData = new string[] { superPassword }; //短信内容 //您当前手机号的登录密码为:{1},请妥善保存,如非本人操作,请忽略此短信。 smsContent = string.Format("【趣订货】您当前手机号的登录密码为:{0},请妥善保存,如非本人操作,请忽略此短信。", superPassword); return(SmsLogBll.SendSms(mobilePhone, smsTemplateId, smsData, out errMsg)); }
/// <summary> /// 修改密码:申请验证码 /// </summary> /// <param name="mobilePhone">接收验证码的手机号,同时也是注册号</param> /// <param name="errMsg">请求失败时的错误提示</param> /// <returns></returns> public static bool RequestChangePasswordVerificationCode(string mobilePhone, out string errMsg) { errMsg = String.Empty; try { //1.检查手机是否已经注册 var customer = BuyerInfoBll.GetModelByMobilePhone(mobilePhone, out errMsg); if (customer == null) { errMsg = string.Format("手机号:{0}不存在!", mobilePhone); return(false); } //2.检查该手机今日接收短信业务条数 var count = SmsLogBll.GetSmsCount(mobilePhone, ESmsLogType.BuyerGetPassword); if (count >= Laplace.LiteCOS.Global.ApplicationParms.SmsMaxCount) { errMsg = string.Format("手机号:{0}今日接收验证码过多,请明天再试!", mobilePhone); return(false); } //3.生成手机验证码 var code = SmsLogBll.CreateSmsVerificationCode(); //4.发送短信 string smsContent = string.Empty; //调用短信接口 if (!SmsLogBll.SendSms4ModifyPassword(mobilePhone, code, out smsContent, out errMsg)) { errMsg = string.Format("发送密码通知短信失败,请稍后重试!\r\n错误描述:{0}", errMsg); return(false); } //5.保存日志 var log = new SmsLog() { MobilePhone = mobilePhone, SmsTime = DateTime.Now, SmsContent = smsContent, UserId = 0, Config = code, //注册码 LogType = ESmsLogType.BuyerChangePassword }; return(SmsLogBll.Insert(log)); } catch (Exception ex) { errMsg = string.Format("异常:{0}", ex.Message); Logger.LogError4Exception(ex, "AppLogger"); } return(false); }
/// <summary> /// 检查注册验证码是否合法 /// </summary> /// <param name="mobilePhone">注册手机号</param> /// <param name="code">手机接收验证码</param> /// <param name="errMsg">错误信息</param> /// <returns>true:合法</returns> public static bool CheckRegisterVerificationCode(string mobilePhone, string code, out string errMsg) { errMsg = String.Empty; try { //1.校验注册码是否合法 return(SmsLogBll.CheckSmsVerificationCode(mobilePhone, code, ESmsLogType.SellerRegister, out errMsg)); } catch (Exception ex) { errMsg = "异常:" + ex.Message; Logger.LogError4Exception(ex, "AppLogger"); } return(false); }
/// <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> /// 请求注册新用户(买家用户) /// </summary> /// <param name="mobilePhone">注册手机号</param> /// <param name="password">登录密码(不能为空,)</param> /// <param name="code">注册验证码</param> /// <param name="buyerId">如果用户添加成功,返回用户编号</param> /// <param name="errMsg">错误信息</param> /// <returns>true:添加新用户成功</returns> public static bool RequestRegisterNewUser(string mobilePhone, string password, string code, out int buyerId, out string errMsg) { errMsg = String.Empty; buyerId = -1; try { //1.校验注册码是否合法 if (!SmsLogBll.CheckSmsVerificationCode(mobilePhone, code, ESmsLogType.BuyerRegister, out errMsg)) { return(false); } //添加新用户 buyerId = Dal.Insert(mobilePhone, password, Global.ApplicationParms.ConnectionString, out errMsg); return(buyerId > 0); } catch (Exception ex) { errMsg = "执行异常:" + ex.Message; Logger.LogError4Exception(ex, "AppLogger"); } return(false); }