private void SaveInfo()
        {
            ShortMessageTemplateModel model = null;

            if (this.CurrentId > 0)
            {
                model = ShortMessageTemplateBLL.Instance.GetModel(this.CurrentId);
            }
            else
            {
                model = new ShortMessageTemplateModel();
            }
            model.SceneType = Convert.ToInt16(dllSceneType.SelectedValue);
            model.Status    = Convert.ToInt16(ddlStatus.SelectedValue);
            model.Template  = txtTemplate.Value;
            model.Id        = this.CurrentId;

            if (this.CurrentId > 0)
            {
                ShortMessageTemplateBLL.Instance.Update(model);
                MessageBoxHelper.ResponseScript(this.Page, "updateSuccessCallback();");
            }
            else
            {
                if (ShortMessageTemplateBLL.Instance.Exsit(model.SceneType))
                {
                    MessageBoxHelper.ResponseScript(this.Page, "showError('当前场景配置信息已经存在,不允许新增');");
                    return;
                }
                model.CreateTime = DateTime.Now;
                ShortMessageTemplateBLL.Instance.Add(model);
                MessageBoxHelper.ResponseScript(this.Page, "addSuccessCallback();");
            }
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(ShortMessageTemplateModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update HQ_Sms_Template set ");
            strSql.Append("SceneType=@SceneType,");
            strSql.Append("Template=@Template,");
            strSql.Append("CreateTime=@CreateTime,");
            strSql.Append("Status=@Status");
            strSql.Append(" where Id=@Id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SceneType",  SqlDbType.SmallInt,   2),
                new SqlParameter("@Template",   SqlDbType.VarChar,   -1),
                new SqlParameter("@CreateTime", SqlDbType.DateTime),
                new SqlParameter("@Status",     SqlDbType.SmallInt,   2),
                new SqlParameter("@Id",         SqlDbType.Int, 4)
            };
            parameters[0].Value = model.SceneType;
            parameters[1].Value = model.Template;
            parameters[2].Value = model.CreateTime;
            parameters[3].Value = model.Status;
            parameters[4].Value = model.Id;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(ShortMessageTemplateModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into HQ_Sms_Template(");
            strSql.Append("SceneType,Template,CreateTime,Status)");
            strSql.Append(" values (");
            strSql.Append("@SceneType,@Template,@CreateTime,@Status)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SceneType",  SqlDbType.SmallInt,   2),
                new SqlParameter("@Template",   SqlDbType.VarChar,   -1),
                new SqlParameter("@CreateTime", SqlDbType.DateTime),
                new SqlParameter("@Status",     SqlDbType.SmallInt, 2)
            };
            parameters[0].Value = model.SceneType;
            parameters[1].Value = model.Template;
            parameters[2].Value = model.CreateTime;
            parameters[3].Value = model.Status;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public ShortMessageTemplateModel DataRowToModel(DataRow row)
        {
            ShortMessageTemplateModel model = new ShortMessageTemplateModel();

            if (row != null)
            {
                if (row["Id"] != null && row["Id"].ToString() != "")
                {
                    model.Id = int.Parse(row["Id"].ToString());
                }
                if (row["SceneType"] != null && row["SceneType"].ToString() != "")
                {
                    model.SceneType = int.Parse(row["SceneType"].ToString());
                }
                if (row["Template"] != null)
                {
                    model.Template = row["Template"].ToString();
                }
                if (row["CreateTime"] != null && row["CreateTime"].ToString() != "")
                {
                    model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
                }
                if (row["Status"] != null && row["Status"].ToString() != "")
                {
                    model.Status = int.Parse(row["Status"].ToString());
                }
            }
            return(model);
        }
 private void LoadDetail()
 {
     if (this.CurrentId > 0)
     {
         ShortMessageTemplateModel model = ShortMessageTemplateBLL.Instance.GetModel(this.CurrentId);
         if (model != null)
         {
             dllSceneType.SelectedValue = model.SceneType.ToString();
             ddlStatus.SelectedValue    = model.Status.ToString();
             txtTemplate.Value          = model.Template;
         }
         dllSceneType.Enabled = false;
     }
 }
Exemple #6
0
        /// <summary>
        /// 给指定会员发送短消息
        /// </summary>
        /// <param name="toMobile">发送的手机号码</param>
        /// <param name="data">消息内容</param>
        /// <param name="errmsg">错误信息</param>
        /// <returns>是否成功</returns>
        public static bool Send(string toMobile, ShortMessageBase data, out string errmsg)
        {
            errmsg = "";
            try
            {
                //1、场景获得
                HQEnums.SmsSceneOptions scene = data.GetFitedScene();

                //2、获取对应的模板消息
                ShortMessageTemplateModel configInfo = ShortMessageTemplateBLL.Instance.GetModelBySceneType((int)scene);
                if (configInfo == null)
                {
                    errmsg = "没有找到对应的配置";
                    return(false);
                }

                if (configInfo.Status != 1)
                {
                    errmsg = "配置未启用";
                    return(false);
                }

                string msgContent = configInfo.Template;
                if (msgContent.Trim() == "")
                {
                    errmsg = "模板为空";
                    return(false);
                }

                //3、反射读取当前对象的所有属性的值,替换模板
                System.Reflection.PropertyInfo[] propertys = data.GetType().GetProperties();
                foreach (System.Reflection.PropertyInfo p in propertys)
                {
                    string name   = p.Name;
                    object objval = p.GetValue(data, null);
                    msgContent = msgContent.Replace("{" + name + "}", objval == null ? "" : objval.ToString());
                }

                //4、发送
                SmsProviderFactory.GetSmsProvider().SendSms(toMobile, msgContent, out errmsg);
                LogHelper.Write(string.Format("SendSms-->手机:{0},发送内容:{1} {2}", toMobile, msgContent, errmsg));
                return(true);
            }
            catch (Exception ex)
            {
                errmsg = string.Format("发送短信异常(ShortMessageDispatcher->Send):{0}", ex.Message);
                return(false);
            }
        }
        /// <summary>
        /// 根据场景和商户号获得模板信息
        /// </summary>
        /// <param name="sceneType"></param>
        /// <returns></returns>
        public ShortMessageTemplateModel GetModelBySceneType(int sceneType)
        {
            string sql = string.Format("SELECT TOP 1 * FROM HQ_Sms_Template WHERE SceneType={0}  ORDER BY iD DESC", sceneType);

            ShortMessageTemplateModel model = new ShortMessageTemplateModel();
            DataSet ds = DbHelperSQL.Query(sql);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public ShortMessageTemplateModel GetModel(int Id)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 * from HQ_Sms_Template ");
            strSql.Append(" where Id=@Id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@Id", SqlDbType.Int, 4)
            };
            parameters[0].Value = Id;

            ShortMessageTemplateModel model = new ShortMessageTemplateModel();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(ShortMessageTemplateModel model)
 {
     return(dal.Update(model));
 }
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Add(ShortMessageTemplateModel model)
 {
     return(dal.Add(model));
 }