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); }
//批量删除 protected void btnDelete_Click(object sender, EventArgs e) { ChkAdminLevel("weixin_response_text", DTEnums.ActionEnum.Delete.ToString()); //检查权限 int sucCount = 0; int errorCount = 0; BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); 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) { if (bll.Delete(id)) { sucCount += 1; } else { errorCount += 1; } } } AddAdminLog(DTEnums.ActionEnum.Delete.ToString(), "删除微信文本回复成功" + sucCount + "条,失败" + errorCount + "条"); //记录日志 JscriptMsg("删除成功" + sucCount + "条,失败" + errorCount + "条!", Utils.CombUrlTxt("text_list.aspx", "keywords={0}", this.keywords)); }
private int id = 0; //公众账户ID #endregion Fields #region Methods //删除 protected void btnDelete_Click(object sender, EventArgs e) { //检查权限 switch (this.action.ToLower()) { case "default": ChkAdminLevel("weixin_subscribe_default", DTEnums.ActionEnum.Delete.ToString()); break; case "cancel": ChkAdminLevel("weixin_subscribe_cancel", DTEnums.ActionEnum.Delete.ToString()); break; default: ChkAdminLevel("weixin_subscribe_subscribe", DTEnums.ActionEnum.Delete.ToString()); break; } //删除操作 Model.weixin_request_rule ruleModel = new BLL.weixin_request_rule().GetModel(int.Parse(ddlAccountId.SelectedValue), Utils.StrToInt(hideReqestType.Value, 0)); //获取规则 if (ruleModel != null) { bool result = new BLL.weixin_request_rule().Delete(ruleModel.id); if (result) { AddAdminLog(DTEnums.ActionEnum.Delete.ToString(), "删除" + ruleModel.name + ",公众账户ID:" + ddlAccountId.SelectedValue); //记录日志 JscriptMsg("删除消息成功!", Utils.CombUrlTxt("subscribe_edit.aspx", "action={0}&id={1}", this.action, ddlAccountId.SelectedValue)); return; } JscriptMsg("删除消息失败!", Utils.CombUrlTxt("subscribe_edit.aspx", "action={0}&id={1}", this.action, ddlAccountId.SelectedValue)); return; } }
private void ShowInfo(int account_id) { this.ddlAccountId.SelectedValue = this.id.ToString(); Model.weixin_request_rule ruleModel = new BLL.weixin_request_rule().GetModel(account_id, Utils.StrToInt(hideReqestType.Value, 0)); //获取规则 if (ruleModel != null) { hideId.Value = ruleModel.id.ToString(); //规则ID switch (ruleModel.response_type) { case 1: //纯文本 rblResponseType.SelectedValue = "0"; txtContent.Text = ruleModel.contents[0].content; break; case 2: //图文 rblResponseType.SelectedValue = "1"; rptList.DataSource = ruleModel.contents; rptList.DataBind(); break; case 3: //语音 rblResponseType.SelectedValue = "2"; txtSoundTitle.Text = ruleModel.contents[0].title; txtSoundUrl.Text = ruleModel.contents[0].media_url; txtSoundContent.Text = ruleModel.contents[0].content; break; default: rblResponseType.SelectedValue = "0"; break; } btnDelete.Visible = true; // 显示删除按钮 } }
private bool DoEdit(int _id) { bool result = false; 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); 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, content = txtContent.Text.Trim() }); model.contents = ls; if (bll.Update(model)) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改微信文本回复,关健字:" + model.keywords); //记录日志 result = true; } return(result); }
//批量删除 protected void btnDelete_Click(object sender, EventArgs e) { ChkAdminLevel("weixin_response_sound", DTEnums.ActionEnum.Delete.ToString()); //检查权限 int sucCount = 0; int errorCount = 0; BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); 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) { if (bll.Delete(id)) { sucCount += 1; } else { errorCount += 1; } } } AddAdminLog(DTEnums.ActionEnum.Delete.ToString(), "删除微信语音回复成功" + sucCount + "条,失败" + errorCount + "条"); //记录日志 JscriptMsg("删除成功" + sucCount + "条,失败" + errorCount + "条!", Utils.CombUrlTxt("sound_list.aspx", "keywords={0}", this.keywords)); }
private void ShowInfo(int account_id) { this.ddlAccountId.SelectedValue = this.id.ToString(); Model.weixin_request_rule ruleModel = new BLL.weixin_request_rule().GetModel(account_id, Utils.StrToInt(hideReqestType.Value, 0)); //获取规则 if (ruleModel != null) { hideId.Value = ruleModel.id.ToString(); //规则ID switch (ruleModel.response_type) { case 1: //纯文本 rblResponseType.SelectedValue = "0"; txtContent.Text = ruleModel.contents[0].content; break; case 2: //图文 rblResponseType.SelectedValue = "1"; rptList.DataSource = ruleModel.contents; rptList.DataBind(); break; case 3: //语音 rblResponseType.SelectedValue = "2"; txtSoundTitle.Text = ruleModel.contents[0].title; txtSoundUrl.Text = ruleModel.contents[0].media_url; txtSoundContent.Text = ruleModel.contents[0].content; break; default: rblResponseType.SelectedValue = "0"; break; } btnDelete.Visible = true; // 显示删除按钮 } }
private bool DoAdd() { bool result = false; 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 = 1; 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); List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = model.account_id, content = txtContent.Text.Trim() }); model.contents = ls; if (bll.Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信文本回复,关健字:" + model.keywords); //记录日志 result = true; } return(result); }
Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //站点配置 #region 处理关注/取消/默认回复方法=========================== /// <summary> /// 定阅事件的统一处理 /// </summary> public IResponseMessageBase EventSubscribe(int type, RequestMessageEventBase requestMessage) { //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(requestMessage); int accountId = GetAccountId(); //取得公众账户ID string EventName = ""; if (requestMessage.Event.ToString().Trim() != "") { EventName = requestMessage.Event.ToString(); } //else if (requestMessage.EventKey != null) //{ // EventName += requestMessage.EventKey.ToString(); //} if (!ExistsOriginalId(accountId, requestMessage.ToUserName)) { //验证接收方是否为我们系统配置的帐号,即验证微帐号与微信原始帐号id是否一致,如果不一致,说明【1】配置错误,【2】数据来源有问题 new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return(GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源", accountId)); } int responseType = 0; int ruleId = new BLL.weixin_request_rule().GetRuleIdAndResponseType(accountId, "request_type=" + type, out responseType); if (ruleId <= 0 || responseType <= 0) { new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return(null); } IResponseMessageBase reponseMessage = null; switch (responseType) { case 1: //发送纯文字 reponseMessage = GetResponseMessageTxt(requestMessage, ruleId, accountId); break; case 2: //发送多图文 reponseMessage = GetResponseMessageNews(requestMessage, ruleId, accountId); break; case 3: //发送语音 reponseMessage = GetResponseMessageeMusic(requestMessage, ruleId, accountId); break; default: break; } return(reponseMessage); }
private bool DoAdd() { bool result = false; 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 = 2; //回复的类型:文本1,图文2,语音3,视频4,第三方接口5 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); #region 赋值规则图片 string[] itemIdArr = Request.Form.GetValues("item_id"); string[] itemTitleArr = Request.Form.GetValues("item_title"); string[] itemContentArr = Request.Form.GetValues("item_content"); string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl"); string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl"); string[] itemSortIdArr = Request.Form.GetValues("item_sortid"); if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null) { if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length) && (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length)) { List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); for (int i = 0; i < itemIdArr.Length; i++) { Model.weixin_request_content modelt = new Model.weixin_request_content(); modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0); modelt.account_id = model.account_id; modelt.title = itemTitleArr[i].Trim(); modelt.content = itemContentArr[i].Trim(); modelt.img_url = itemImgUrlArr[i].Trim(); modelt.link_url = itemLinkUrlArr[i].Trim(); modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99); ls.Add(modelt); } model.contents = ls; } } else { model.contents = null; } #endregion if (bll.Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信图文回复,关健字:" + model.keywords); //记录日志 result = true; } return(result); }
/// <summary> /// 菜单点击事件 /// </summary> public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage) { IResponseMessageBase reponseMessage = null; Common.MessageFunction cmfun = new Common.MessageFunction(); string keywords = requestMessage.EventKey; //查询关健字 int accountId = cmfun.GetAccountId(); //公众账户ID string EventName = ""; if (requestMessage.Event.ToString().Trim() != "") { EventName = requestMessage.Event.ToString(); } else if (requestMessage.EventKey != null) { EventName += requestMessage.EventKey.ToString(); } if (!cmfun.ExistsOriginalId(accountId, requestMessage.ToUserName)) { //验证接收方是否为我们系统配置的帐号,即验证微帐号与微信原始帐号id是否一致,如果不一致,说明【1】配置错误,【2】数据来源有问题 new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return(cmfun.GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源有问题", accountId)); } int responseType = 0; //回复类型 int ruleId = new BLL.weixin_request_rule().GetKeywordsRuleId(accountId, string.Empty, out responseType); if (ruleId == 0) { new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return(cmfun.GetResponseMessageTxtByContent(requestMessage, "", accountId)); } switch (responseType) { case 1: //发送纯文字 reponseMessage = cmfun.GetResponseMessageTxt(requestMessage, ruleId, accountId); break; case 2: //发送多图文 reponseMessage = cmfun.GetResponseMessageNews(requestMessage, ruleId, accountId); break; case 3: //发送语音 reponseMessage = cmfun.GetResponseMessageeMusic(requestMessage, ruleId, accountId); break; default: break; } return(reponseMessage); }
private void ShowInfo(int _id) { BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); Model.weixin_request_rule model = bll.GetModel(_id); txtKeywords.Text = model.keywords; rblIsLikeQuery.SelectedValue = model.is_like_query.ToString(); txtSortId.Text = model.sort_id.ToString(); txtContent.Text = model.contents[0].content; }
private bool DoAdd() { bool result = false; 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 = 2; //回复的类型:文本1,图文2,语音3,视频4,第三方接口5 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); #region 赋值规则图片 string[] itemIdArr = Request.Form.GetValues("item_id"); string[] itemTitleArr = Request.Form.GetValues("item_title"); string[] itemContentArr = Request.Form.GetValues("item_content"); string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl"); string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl"); string[] itemSortIdArr = Request.Form.GetValues("item_sortid"); if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null) { if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length) && (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length)) { List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>(); for (int i = 0; i < itemIdArr.Length; i++) { Model.weixin_request_content modelt = new Model.weixin_request_content(); modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0); modelt.account_id = model.account_id; modelt.title = itemTitleArr[i].Trim(); modelt.content = itemContentArr[i].Trim(); modelt.img_url = itemImgUrlArr[i].Trim(); modelt.link_url = itemLinkUrlArr[i].Trim(); modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99); ls.Add(modelt); } model.contents = ls; } } else { model.contents = null; } #endregion if (bll.Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信图文回复,关健字:" + model.keywords); //记录日志 result = true; } return result; }
/// <summary> /// 处理文字请求 /// </summary> public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage) { IResponseMessageBase IR = null; Common.MessageFunction cmfun = new Common.MessageFunction(); BLL.weixin_request_rule ruleBLL = new BLL.weixin_request_rule(); int accountId = 0; try { string keywords = requestMessage.Content; //发送了文字信息 accountId = cmfun.GetAccountId(); //获取公众账户ID //验证公众账户原始ID是否一致 if (!cmfun.ExistsOriginalId(accountId, requestMessage.ToUserName)) { new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), requestMessage.Content, "none", "验证微帐号与微信原始帐号id不一致,说明【1】配置错误,【2】数据来源有问题", requestMessage.ToUserName); return(cmfun.GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源", accountId)); } int responseType = 0; int ruleId = ruleBLL.GetKeywordsRuleId(accountId, keywords, out responseType); if (ruleId <= 0 || responseType <= 0) { new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), requestMessage.Content, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return(cmfun.GetResponseMessageTxtByContent(requestMessage, "未找到匹配的关键词", accountId)); } switch (responseType) { case 1: //发送纯文字 IR = cmfun.GetResponseMessageTxt(requestMessage, ruleId, accountId); break; case 2: //发送多图文 IR = cmfun.GetResponseMessageNews(requestMessage, ruleId, accountId); break; case 3: //发送语音 IR = cmfun.GetResponseMessageeMusic(requestMessage, ruleId, accountId); break; default: break; } new BLL.weixin_response_content().Add(accountId, requestMessage.MsgType.ToString(), requestMessage.FromUserName, requestMessage.CreateTime.ToString(), requestMessage.Content, requestMessage.ToString(), string.Empty); } catch (Exception ex) { } return(IR); }
private void ShowInfo(int _id) { BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); Model.weixin_request_rule model = bll.GetModel(_id); ddlAccountId.SelectedValue = model.account_id.ToString(); ddlAccountId.Enabled = false; txtKeywords.Text = model.keywords; rblIsLikeQuery.SelectedValue = model.is_like_query.ToString(); txtSortId.Text = model.sort_id.ToString(); txtContent.Text = model.contents[0].content; }
private void RptBind(string _strWhere, string _orderby) { this.page = DTRequest.GetQueryInt("page", 1); this.txtKeywords.Text = this.keywords; BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); this.rptList.DataSource = bll.GetList(this.pageSize, this.page, _strWhere, _orderby, out this.totalCount); this.rptList.DataBind(); //绑定页码 txtPageNum.Text = this.pageSize.ToString(); string pageUrl = Utils.CombUrlTxt("text_list.aspx", "keywords={0}&page={1}", this.keywords, "__id__"); PageContent.InnerHtml = Utils.OutPageList(this.pageSize, this.page, this.totalCount, pageUrl, 8); }
private void RptBind(string _strWhere, string _orderby) { this.page = DTRequest.GetQueryInt("page", 1); this.txtKeywords.Text = this.keywords; BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); this.rptList.DataSource = bll.GetList(this.pageSize, this.page, _strWhere, _orderby, out this.totalCount); this.rptList.DataBind(); //绑定页码 txtPageNum.Text = this.pageSize.ToString(); string pageUrl = Utils.CombUrlTxt("sound_list.aspx", "keywords={0}&page={1}", this.keywords, "__id__"); PageContent.InnerHtml = Utils.OutPageList(this.pageSize, this.page, this.totalCount, pageUrl, 8); }
Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //站点配置 #region 处理关注/取消/默认回复方法=========================== /// <summary> /// 定阅事件的统一处理 /// </summary> public IResponseMessageBase EventSubscribe(int type, RequestMessageEventBase requestMessage) { int accountId = GetAccountId(); //取得公众账户ID string EventName = ""; if (requestMessage.Event.ToString().Trim() != "") { EventName = requestMessage.Event.ToString(); } else if (requestMessage.EventKey != null) { EventName += requestMessage.EventKey.ToString(); } if (!ExistsOriginalId(accountId, requestMessage.ToUserName)) { //验证接收方是否为我们系统配置的帐号,即验证微帐号与微信原始帐号id是否一致,如果不一致,说明【1】配置错误,【2】数据来源有问题 new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源", accountId); } int responseType = 0; int ruleId = new BLL.weixin_request_rule().GetRuleIdAndResponseType(accountId, "request_type=" + type, out responseType); if (ruleId <= 0 || responseType <= 0) { new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return null; } IResponseMessageBase reponseMessage = null; switch (responseType) { case 1: //发送纯文字 reponseMessage = GetResponseMessageTxt(requestMessage, ruleId, accountId); break; case 2: //发送多图文 reponseMessage = GetResponseMessageNews(requestMessage, ruleId, accountId); break; case 3: //发送语音 reponseMessage = GetResponseMessageeMusic(requestMessage, ruleId, accountId); break; default: break; } return reponseMessage; }
private void ShowInfo(int _id) { BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); Model.weixin_request_rule model = bll.GetModel(_id); ddlAccountId.SelectedValue = model.account_id.ToString(); ddlAccountId.Enabled = false; txtKeywords.Text = model.keywords; rblIsLikeQuery.SelectedValue = model.is_like_query.ToString(); txtSortId.Text = model.sort_id.ToString(); rptList.DataSource = model.contents; rptList.DataBind(); }
/// <summary> /// 菜单点击事件 /// </summary> public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage) { IResponseMessageBase reponseMessage = null; Common.MessageFunction cmfun = new Common.MessageFunction(); string keywords = requestMessage.EventKey; //查询关健字 int accountId = cmfun.GetAccountId(); //公众账户ID string EventName = ""; if (requestMessage.Event.ToString().Trim() != "") { EventName = requestMessage.Event.ToString(); } else if (requestMessage.EventKey != null) { EventName += requestMessage.EventKey.ToString(); } if (!cmfun.ExistsOriginalId(accountId, requestMessage.ToUserName)) { //验证接收方是否为我们系统配置的帐号,即验证微帐号与微信原始帐号id是否一致,如果不一致,说明【1】配置错误,【2】数据来源有问题 new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return cmfun.GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源有问题", accountId); } int responseType = 0; //回复类型 int ruleId = new BLL.weixin_request_rule().GetKeywordsRuleId(accountId, string.Empty, out responseType); if (ruleId == 0) { new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName); return cmfun.GetResponseMessageTxtByContent(requestMessage, "", accountId); } switch (responseType) { case 1: //发送纯文字 reponseMessage = cmfun.GetResponseMessageTxt(requestMessage, ruleId, accountId); break; case 2: //发送多图文 reponseMessage = cmfun.GetResponseMessageNews(requestMessage, ruleId, accountId); break; case 3: //发送语音 reponseMessage = cmfun.GetResponseMessageeMusic(requestMessage, ruleId, accountId); break; default: break; } return reponseMessage; }
private void ShowInfo(int _id) { BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); Model.weixin_request_rule model = bll.GetModel(_id); ddlAccountId.SelectedValue = model.account_id.ToString(); ddlAccountId.Enabled = false; txtSortId.Text = model.sort_id.ToString(); txtKeywords.Text = model.keywords; rblIsLikeQuery.SelectedValue = model.is_like_query.ToString(); txtTitle.Text = model.contents[0].title; txtMediaUrl.Text = model.contents[0].media_url; txtContent.Text = model.contents[0].content; }
//保存排序 protected void btnSave_Click(object sender, EventArgs e) { ChkAdminLevel("weixin_response_sound", DTEnums.ActionEnum.Edit.ToString()); //检查权限 BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); int sortId; if (!int.TryParse(((TextBox)rptList.Items[i].FindControl("txtSortId")).Text.Trim(), out sortId)) { sortId = 99; } bll.UpdateField(id, "sort_id=" + sortId); } AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "保存微信语音回复排序"); //记录日志 JscriptMsg("保存排序成功!", Utils.CombUrlTxt("sound_list.aspx", "keywords={0}", this.keywords)); }
//保存排序 protected void btnSave_Click(object sender, EventArgs e) { ChkAdminLevel("weixin_response_text", DTEnums.ActionEnum.Edit.ToString()); //检查权限 BLL.weixin_request_rule bll = new BLL.weixin_request_rule(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); int sortId; if (!int.TryParse(((TextBox)rptList.Items[i].FindControl("txtSortId")).Text.Trim(), out sortId)) { sortId = 99; } bll.UpdateField(id, "sort_id=" + sortId); } AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "保存微信文本回复排序"); //记录日志 JscriptMsg("保存排序成功!", Utils.CombUrlTxt("text_list.aspx", "keywords={0}", this.keywords)); }
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 btnDelete_Click(object sender, EventArgs e) { //检查权限 switch (this.action.ToLower()) { case "default": ChkAdminLevel("weixin_subscribe_default", DTEnums.ActionEnum.Delete.ToString()); break; case "cancel": ChkAdminLevel("weixin_subscribe_cancel", DTEnums.ActionEnum.Delete.ToString()); break; default: ChkAdminLevel("weixin_subscribe_subscribe", DTEnums.ActionEnum.Delete.ToString()); break; } //删除操作 Model.weixin_request_rule ruleModel = new BLL.weixin_request_rule().GetModel(int.Parse(ddlAccountId.SelectedValue), Utils.StrToInt(hideReqestType.Value, 0)); //获取规则 if (ruleModel != null) { bool result = new BLL.weixin_request_rule().Delete(ruleModel.id); if (result) { AddAdminLog(DTEnums.ActionEnum.Delete.ToString(), "删除" + ruleModel.name + ",公众账户ID:" + ddlAccountId.SelectedValue); //记录日志 JscriptMsg("删除消息成功!", Utils.CombUrlTxt("subscribe_edit.aspx", "action={0}&id={1}", this.action, ddlAccountId.SelectedValue)); return; } JscriptMsg("删除消息失败!", Utils.CombUrlTxt("subscribe_edit.aspx", "action={0}&id={1}", this.action, ddlAccountId.SelectedValue)); return; } }
private bool DoAdd() { bool result = false; 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.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); List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = model.account_id, title = txtTitle.Text.Trim(), media_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim() }); model.contents = ls; if (bll.Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信语音回复,关健字:" + model.keywords); //记录日志 result = true; } return result; }
//保存 protected void btnSubmit_Click(object sender, EventArgs e) { //检查权限 switch (this.action.ToLower()) { case "default": ChkAdminLevel("weixin_subscribe_default", DTEnums.ActionEnum.Edit.ToString()); break; case "cancel": ChkAdminLevel("weixin_subscribe_cancel", DTEnums.ActionEnum.Edit.ToString()); break; default: ChkAdminLevel("weixin_subscribe_subscribe", DTEnums.ActionEnum.Edit.ToString()); break; } //开始保存数据 string ruleName = string.Empty; //规格名称 int ruleId = Utils.StrToInt(hideId.Value, 0); //规则ID int requestType = int.Parse(hideReqestType.Value); //请求的类别 int responseType = int.Parse(rblResponseType.SelectedItem.Value); //回复的类别 if (requestType == 6) { ruleName = "关注时的触发内容"; } else if (requestType == 0) { ruleName = "默认回复内容"; } else if (requestType == 7) { ruleName = "取消关注时的触发内容"; } Model.weixin_request_rule model = new BLL.weixin_request_rule().GetModel(ruleId); if (model == null) { model = new Model.weixin_request_rule(); } model.account_id = this.id; model.name = ruleName; model.request_type = requestType; model.is_default = 0; model.add_time = DateTime.Now; if (responseType == 0) //纯文本 { if (txtContent.Text.Trim().Length == 0) { JscriptMsg("回复内容不能为空!", string.Empty); return; } model.response_type = 1;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5 List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = this.id, rule_id = ruleId, content = txtContent.Text.Trim() }); model.contents = ls; } else if (rblResponseType.SelectedItem.Value == "1") //图文 { model.response_type = 2; //回复的类型:文本1,图文2,语音3,视频4,第三方接口5 #region 赋值规则图片 string[] itemIdArr = Request.Form.GetValues("item_id"); string[] itemTitleArr = Request.Form.GetValues("item_title"); string[] itemContentArr = Request.Form.GetValues("item_content"); string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl"); string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl"); string[] itemSortIdArr = Request.Form.GetValues("item_sortid"); if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null) { if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length) && (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length)) { List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); for (int i = 0; i < itemIdArr.Length; i++) { Model.weixin_request_content modelt = new Model.weixin_request_content(); modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0); modelt.account_id = this.id; modelt.rule_id = ruleId; modelt.title = itemTitleArr[i].Trim(); modelt.content = itemContentArr[i].Trim(); modelt.img_url = itemImgUrlArr[i].Trim(); modelt.link_url = itemLinkUrlArr[i].Trim(); modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99); ls.Add(modelt); } model.contents = ls; } } else { model.contents = null; } #endregion } else if (rblResponseType.SelectedItem.Value == "2") //语音 { if (txtSoundTitle.Text.Trim().Length == 0) { JscriptMsg("语音标题不能为空!", string.Empty); return; } if (txtSoundUrl.Text.Trim().Length == 0) { JscriptMsg("文件地址不能为空!", string.Empty); return; } model.response_type = 3;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5 List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = this.id, rule_id = ruleId, title = txtSoundTitle.Text.Trim(), media_url = txtSoundUrl.Text.Trim(), content = txtSoundContent.Text.Trim() }); model.contents = ls; } //判断是新增还是修改 if (model.id > 0 && new BLL.weixin_request_rule().Update(model)) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "新增微信" + ruleName); //记录日志 JscriptMsg("编辑" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id); return; } else if (new BLL.weixin_request_rule().Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "编辑微信" + ruleName); //记录日志 JscriptMsg("新增" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id); return; } JscriptMsg("保存" + ruleName + "失败!", string.Empty); return; }
private bool DoEdit(int _id) { bool result = false; 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); 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(), media_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim() }); model.contents = ls; if (bll.Update(model)) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改微信语音回复,关健字:" + model.keywords); //记录日志 result = true; } return result; }
//保存 protected void btnSubmit_Click(object sender, EventArgs e) { //检查权限 switch (this.action.ToLower()) { case "default": ChkAdminLevel("weixin_subscribe_default", DTEnums.ActionEnum.Edit.ToString()); break; case "cancel": ChkAdminLevel("weixin_subscribe_cancel", DTEnums.ActionEnum.Edit.ToString()); break; default: ChkAdminLevel("weixin_subscribe_subscribe", DTEnums.ActionEnum.Edit.ToString()); break; } //开始保存数据 string ruleName = string.Empty; //规格名称 int ruleId = Utils.StrToInt(hideId.Value, 0); //规则ID int requestType = int.Parse(hideReqestType.Value);//请求的类别 int responseType = int.Parse(rblResponseType.SelectedItem.Value); //回复的类别 if (requestType == 6) { ruleName = "关注时的触发内容"; } else if (requestType == 0) { ruleName = "默认回复内容"; } else if (requestType == 7) { ruleName = "取消关注时的触发内容"; } Model.weixin_request_rule model = new BLL.weixin_request_rule().GetModel(ruleId); if (model == null) { model = new Model.weixin_request_rule(); } model.account_id = this.id; model.name = ruleName; model.request_type = requestType; model.is_default = 0; model.add_time = DateTime.Now; if (responseType == 0) //纯文本 { if (txtContent.Text.Trim().Length == 0) { JscriptMsg("回复内容不能为空!", string.Empty); return; } model.response_type = 1;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5 List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = this.id, rule_id = ruleId, content = txtContent.Text.Trim() }); model.contents = ls; } else if (rblResponseType.SelectedItem.Value == "1") //图文 { model.response_type = 2;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5 #region 赋值规则图片 string[] itemIdArr = Request.Form.GetValues("item_id"); string[] itemTitleArr = Request.Form.GetValues("item_title"); string[] itemContentArr = Request.Form.GetValues("item_content"); string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl"); string[] itemLinkUrlArr = Request.Form.GetValues("item_linkurl"); string[] itemSortIdArr = Request.Form.GetValues("item_sortid"); if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemLinkUrlArr != null && itemSortIdArr != null && itemContentArr != null) { if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemLinkUrlArr.Length) && (itemLinkUrlArr.Length == itemSortIdArr.Length) && (itemSortIdArr.Length == itemContentArr.Length)) { List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>(); for (int i = 0; i < itemIdArr.Length; i++) { Model.weixin_request_content modelt = new Model.weixin_request_content(); modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0); modelt.account_id = this.id; modelt.rule_id = ruleId; modelt.title = itemTitleArr[i].Trim(); modelt.content = itemContentArr[i].Trim(); modelt.img_url = itemImgUrlArr[i].Trim(); modelt.link_url = itemLinkUrlArr[i].Trim(); modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99); ls.Add(modelt); } model.contents = ls; } } else { model.contents = null; } #endregion } else if (rblResponseType.SelectedItem.Value == "2") //语音 { if (txtSoundTitle.Text.Trim().Length == 0) { JscriptMsg("语音标题不能为空!", string.Empty); return; } if (txtSoundUrl.Text.Trim().Length == 0) { JscriptMsg("文件地址不能为空!", string.Empty); return; } model.response_type = 3;//回复的类型:文本1,图文2,语音3,视频4,第三方接口5 List<Model.weixin_request_content> ls = new List<Model.weixin_request_content>(); ls.Add(new Model.weixin_request_content() { account_id = this.id, rule_id = ruleId, title = txtSoundTitle.Text.Trim(), media_url = txtSoundUrl.Text.Trim(), content = txtSoundContent.Text.Trim() }); model.contents = ls; } //判断是新增还是修改 if (model.id > 0 && new BLL.weixin_request_rule().Update(model)) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "新增微信" + ruleName); //记录日志 JscriptMsg("编辑" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id); return; } else if (new BLL.weixin_request_rule().Add(model) > 0) { AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "编辑微信" + ruleName); //记录日志 JscriptMsg("新增" + ruleName + "成功!", "subscribe_edit.aspx?action=" + this.action + "&id=" + this.id); return; } JscriptMsg("保存" + ruleName + "失败!", string.Empty); return; }