/// <summary> /// 添加信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool AddMessage(LanzSMSSend model) { string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Time.txt"; string Time = FileRead(path); string timeNow = System.DateTime.Now.ToString("yyyy-MM-dd"); if (timeNow != Time) { DelMessage(); FileWrite(path, timeNow); } StringBuilder sql = new StringBuilder(); sql.Append(@"INSERT INTO SendMessageLimit(Content,PhoneNum)VALUES(@Content,@PhoneNum)"); SqlParameter[] para = { new SqlParameter("@Content", SqlDbType.VarChar, 500) { Value = model.Content }, new SqlParameter("@PhoneNum", SqlDbType.VarChar, 50) { Value = model.Phones } }; return(DataHelper.ExecuteNonQuery(CommandType.Text, sql.ToString(), para) > 0); }
public void ProcessRequest(HttpContext context) { try { string mobile = context.Request["mobile"].ToString().Trim(); string comment = HttpUtility.UrlDecode(context.Request["comment"].ToString().Trim(), System.Text.Encoding.UTF8); int index = comment.IndexOf("【今通国际】"); if (index < 0) { comment = comment + "【今通国际】"; } LogWriter.Write(mobile, comment, "SendMessage"); LanzSMSReturn ret = null; LanzSMSSend send = new LanzSMSSend(); send.Content = comment; send.Phones = mobile; send.SMSType = "1"; send.SMSKey = "test"; //TODO插入 AddMessageDAL obj = new AddMessageDAL(); if (obj.GetMessageNumByPhoneNum(send)) { LogWriter.Write(mobile, "一分钟内同一条数据已经发送5次", "SendMessage"); context.Response.Write("一分钟内同一条数据已经发送5次"); } else { //发送短信 LanzWeb bll = new LanzWeb(); ret = bll.SendMessage(send); obj.AddMessage(send); LogWriter.Write(mobile, ret.ErrorNumDesc, "SendMessage"); context.Response.Write(ret.ErrorNumDesc); } } catch (Exception ex) { LogWriter.Write(context.Request["mobile"].ToString().Trim(), ex.ToString(), "SendMessage"); context.Response.Write(ex.ToString()); } }
/// <summary> /// 查询一个小时内同一用户相同内容发送的次数 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool GetMessageNumByPhoneNum(LanzSMSSend model) { StringBuilder sql = new StringBuilder(); sql.AppendFormat(@"select count(*) from SendMessageLimit with(nolock) where Content =@Content and PhoneNum =@PhoneNum and CONVERT(varchar(16),sendTime,120) = CONVERT(varchar(16),GETDATE(),120)"); SqlParameter[] para = { new SqlParameter("@Content", SqlDbType.VarChar, 500) { Value = model.Content }, new SqlParameter("@PhoneNum", SqlDbType.VarChar, 50) { Value = model.Phones } }; return((int)DataHelper.ExecuteScalar(sql.ToString(), para) >= 5); }