Пример #1
0
 private bool frMo_ReceiveMessage(RabbitMQHelper mq, string message)
 {
     try
     {
         var mo = JsonConvert.DeserializeObject <MOSMS>(message);
         //找到给发短信的记录
         var sms = StatusReportDB.GetSMSForMO(mo.Gateway, mo.ReceiveTime, mo.UserNumber);
         if (sms != null)
         {
             if (string.IsNullOrWhiteSpace(mo.SPNumber))
             {
                 mo.SPNumber = sms.SPNumber;
             }
             mo.AccountID = sms.AccountID;
         }
         DeliverMODB.Add(mo);
         MOCache.Instance.AddMOCache(mo);
         return(true);
     }
     catch (Exception ex)
     {
         LogClient.LogHelper.LogError("SendQueue", "frMo_ReceiveMessage", ex.ToString());
         return(true);
     }
 }
Пример #2
0
 /// <summary>
 /// 更新状态报告(客户端已获取)
 /// </summary>
 /// <param name="mo"></param>
 public void UpdateMOStatus(MOSMS mo)
 {
     try
     {
         DeliverMODB.UpdateMOStatus(mo);
         Cache[mo.AccountID].Remove(mo);
     }
     catch (Exception ex)
     {
         LogClient.LogHelper.LogError("MOCache", "UpdateMOStauts", ex.ToString());
     }
 }
Пример #3
0
        public void Test()
        {
            string spnumber = "12345";
            var    gateway  = GatewayConfigDB.GetConfigs().FirstOrDefault();

            Assert.IsNotNull(gateway);
            MOSMS mo = new MOSMS(gateway.Gateway, System.Guid.NewGuid().ToString(),
                                 new DateTime(2016, 4, 1), "测试短信上行", "123214", spnumber, "test");

            var b = DeliverMODB.Add(mo);

            Assert.IsTrue(b);
            var l = DeliverMODB.Gets(spnumber, new DateTime(2016, 3, 1), new DateTime(2016, 4, 30));

            Assert.IsTrue(l.Count > 0);

            b = DeliverMODB.Del(spnumber);
            Assert.IsTrue(b);

            l = DeliverMODB.Gets(spnumber, new DateTime(2016, 3, 1), new DateTime(2016, 4, 30));
            Assert.IsTrue(l.Count == 0);
        }
Пример #4
0
        public void LoadMOCache()
        {
            var list = DeliverMODB.GetMOCache();

            list.ForEach(mo =>
            {
                if (!string.IsNullOrWhiteSpace(mo.AccountID))
                {
                    if (!Cache.ContainsKey(mo.AccountID))
                    {
                        Cache.Add(mo.AccountID, new List <MOSMS>()
                        {
                            mo
                        });
                    }
                    else
                    {
                        Cache[mo.AccountID].Add(mo);
                    }
                }
            });
        }
Пример #5
0
 /// <summary>
 /// 用户上行短信(数据库获取)
 /// </summary>
 /// <param name="spNumber"></param>
 /// <param name="beginTime"></param>
 /// <param name="endTime"></param>
 /// <returns></returns>
 public RPCResult <List <MOSMS> > GetMOSMS(string spNumber, DateTime beginTime, DateTime endTime)
 {
     try
     {
         if (DateTime.Compare(beginTime, endTime) > 0)
         {
             DateTime dt = beginTime;
             beginTime = endTime;
             endTime   = dt;
         }
         if (DateTime.Compare(endTime, DateTime.Now) > 0)
         {
             endTime = DateTime.Now;
         }
         List <MOSMS> mo = DeliverMODB.Gets(spNumber, beginTime, endTime);
         return(new RPCResult <List <MOSMS> >(true, mo, ""));
     }
     catch (Exception ex)
     {
         LogHelper.LogError("StatusReport", "StatusReportService.GetMOSMS", ex.ToString());
         return(new RPCResult <List <MOSMS> >(false, null, "获取短信报告出现异常"));
     }
 }