private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
     try
     {
         var list = PushToMessage.get_pushtosms(AppConfig.PushSmsMinute);
         int MessageCount = list.Count;
         Common.WriteToLogFile(string.Format("共有{0}条已超出{1}分钟未阅读消息数据", MessageCount, PushSmsMinute));
         if (MessageCount > decimal.Zero)
         {
             this.timer1.Enabled = false;
             foreach (var item in list)
             {
                 var model = new PushToSmsModels.Req_getmobileModel
                 {
                     id = item.userid,
                     key = Common.CreateKey(item.userid)
                 };
                 var json = JsonConvert.SerializeObject(model);
                 var mobile = PushToMessage.get_usermobile(json);
                 var status = decimal.One;
                 //时间超出转为短信发送
                 if (!string.IsNullOrEmpty(mobile) && mobile.Length == 11)
                 {
                     var Custom = new Random(DateTime.Now.Millisecond).Next(10, 98).ToString();
                     var content = item.messagetype == 0 ? string.Format("{0} ({1})", item.content, "请登平台查看") : item.content;
                     var entity = new PushToSmsModels.smssendModel
                     {
                         ID = Common.GetRandomID().ToString(),
                         SchoolCode = item.schoolcode,
                         Mobile = mobile,
                         Content = content,
                         InputDate = DateTime.Now,
                         Status = -1,
                         Description = string.Empty,
                         TaskId = string.Empty,
                         TaskStatus = decimal.MinusOne,
                         TaskType = 0,
                         Custom = Custom,
                         LevelNo = 0,
                         VerifyStatus = 1
                     };
                     var s = PushToMessage.set_smssend(entity);
                     status = s ? decimal.Zero : decimal.One;
                 }
                 else
                 {
                     status = 9;
                     Common.WriteToLogFile(String.Format("手机长度错误,手机号码:{0})", mobile));
                 }
                 var result = PushToMessage.update_pushtosms(item.schoolcode, item.userid, item.messageid, status);
                 Common.WriteToLogFile(String.Format("提交消息状态(schoolcode:{0},userid{1},messageid:{2},status:{3},DB:{4})", item.schoolcode, item.userid, item.messageid, status, result));
             }
             //重新开启定时器使用
             this.timer1.Enabled = true;
             timer1.Interval = 1000;//1秒钟执行一次
         }
         else
         {
             timer1.Interval = IntervalTime; //每隔{IntervalTiem}毫秒 执行一次
         }
     }
     catch (Exception ex)
     {
         Common.WriteToLogFile(String.Format("消息监控扫描数据异常:{1}", ex.ToString()));
     }
 }
        /// <summary>
        /// 监听
        /// </summary>
        public void RecevieMessage()
        {
            try
            {
                while (IsStatus)
                {
                    if (MessageQueue.Exists(MSMQ.MSMQHelper.MsmqString))
                    {
                        MessageQueue mq = new MessageQueue(MSMQ.MSMQHelper.MsmqString);
                        System.Messaging.Message message = mq.Receive();
                        message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
                        if (message != null)
                        {
                            //消息类型 对应 FSMP.MSMQ.SendMessage.MessageType值
                            var Lable = message.Label.ToString();
                            string Body = message.Body.ToString();
                            Common.WriteToLogFile(string.Format("Lable:{0},Body:{1}", Lable, Body));
                            int success = 0;
                            int fail = 0;
                            if (Lable == ((int)MSMQ.MessageType.Message).ToString())
                            {
                                var messagelist = MSMQ.MessageDeserialize.MessageList(Body);
                                success = 0;
                                fail = 0;
                                foreach (var item in messagelist)
                                {
                                    var s = PushToMessage.set_pushtosms(item.SchoolCode, item.UserId, item.MessageId, (int)MessageType.Message, item.Content, decimal.MinusOne);
                                    if (s)
                                    {
                                        success++;
                                    }
                                    else
                                    {
                                        fail++;
                                    }
                                }
                                Common.WriteToLogFile(string.Format("消息执行完毕,成功:{0},失败:{1}", success, fail));
                            }
                            else if (Lable == ((int)MSMQ.MessageType.MessageRead).ToString())
                            {
                                var messageread = MSMQ.MessageDeserialize.MessageStatus(Body);
                                if (messageread != null)
                                {
                                    var s = PushToMessage.update_pushtosms(messageread.SchoolCode, messageread.UserId, messageread.MessageId, decimal.One);
                                    Common.WriteToLogFile(string.Format("消息执行完毕,执行结果:{0}", s));
                                }
                            }
                            else if (Lable == ((int)MSMQ.MessageType.WorkBook).ToString())
                            {
                                var workbookllist = MSMQ.MessageDeserialize.WorkBoolList(Body);
                                success = 0;
                                fail = 0;
                                foreach (var item in workbookllist)
                                {
                                    var s = PushToMessage.set_pushtosms(item.SchoolCode, item.UserId, item.WorkBookId, (int)MessageType.WorkBook, item.Content, decimal.MinusOne);
                                    if (s)
                                    {
                                        success++;
                                    }
                                    else
                                    {
                                        fail++;
                                    }
                                }
                                Common.WriteToLogFile(string.Format("消息执行完毕,成功:{0},失败:{1}", success, fail));

                            }
                            else if (Lable == ((int)MSMQ.MessageType.WorkBookRead).ToString())
                            {
                                var wookbookread = MSMQ.MessageDeserialize.WorkBookStatus(Body);
                                success = 0;
                                fail = 0;
                                if (wookbookread != null)
                                {
                                    var s = PushToMessage.update_pushtosms(wookbookread.SchoolCode, wookbookread.UserId, wookbookread.WorkBookId, decimal.One);
                                    Common.WriteToLogFile(string.Format("消息执行完毕,执行结果:{0}", s));
                                }
                            }
                            else
                            {
                                Common.WriteToLogFile(String.Format("未处理的MQ记录(Lable:{0},Body:{1})", Lable, Body));
                            }
                        }
                        System.Threading.Thread.Sleep(100);
                    }
                    else
                    {
                        Common.WriteToLogFile(String.Format("{0}不存在", MSMQ.MSMQHelper.MsmqString));
                    }
                }
            }
            catch (Exception ex)
            {
                Common.WriteToLogFile(String.Format("接收MQ消息异常错误:{0}", ex.ToString()));
            }
        }