Exemple #1
0
        public static bool Add(MOSMS mo)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into DeliverMO(");
            strSql.Append("SPNumber,UserNumber,ReceiveTime,SerialNumber,Gateway,MessageContent,Service)");
            strSql.Append(" values (");
            strSql.Append("@SPNumber,@UserNumber,@ReceiveTime,@Serial,@Gateway,@Message,@Service)");
            DBHelper.Instance.Execute(strSql.ToString(), mo);
            return(true);
        }
Exemple #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());
     }
 }
Exemple #3
0
        public SendResult SendSMS(PlainSMS sms)
        {
            var r = ran.Next(100);

            if (r < 10)
            {
                //十分之一提交失败
                return(new SendResult()
                {
                    Message = "提交失败",
                    SerialNumber = System.Guid.NewGuid().ToString(),
                    StatusCode = 2099,
                    Success = false
                });
            }


            var sr = new SendResult()
            {
                Message      = "提交成功",
                Success      = true,
                SerialNumber = System.Guid.NewGuid().ToString(),
                StatusCode   = 2000
            };

            smslist.Add(sr.SerialNumber, sms);
            lock (this)
            {
                foreach (var num in sms.Numbers.Split(','))
                {
                    r = ran.Next(100);
                    if (r > 50)
                    {
                        var mo = new MOSMS()
                        {
                            Gateway      = Config.GatewayName,
                            SerialNumber = System.Guid.NewGuid().ToString(),
                            Message      = "回复:" + sms.Content,
                            UserNumber   = num,
                            ReceiveTime  = DateTime.Now
                        };
                        molist.Add(mo);
                    }
                }
            }
            return(sr);
        }
Exemple #4
0
        static MOSMS DataRowToMOSMS(DataRow row)
        {
            string   gateway     = "";
            string   serial      = "";
            DateTime receiveTime = DateTime.MinValue;
            string   message     = "";
            string   userNumber  = "";
            string   spNumber    = "";
            string   service     = "";

            if (row != null)
            {
                if (row["SPNumber"] != null)
                {
                    spNumber = row["SPNumber"].ToString();
                }
                if (row["UserNumber"] != null)
                {
                    userNumber = row["UserNumber"].ToString();
                }
                if (row["ReceiveTime"] != null && row["ReceiveTime"].ToString() != "")
                {
                    receiveTime = DateTime.Parse(row["ReceiveTime"].ToString());
                }
                if (row["Serial"] != null)
                {
                    serial = row["Serial"].ToString();
                }
                if (row["Gateway"] != null)
                {
                    gateway = row["Gateway"].ToString();
                }
                if (row["MessageContent"] != null)
                {
                    message = row["MessageContent"].ToString();
                }
                if (row["Service"] != null)
                {
                    service = row["Service"].ToString();
                }
            }
            MOSMS model = new MOSMS(gateway, serial, receiveTime, message, userNumber, spNumber, service);

            return(model);
        }
Exemple #5
0
 public void AddMOCache(MOSMS mo)
 {
     if (string.IsNullOrWhiteSpace(mo.AccountID))
     {
         return;
     }
     lock (locker)
     {
         if (!Cache.ContainsKey(mo.AccountID))
         {
             Cache.Add(mo.AccountID, new List <MOSMS>()
             {
                 mo
             });
         }
         else
         {
             Cache[mo.AccountID].Add(mo);
         }
     }
 }
Exemple #6
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);
        }
Exemple #7
0
        public static bool Add(MOSMS mo)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into DeliverMO(");
            strSql.Append("SPNumber,UserNumber,ReceiveTime,Serial,Gateway,MessageContent,Service)");
            strSql.Append(" values (");
            strSql.Append("@SPNumber,@UserNumber,@ReceiveTime,@Serial,@Gateway,@MessageContent,@Service)");
            MySqlParameter[] parameters =
            {
                new MySqlParameter("@SPNumber",       MySqlDbType.VarChar,   32),
                new MySqlParameter("@UserNumber",     MySqlDbType.VarChar,   32),
                new MySqlParameter("@ReceiveTime",    MySqlDbType.DateTime),
                new MySqlParameter("@Serial",         MySqlDbType.VarChar,   64),
                new MySqlParameter("@Gateway",        MySqlDbType.VarChar,   64),
                new MySqlParameter("@MessageContent", MySqlDbType.Text),
                new MySqlParameter("@Service",        MySqlDbType.VarChar, 256)
            };
            parameters[0].Value = mo.SPNumber;
            parameters[1].Value = mo.UserNumber;
            parameters[2].Value = mo.ReceiveTime;
            parameters[3].Value = mo.Serial;
            parameters[4].Value = mo.Gateway;
            parameters[5].Value = mo.Message;
            parameters[6].Value = mo.Service;
            int rows = DBUtility.MySqlHelper.ExecuteNonQuery(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #8
0
 public DeliverEventArgs(MOSMS mo)
 {
     this.MO = mo;
 }
Exemple #9
0
 public static bool Add(MOSMS mo)
 {
     return(DAL.MO.Add(mo));
 }
Exemple #10
0
        /// <summary>
        /// 更新获取状态
        /// </summary>
        /// <param name="mo"></param>
        public static void UpdateMOStatus(MOSMS mo)
        {
            string sql = "update DeliverMO set Status=1 where SerialNumber= @SerialNumber";

            DBHelper.Instance.Execute(sql, mo);
        }