예제 #1
0
        /// <summary>
        /// 发送模版消息
        /// </summary>
        /// <param name="templateMsg">发送消息内容</param>
        /// <param name="config">配置</param>
        /// <returns>结果</returns>
        public static Result SendTemplateMessage <T>(TemplateMsg <T> templateMsg, Config config)
        {
            Result            res        = new Result();
            var               configData = config;
            string            url        = TenpayUtil.GetTemplateUrl(configData, false);
            var               strSendRes = HttpHelp.PostXmlToUrl(url, JsonConvert.SerializeObject(templateMsg));
            TemplateMsgResult sendRes    = JsonConvert.DeserializeObject <TemplateMsgResult>(strSendRes);

            res.IsSucceed = sendRes.ErrorMsg.Trim().ToLower() == "ok";
            res.Message   = sendRes.ErrorMsg;
            if (sendRes.ErrorCode == 40001)
            {
                string            url1        = TenpayUtil.GetTemplateUrl(configData, true);
                var               strSendRes1 = HttpHelp.PostXmlToUrl(url1, JsonConvert.SerializeObject(templateMsg));
                TemplateMsgResult sendRes1    = JsonConvert.DeserializeObject <TemplateMsgResult>(strSendRes1);
                res.IsSucceed = sendRes1.ErrorMsg.Trim().ToLower() == "ok";
                res.Message   = sendRes1.ErrorMsg;
            }
            return(res);
        }