예제 #1
0
        /// <summary>
        /// 发送模板消息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public int SendTmp(BCJ_TMP_DETAIL request, string access_token)
        {
            //得到配置文件
            List <WX_TMP_CONFIG> config = _bcjstor.GetTmps(request.Template_Code);


            if (config == null || config.Count <= 0)
            {
                return(-1);
            }

            Dictionary <string, TemplateData> dic = CommonHelp.GetTmpPar(request, config);

            TemplateSend tmp = new TemplateSend()
            {
                Url         = "",
                Template_Id = request.Template_Code,
                Touser      = request.Contact_Information,
                Data        = dic
            };

            string tmpStr = JsonConvert.SerializeObject(tmp);

            bool issend   = false;
            bool isselect = false;

            //如果是实时接口就调用发送模板
            if (request.IsRealTime)
            {
                isselect = true;
                string resot = NetHelper.HttpRequest("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
                                                     + access_token, tmpStr, "POST", 2000, Encoding.UTF8, "application/json");

                //如果发送成功
                if (resot.Contains("ok"))
                {
                    issend = true;
                }
            }

            //记录发送的
            WX_TMP_HIS log = new WX_TMP_HIS()
            {
                DETAIL        = tmpStr,
                OPENID        = request.Contact_Information,
                CAMPAIGN_CODE = request.Campaign_Code,
                DATA_SOURCE   = request.Data_source,
                CAMPAIGN_NAME = request.Campaign_Name,
                INVOKE_TIME   = request.Invoke_Time,
                ISREAL_TIME   = request.IsRealTime,
                IS_SEND       = issend,
                LOYALTY_BRAND = request.Loyalty_Brand,
                SEND_TIME     = request.Send_Time,
                VGROUP        = request.Vgroup,
                SOURCE_SYSTEM = request.Data_source,
                TMP_ID        = request.Template_Code,
                IS_SELECT     = isselect
            };

            long count = _bcjstor.Insert(log);

            return(1);
        }
예제 #2
0
 /// <summary>
 /// 插入发送日志
 /// </summary>
 /// <param name="template_Id"></param>
 /// <param name="url"></param>
 /// <param name="touser"></param>
 /// <param name="tmpStr"></param>
 /// <returns></returns>
 public int InsertLog(WX_TMP_HIS his)
 {
     return((int)_bcjstor.Insert(his));
 }