/// <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("推送失败!"); } }
/// <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("推送失败!"); } }
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); }
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); }
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); }
/// <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); }
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); }
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);
protected override string GetPushJson(U_UploadResult uploadResult, U_Content contentModel) { string responeJsonStr = ""; return(responeJsonStr); }