Example #1
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);

            if (result)
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                if (resultModel.errcode == 0)
                {
                    UpdatePushStatus(contentModel);
                    UpdateIsReadStatus(contentModel, resultModel.invaliduser);
                }
                return(pushResult);
            }
            else
            {
                return("推送失败!");
            }
        }
Example #2
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = new U_UploadResult();

            //比较微信用户列表与要推送人员列表
            //List<U_WeChatUser> pushPersonListOk = weChatUserList.Join(contentModel.PushObject, c => c.mobile, b => b.PhoneNumber, (c, b) => c).ToList();
            if (result)
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                UpdatePushStatus(contentModel);
                if (resultModel.errcode == 0)
                {
                    UpdateIsReadStatus(contentModel, resultModel.invaliduser);
                }
                else
                {
                    LogManager.WriteLog(LogFile.Error, "文本推送" + resultModel.errcode + resultModel.errmsg);
                }
                return(pushResult);
            }
            else
            {
                return("推送失败!");
            }
        }
Example #3
0
        protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel)
        {
            string revenueUrl     = ConfigSugar.GetAppString("OpenHttpAddress") + "/WeChatPush/WeChatRevenue/RevenuePay?Vguid=" + contentModel.VGUID; //营收支付页面
            string fixedAmountUrl = ConfigSugar.GetAppString("OpenHttpAddress") + "/WeChatPush/WeChatRevenue/FixedPay?Vguid=" + contentModel.VGUID;   //营收支付页面
            string url            = string.Format(_oAuthUrl, ConfigSugar.GetAppString("WeChatCorpID"), contentModel.RevenueType == 1 ? fixedAmountUrl : revenueUrl);

            ////企业获取Code
            //string code = GetCorpCode();
            //List<U_WeChatUser> weChatUserList = SearchWeChatUserList();
            //string pushObject = GetPushObject(contentModel, weChatUserList);
            string pushObject     = GetPushObject(contentModel);
            string responeJsonStr = "";

            responeJsonStr  = "{";
            responeJsonStr += "\"touser\": \"" + pushObject + "\",";
            responeJsonStr += "\"toparty\": \"\",";
            responeJsonStr += "\"totag\": \"\",";
            responeJsonStr += "\"msgtype\": \"news\",";
            responeJsonStr += "\"agentid\":\"" + ConfigSugar.GetAppString("WeChatAgentID") + "\",";
            responeJsonStr += "\"news\": {";
            responeJsonStr += "\"articles\":[";
            responeJsonStr += " {";
            responeJsonStr += "\"title\": \"" + contentModel.Title + "\",";
            responeJsonStr += "\"description\": \"" + contentModel.CoverDescption + "\",";
            responeJsonStr += "\"url\": \"" + url + "\",";
            responeJsonStr += "\"picurl\": \"" + ConfigSugar.GetAppString("OpenHttpAddress") + contentModel.CoverImg + "\",";
            responeJsonStr += "}";
            responeJsonStr += "]";
            responeJsonStr += "}";
            responeJsonStr += "}";
            return(responeJsonStr);
        }
Example #4
0
        protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel)
        {
            string knowledgeBaseUrl = ConfigSugar.GetAppString("OpenHttpAddress") + "/KnowledgeBaseManagement/WeChatKnowledge/KnowledgeBase?Vguid=" + contentModel.VGUID;//跳转知识库界面Url

            string url = string.Format(_oAuthUrl, ConfigSugar.GetAppString("WeChatCorpID"), knowledgeBaseUrl);
            ////企业获取Code
            //string code = GetCorpCode();
            //List<U_WeChatUser> weChatUserList = SearchWeChatUserList();
            //string pushObject = GetPushObject(contentModel, weChatUserList);
            string pushObject     = GetPushObject(contentModel);
            string responeJsonStr = "";

            responeJsonStr  = "{";
            responeJsonStr += "\"touser\": \"" + pushObject + "\",";
            responeJsonStr += "\"toparty\": \"\",";
            responeJsonStr += "\"totag\": \"\",";
            responeJsonStr += "\"msgtype\": \"news\",";
            responeJsonStr += "\"agentid\":\"" + ConfigSugar.GetAppString("WeChatAgentID") + "\",";
            responeJsonStr += "\"news\": {";
            responeJsonStr += "\"articles\":[";
            responeJsonStr += " {";
            responeJsonStr += "\"title\": \"" + contentModel.Title + "\",";
            responeJsonStr += "\"description\": \"" + contentModel.CoverDescption + "\",";
            responeJsonStr += "\"url\": \"" + url + "\",";
            responeJsonStr += "\"picurl\": \"" + ConfigSugar.GetAppString("OpenHttpAddress") + contentModel.CoverImg + "\",";
            responeJsonStr += "}";
            responeJsonStr += "]";
            responeJsonStr += "}";
            responeJsonStr += "}";
            return(responeJsonStr);
        }
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);

            if (!result)
            {
                return("推送失败!");
            }
            string pushResult;

            try
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                pushResult = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                if (resultModel.errcode != 0)
                {
                    LogManager.WriteLog(LogFile.Error, "协议推送:" + resultModel.errcode + resultModel.errmsg);
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(LogFile.Error, ex.ToString());
                pushResult = "推送失败!";
            }
            UpdatePushStatus(contentModel);
            UpdateIsReadStatus(contentModel);
            return(pushResult);
        }
Example #6
0
        protected string GetPushJson(U_UploadResult uploadResult, List <U_Content> contentModels)
        {
            string pushUrl        = string.Empty;
            string url            = string.Empty;
            string responeJsonStr = "";
            List <U_WeChatUser> weChatUserList = SearchWeChatUserList();
            string pushObject = GetPushObject(contentModels[0], weChatUserList);

            responeJsonStr  = "{";
            responeJsonStr += "\"touser\": \"" + pushObject + "\",";
            responeJsonStr += "\"toparty\": \"\",";
            responeJsonStr += "\"totag\": \"\",";
            responeJsonStr += "\"msgtype\": \"news\",";
            responeJsonStr += "\"agentid\":\"" + ConfigSugar.GetAppString("WeChatAgentID") + "\",";
            responeJsonStr += "\"news\": {";
            responeJsonStr += "\"articles\":[";
            foreach (var content in contentModels)
            {
                pushUrl         = ConfigSugar.GetAppString("OpenHttpAddress") + "/WeChatPush/PushDetail/PushDetail?Vguid=" + content.VGUID;//跳转推送内容界面Url
                url             = string.Format(_oAuthUrl, ConfigSugar.GetAppString("WeChatCorpID"), pushUrl);
                responeJsonStr += " {";
                responeJsonStr += "\"title\": \"" + content.Title + "\",";
                responeJsonStr += "\"description\": \"" + content.CoverDescption + "\",";
                responeJsonStr += "\"url\": \"" + url + "\",";
                responeJsonStr += "\"picurl\": \"" + ConfigSugar.GetAppString("OpenHttpAddress") + content.CoverImg + "\"";
                responeJsonStr += "}";
                responeJsonStr += ",";
            }
            responeJsonStr += "]";
            responeJsonStr += "}";
            responeJsonStr += "}";
            return(responeJsonStr);
        }
        /// <summary>
        /// 上传素材
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        protected override U_UploadResult UpLoadSource(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            string         url          = string.Format(_uploadUrl, _accessToken, "image");
            string         resultaa     = UpLoadMediaFile.HttpUploadFile(url, contentModel.Message);
            U_UploadResult uploadResult = new U_UploadResult();

            uploadResult = Common.JsonHelper.JsonToModel <U_UploadResult>(resultaa);
            return(uploadResult);
        }
Example #8
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            SetCorpAccount(accessTokenModel);
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);
            string         postUrl      = string.Format(_sendUrl, _accessToken);
            string         json         = GetPushJson(uploadResult, contentModel);
            //推送
            string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
            U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);

            if (resultModel.errcode == 0)
            {
                UpdatePushStatus(contentModel);
            }

            return(pushResult);
        }
        protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel)
        {
            //List<U_WeChatUser> weChatUserList = SearchWeChatUserList();
            //string pushObject = GetPushObject(contentModel, weChatUserList);
            string pushObject     = GetPushObject(contentModel);
            string responeJsonStr = "";

            responeJsonStr  = "{";
            responeJsonStr += "\"touser\": \"" + pushObject + "\",";
            responeJsonStr += "\"toparty\": \"\",";
            responeJsonStr += "\"totag\": \"\",";
            responeJsonStr += "\"msgtype\": \"image\",";
            responeJsonStr += "\"agentid\":\"" + ConfigSugar.GetAppString("WeChatAgentID") + "\",";
            responeJsonStr += "\"image\": {";
            responeJsonStr += "\"media_id\":\"" + uploadResult.media_id + "\"";
            responeJsonStr += "},";
            responeJsonStr += "\"safe\":\"0\"";
            responeJsonStr += "}";
            return(responeJsonStr);
        }
Example #10
0
        protected override U_UploadResult UpLoadSource(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            U_UploadResult uploadResult = new U_UploadResult();

            return(uploadResult);
        }
 protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel)
 {
     return(null);
 }
Example #12
0
 protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// 通过微信推送类型确定推送的json数据
 /// </summary>
 /// <param name="contentModel"></param>
 protected abstract string GetPushJson(U_UploadResult uploadResult, U_Content contentModel);
Example #14
0
        protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel)
        {
            string responeJsonStr = "";

            return(responeJsonStr);
        }