Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
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());
            }
        }
Ejemplo n.º 3
0
        /// <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);
        }