Example #1
0
 /// <summary>
 /// 发送模板消息_已知ODS账户,需要获取ODS对应微信用户OpenID
 /// 需要转换消息内容json文本为WCTemplateAction
 /// </summary>
 /// <param name="strAccount">目标ODS账户</param>
 /// <param name="strTemplateID"></param>
 /// <param name="strURL"></param>
 /// <param name="strTemData"></param>
 /// <param name="pDlgGetOpenIDByAccount">通过ODSAccount获取OPenID委托</param>
 public void SendTemplateMessage(string strAccount, string strTemplateID, string strURL, string strTemData, DlgCommonString pDlgGetOpenIDByAccount)
 {
     this.ExecuteTryCatch(() =>
     {
         //检查服务输入信息,并通过ods账户获取微信用户openid
         //由于,模板消息不能大量发送,因此并发性较低,因此,采用直连数据库获取信息
         string strOpenID = CheckAccountInfo(strAccount, strTemplateID, strURL, strTemData, pDlgGetOpenIDByAccount);
         //Json转换为WCTemplateAction实体
         WCTemplateAction pEntity = FromJsonToMatch(strTemData);
         //发送模板消息
         EG.WeChat.Service.WeiXin.WeixinMessageSender.SendTemplateMessage <WCTemplateAction>(strOpenID, strTemplateID, System.Drawing.Color.AliceBlue, strURL, pEntity);
     });
 }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        private WCTemplateAction FromJsonToMatch(string jsonString)
        {
            JObject          jo       = (JObject)JsonConvert.DeserializeObject(jsonString);
            WCTemplateAction entity   = new WCTemplateAction();
            string           strValue = string.Empty;
            //使用反射根据对象获取属性集
            //Type typeEntity = entity.GetType();
            Type typeEntity = typeof(WCTemplateAction);

            PropertyInfo[] propertyInfos = typeEntity.GetProperties();
            //为每个属性设置数据行中的相应值
            foreach (PropertyInfo info in propertyInfos)
            {
                if (jo.Property(info.Name) == null || jo.Property(info.Name).ToString() == "")
                {
                    continue;
                }
                strValue = jo[info.Name].ToString();
                //info.SetValue(entity, propertyValue, null);
                info.SetValue(entity, new Senparc.Weixin.MP.AdvancedAPIs.TemplateMessage.TemplateDataItem(strValue), null);
            }
            return(entity);
        }
Example #3
0
 /// <summary>
 /// 初始化
 /// </summary>
 public WCTemplateBindingA()
 {
     TemData = new WCTemplateAction();
 }
Example #4
0
 /// <summary>
 /// 发送模板消息——已知OpenID参数
 /// </summary>
 /// <param name="strOpenID">目标微信用户OpenID</param>
 /// <param name="strTemplateID"></param>
 /// <param name="strURL"></param>
 /// <param name="pTemAction"></param>
 public void SendTemplateMessage(string strOpenID, string strTemplateID, string strURL, WCTemplateAction pTemAction)
 {
     this.ExecuteTryCatch(() =>
     {
         //检查输入信息
         CheckOpenIDInfo(strOpenID, strTemplateID, strURL);
         //发送模板消息
         EG.WeChat.Service.WeiXin.WeixinMessageSender.SendTemplateMessage <WCTemplateAction>(strOpenID, strTemplateID, System.Drawing.Color.AliceBlue, strURL, pTemAction);
     });
 }