示例#1
0
 /// <summary>
 /// 统计报告更新(网关返回)
 /// </summary>
 /// <param name="report"></param>
 /// <param name="failureCount"></param>
 static void AddReportAndStatistics(StatusReport report)
 {
     throw new NotImplementedException();
     //记录状态报告
     StatusReportDB.AddStatusReport(report);
     //增加统计
 }
示例#2
0
        public void AddStatusReportTest()
        {
            var accountId = "account";
            SMS sms       = new SMS()
            {
                Account      = "account",
                Audit        = AuditType.Auto,
                AuditTime    = DateTime.Now.ToString(),
                AuditUser    = "******",
                Channel      = "default",
                Content      = "ceshi neirong",
                Level        = LevelType.Level0,
                IsSplit      = true,
                SendTime     = DateTime.Now,
                SerialNumber = System.Guid.NewGuid(),
                Signature    = "【1111】",
                LinkID       = System.Guid.NewGuid().ToString(),
                SPNumber     = "1234",
                StatusReport = StatusReportType.Enabled,
                Extend       = null,
                FailureCase  = "",
                Filter       = FilterType.Failure,
                Number       = new List <string> {
                    "123", "1235", "234"
                },
                NumberCount = 3,
                WapURL      = "wapurl"
            };

            StatusReport report = new StatusReport();

            report.StatusCode  = 3100;
            report.Describe    = "发送成功";
            report.Gateway     = "CMPP";
            report.Message     = sms;
            report.Serial      = sms.SerialNumber.ToString();
            report.SplitNumber = 1;
            report.SplitTotal  = 1;
            report.Succeed     = true;

            var b = StatusReportDB.AddStatusReport(accountId, report);

            Assert.IsTrue(b);
            report.Succeed = false;
            b = StatusReportDB.Update(report);
            Assert.IsTrue(b);

            b = StatusReportDB.CloneTable("statusReport_" + UnitTestDBAccess.Util.GenRandStr(5));
            Assert.IsTrue(b);
            var tables = StatusReportDB.GetTables();

            Assert.IsTrue(tables.Count > 0);

            var sr = StatusReportDB.GetStatusReport(sms.SerialNumber, DateTime.Now);

            Assert.IsTrue(sr.Count > 0);
        }
示例#3
0
        public void AddStatusReport(StatusReport sr)
        {
            int status = sr.StatusCode - (sr.StatusCode / 1000) * 1000;

            if (status < 100)  //发送时
            {
                StatusReportDB.AddStatusReport(sr);
                if (!sr.Succeed && sr.StatusReportType > 0)
                {
                    AddStatusReportCache(sr);
                }
            }
            else  //返回时
            {
                StatusReportDB.UpdateStatusReport(sr);
                if (sr.StatusReportType > 0)
                {
                    AddStatusReportCache(sr);
                }
            }
        }