public void AddSMSHistoryTest()
        {
            SMS sms = GetSMS();
            var b   = ReportStatisticsDB.AddSMSHistory(sms);

            Assert.IsTrue(b);
        }
Beispiel #2
0
        /// <summary>
        /// 获取全部账号统计报告ISMP 使用
        /// </summary>
        /// <param name="account"></param>
        /// <param name="beginTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        public RPCResult <List <ReportStatistics> > GetStatisticsReportAll(DateTime beginTime, DateTime endTime)
        {
            DateTime cacheBeginTime = DateTime.MaxValue;

            if (DateTime.Compare(beginTime, endTime) > 0)
            {
                DateTime dt = beginTime;
                beginTime = endTime;
                endTime   = dt;
            }
            if (DateTime.Compare(endTime, DateTime.Now) > 0)
            {
                endTime = DateTime.Now;
            }

            List <string> list    = ReportStatisticsDB.GetTables();
            var           maxdate = list.Max(s => DateTime.Parse(s.Remove(0, 17).Insert(4, "-").Insert(7, "-")));

            if (DateTime.Compare(endTime, maxdate) > 0)
            {
                endTime = maxdate;
            }
            var mindate = list.Min(s => DateTime.Parse(s.Remove(0, 17).Insert(4, "-").Insert(7, "-")));

            if (DateTime.Compare(beginTime, mindate) < 0)
            {
                beginTime = mindate;
            }
            List <ReportStatistics> dbRS = ReportStatisticsDB.GetStatisticsByDate(beginTime, endTime);

            return(new RPCResult <List <ReportStatistics> >(true, dbRS, ""));
        }
Beispiel #3
0
 void CreateTable()
 {
     try
     {
         if (operatorFlag)
         {
             string tableName = "SMSStatusReport_" + DateTime.Now.AddDays(1).ToString("yyyyMMdd");
             if (!statusReportTables.Contains(tableName.ToLower()))
             {
                 StatusReportDB.CloneTable(tableName);
                 statusReportTables.Add(tableName.ToLower());
             }
             tableName = "ReportStatistics_" + DateTime.Now.AddDays(1).ToString("yyyyMMdd");
             if (!statisticsReportTables.Contains(tableName.ToLower()))
             {
                 ReportStatisticsDB.CloneTable(tableName);
                 statisticsReportTables.Add(tableName.ToLower());
             }
         }
     }
     catch
     {
         operatorFlag = true;
     }
 }
        public void GetReportStatisticsTest()
        {
            SMS sms = GetSMS();
            var b   = ReportStatisticsDB.AddSMSHistory(sms);

            Assert.IsTrue(b);
            var r = ReportStatisticsDB.GetReportStatistics(sms.SerialNumber, sms.SendTime);

            Assert.IsNotNull(r);
        }
 /// <summary>
 /// 查看短信统计报告
 /// </summary>
 /// <param name="serialNumber"></param>
 /// <returns></returns>
 public RPCResult <ReportStatistics> GetReportStatistics(string smsid, DateTime sendTime)
 {
     try
     {
         var rs = ReportStatisticsDB.GetReportStatistics(smsid, sendTime);
         return(new RPCResult <ReportStatistics>(true, rs, ""));
     }
     catch (Exception ex)
     {
         LogHelper.LogError("StatusReport", "StatusReportService.GetReportStatistics", ex.ToString());
         return(new RPCResult <ReportStatistics>(false, null, "获取统计报告失败"));
     }
 }
Beispiel #6
0
 private static bool frSMSOriginal_ReceiveMessage(RabbitMQHelper mq, string message)
 {
     try
     {
         var rs = JsonSerialize.Instance.Deserialize <ReportStatistics>(message);
         ReportStatisticsDB.AddSMSHistory(rs);
     }
     catch (Exception ex)
     {
         LogClient.LogHelper.LogError("StatusReport", "StatusReportHost.frSMSOriginal_ReceiveMessage", ex.ToString());
     }
     return(true);
 }
        public void UpdateTest()
        {
            SMS sms = GetSMS();
            var b   = ReportStatisticsDB.AddSMSHistory(sms);

            Assert.IsTrue(b);
            var r = ReportStatisticsDB.GetReportStatistics(sms.SerialNumber, sms.SendTime);

            Assert.IsNotNull(r);
            ReportStatistics rs = new ReportStatistics()
            {
                SerialNumber = sms.SerialNumber,
                SendCount    = 100,
                SendTime     = sms.SendTime
            };

            b = ReportStatisticsDB.Update("account", rs);
            Assert.IsTrue(b);
        }
Beispiel #8
0
        /// <summary>
        /// 统计报告表
        /// </summary>
        void LoadStatisticsReportTables()
        {
            List <string> tables = ReportStatisticsDB.GetTables();

            if (tables.Count == 0)
            {
                string name = "ReportStatistics_" + DateTime.Now.ToString("yyyyMMdd");
                ReportStatisticsDB.CloneTable(name);
                statisticsReportTables.Add(name.ToLower());
                return;
            }
            int min = 99991231;

            foreach (var table in tables)
            {
                statisticsReportTables.Add(table.ToLower());
                if (min > int.Parse(table.Remove(0, 17)))
                {
                    min = int.Parse(table.Remove(0, 17));
                }
            }
            string date = min.ToString();

            date = date.Insert(4, "-");
            date = date.Insert(7, "-");
            DateTime beginTime = DateTime.Parse(date).AddDays(1);

            while (DateTime.Compare(DateTime.Now, beginTime) > 0)
            {
                string name = "ReportStatistics_" + beginTime.ToString("yyyyMMdd");
                if (!statisticsReportTables.Contains(name.ToLower()))
                {
                    ReportStatisticsDB.CloneTable(name);
                    statisticsReportTables.Add(name.ToLower());
                }
                beginTime = beginTime.AddDays(1);
            }
        }
Beispiel #9
0
 internal void Send(SMSDTO sms)
 {
     ReportStatisticsDB.AddSMSHistory(new ReportStatistics(sms.Message));
     fqSMS.PublishMessage(JsonConvert.SerializeObject(sms), sms.Message.SMSLevel);
 }
Beispiel #10
0
        /// <summary>
        /// 获取状态报告
        /// </summary>
        /// <param name="account"></param>
        /// <param name="beginTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        public RPCResult <List <ReportStatistics> > GetStatisticsReportByAccount(string accountID, DateTime beginTime, DateTime endTime)
        {
            var r = ReportStatisticsDB.GetStatisticsByAccount(accountID, beginTime, endTime);

            return(new RPCResult <List <ReportStatistics> >(true, r, ""));
        }
        public void GetSMSStatisticsByAccountTest()
        {
            var r = ReportStatisticsDB.GetSMSStatisticsByAccount("account", new DateTime(2016, 4, 28), DateTime.Now);

            Assert.IsTrue(r.Length > 0);
        }
        public void GetStatisticsByDateTest()
        {
            var r = ReportStatisticsDB.GetStatisticsByDate(new DateTime(2016, 4, 28), DateTime.Now);

            Assert.IsTrue(r.Count > 0);
        }
        public void GetTablesTest()
        {
            var l = ReportStatisticsDB.GetTables();

            Assert.IsTrue(l.Count > 0);
        }
Beispiel #14
0
 public static void Send(SMSDTO sms)
 {
     ReportStatisticsDB.AddSMSHistory(new ReportStatistics(sms.Message));
 }