private bool DoAdd(out string errmsg) { Model.weixin_request_rule model = new Model.weixin_request_rule(); BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); model.name = "语音回复"; model.request_type = 1; model.response_type = 3; model.keywords = txtKeywords.Text.Trim(); model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0); model.sort_id = Utils.StrToInt(txtSortId.Text.Trim(), 99); List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); //上传素材到微信服务器 string mediaId = new API.Weixin.Common.CRMComm().UploadForeverMedia(Utils.GetMapPath(txtImgUrl.Text.Trim()), out errmsg); if (!string.IsNullOrEmpty(errmsg)) { return(false); } ls.Add(new Model.weixin_request_content() { account_id = model.account_id, title = txtTitle.Text.Trim(), img_url = txtImgUrl.Text.Trim(), media_id = mediaId, media_url = txtMediaUrl.Text.Trim(), meida_hd_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim() }); model.contents = ls; if (bll.Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信语音回复,关健字:" + model.keywords); //记录日志 errmsg = string.Empty; return(true); } errmsg = "保存过程中出错!"; return(false); }
private bool DoEdit(int _id, out string errmsg) { API.Weixin.Common.CRMComm wxComm = new API.Weixin.Common.CRMComm(); BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); Model.weixin_request_rule model = bll.GetModel(_id); model.account_id = Utils.StrToInt(ddlAccountId.SelectedValue, 0); model.keywords = txtKeywords.Text.Trim(); model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0); model.sort_id = Utils.StrToInt(txtSortId.Text.Trim(), 99); //判断是否需要重新上传素材 string mediaId = model.contents[0].media_id; if (model.contents[0].img_url != txtImgUrl.Text.Trim()) { if (!string.IsNullOrEmpty(mediaId)) { wxComm.DeleteForeverMedia(model.account_id, mediaId, out errmsg); //删除永久素材 } mediaId = wxComm.UploadForeverMedia(model.account_id, Utils.GetMapPath(txtImgUrl.Text.Trim()), out errmsg); //重新上传素材 } List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = model.account_id, rule_id = model.id, title = txtTitle.Text.Trim(), img_url = txtImgUrl.Text.Trim(), media_id = mediaId, media_url = txtMediaUrl.Text.Trim(), meida_hd_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim() }); model.contents = ls; if (bll.Update(model)) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改微信语音回复,关健字:" + model.keywords); //记录日志 errmsg = string.Empty; return(true); } errmsg = "保存过程中出错!"; return(false); }
//微信推送 protected void btnWxPost_Click(object sender, EventArgs e) { ChkAdminLevel("channel_" + this.channel_name + "_list", DTEnums.ActionEnum.Edit.ToString()); //检查权限 //检查该微信公众号是否开启消息推送功能 Model.weixin_account wxModel = new BLL.weixin_account().GetModel(); if (wxModel == null || wxModel.is_push == 0) { JscriptMsg("微信账户未开启消息推送!", string.Empty); return; } string errmsg = string.Empty; //错误消息 string linkdomain = GetLinkDomain(); //链接网址 List <Model.article> artls = new List <Model.article>(); //选中文章的实体 API.Weixin.Common.CRMComm wxComm = new API.Weixin.Common.CRMComm(); List <Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel> ls = new List <Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel>(); BLL.article bll = new BLL.article(); Repeater rptList = new Repeater(); if (this.rptList1.Visible == true) { rptList = this.rptList1; } else { rptList = this.rptList2; } for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { Model.article model = bll.GetWXModel(id); //获取文章实体 if (model == null || string.IsNullOrEmpty(model.img_url.Trim())) { JscriptMsg("错误:所选择信息有些没有图片!", string.Empty); return; } artls.Add(model); } } //判断是否超出推送的数量 if (artls.Count == 0 || artls.Count > 10) { JscriptMsg("错误:推送消息数量应在1-10条范围!", string.Empty); return; } //上传及群发消息 foreach (Model.article modelt in artls) { //上传永久素材获取media_id string mediaId = wxComm.UploadForeverMedia(Utils.GetMapPath(modelt.img_url), out errmsg); if (string.IsNullOrEmpty(mediaId)) { JscriptMsg("错误:" + errmsg, string.Empty); return; } //添加消息实体 Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel newsModel = new Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel(); newsModel.thumb_media_id = mediaId; //图文消息缩略图的media_id newsModel.title = modelt.title; //图文消息的标题 newsModel.content_source_url = linkdomain; //点击“阅读原文”后的页面 newsModel.content = ReplaceImagesPath(modelt.content); //图文消息页面的内容,替换图片路径 newsModel.digest = modelt.zhaiyao; //图文消息的描述 newsModel.show_cover_pic = "1"; //是否显示封面,1为显示,0为不显示 ls.Add(newsModel); //添加实体到泛型 } //开始群发消息 bool result = wxComm.SendGroupMessageByGroupId(ls, out errmsg); if (!result) { JscriptMsg("错误:" + errmsg, string.Empty); return; } JscriptMsg("微信消息推送成功!", Utils.CombUrlTxt("article_list.aspx", "channel_id={0}&category_id={1}&keywords={2}&property={3}&page={4}", this.channel_id.ToString(), this.category_id.ToString(), this.keywords, this.property, this.page.ToString())); }