/// <summary> /// 根据用户名送短信 /// </summary> /// <param name="request"></param> /// <returns></returns> public bool SendMessgae(SendMessgae request) { using (var db = DbFactory.Open()) { if (string.IsNullOrEmpty(request.name)) { throw new Exception("用户名不能为空"); } var builder = db.From <UserInfo>(); if (!string.IsNullOrEmpty(request.name)) { builder.Where(x => x.UserName == request.name); } var checkCode = HostContext.AppHost.Resolve <ICacheClient>().Get <string>("checkCode"); if (!string.IsNullOrEmpty(checkCode)) { HostContext.AppHost.Resolve <ICacheClient>().Remove("checkCode"); } var info = db.Single(builder); if (info != null) { if (!ValidatorHelper.IsMobile(info.UserName) && string.IsNullOrEmpty(info.Mobile))//|| ValidatorHelper.IsMobile(info.Mobile) { throw new Exception("该用户没有手机号码"); } Random rd = new Random(); int num = rd.Next(100000, 1000000); var content = "您正在登陆《浙江省基层防汛防台体系信息管理系统》,为防止他人登陆系统篡改信息千万不要告诉他人验证码 " + num.ToString() + "[五分钟内有效]。如不是您自己操作,请忽略。"; var msg = SmsSend.SendSMS(info.UserName, content); if (msg != "" && msg.IndexOf("-") > 0) { var message = new SaveSmsMessage(); message.adcd = info.adcd; message.Content = content; message.Mobile = info.UserName; message.UserName = info.UserName; message.name = info.RealName; message.tm = DateTime.Now; MessageManager.SaveMessage(message); HostContext.AppHost.Resolve <ICacheClient>().Add("checkCode", num.ToString()); return(true); } else { return(false); } } else { throw new Exception("用户名不存在"); } } }
public bool SaveMessage(SaveSmsMessage request) { using (var db = DbFactory.Open()) { var info = new SmsMessage(); if (string.IsNullOrEmpty(request.Mobile)) { throw new Exception("手机号码不能为空"); } if (string.IsNullOrEmpty(request.Content)) { throw new Exception("短信内容不能为空"); } info.name = !string.IsNullOrEmpty(request.name) ? request.name : RealName; info.tm = request.tm != null ? request.tm.Value : DateTime.Now; info.Mobile = request.Mobile; info.Content = request.Content; info.adcd = !string.IsNullOrEmpty(request.adcd) ? request.adcd : adcd; info.UserName = !string.IsNullOrEmpty(request.UserName) ? request.UserName : UserName; return(db.Insert(info) == 1); } }
/// <summary> /// 保存短信 /// </summary> /// <param name="request"></param> /// <returns></returns> public bool Post(SaveSmsMessage request) { return(MessageManager.SaveMessage(request)); }