/// <summary> /// 订阅(关注)事件 /// </summary> /// <returns></returns> public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage) { //关注时回复 AutoRlyInfo autoRly = SinGooCMS.BLL.AutoRly.GetFocusRly(); switch (autoRly.MsgType) { case WeixinMsgType.Text: var responseMessageText = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessageText.Content = autoRly.MsgText; return(responseMessageText); case WeixinMsgType.Image: { var responseMessageNews = CreateResponseMessage <ResponseMessageNews>(); responseMessageNews.Articles.Add(new Article() { Title = autoRly.MsgText, Description = autoRly.Description, PicUrl = Utils.GetUrlWithDomain(autoRly.MediaPath), Url = autoRly.LinkUrl }); return(responseMessageNews); } } return(null); }
/// <summary> /// 处理文字请求 /// </summary> /// <returns></returns> public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage) { //TODO:这里的逻辑可以交给Service处理具体信息,参考OnLocationRequest方法或/Service/LocationSercice.cs //方法一(v0.1),此方法调用太过繁琐,已过时(但仍是所有方法的核心基础),建议使用方法二到四 //var responseMessage = // ResponseMessageBase.CreateFromRequestMessage(RequestMessage, ResponseMsgType.Text) as // ResponseMessageText; //方法二(v0.4) //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(RequestMessage); //方法三(v0.4),扩展方法,需要using Senparc.Weixin.MP.Helpers; //var responseMessage = RequestMessage.CreateResponseMessage<ResponseMessageText>(); //方法四(v0.6+),仅适合在HandlerMessage内部使用,本质上是对方法三的封装 //注意:下面泛型ResponseMessageText即返回给客户端的类型,可以根据自己的需要填写ResponseMessageNews等不同类型。 if (!string.IsNullOrEmpty(requestMessage.Content)) { AutoRlyInfo keyRly = SinGooCMS.BLL.AutoRly.GetByKey(requestMessage.Content); if (keyRly != null) { return(SendReplyMsg(requestMessage, requestMessage.Content)); } else { return(SendDefaultMsg(requestMessage)); } } return(null); }
protected void lnk_Delete_Click(object sender, System.EventArgs e) { if (!base.IsAuthorizedOp(ActionType.Delete.ToString())) { base.ShowAjaxMsg(this.UpdatePanel1, "Không có thẩm quyền"); } else { int @int = WebUtils.GetInt((sender as LinkButton).CommandArgument); AutoRlyInfo dataById = AutoRly.GetDataById(@int); if (dataById == null) { base.ShowAjaxMsg(this.UpdatePanel1, "Những thông tin này không được tìm thấy, các dữ liệu không tồn tại hoặc đã bị xóa"); } else if (AutoRly.Delete(@int)) { this.BindData(); PageBase.log.AddEvent(base.LoginAccount.AccountName, "删除自动回复关键字[" + dataById.MsgKey + "] thành công"); base.ShowAjaxMsg(this.UpdatePanel1, "Thao tác thành công"); } else { base.ShowAjaxMsg(this.UpdatePanel1, "Thao tác thất bại"); } } }
/// <summary> /// 发送默认的消息 /// </summary> private IResponseMessageBase SendReplyMsg(IRequestMessageBase requestMessage, string msgKey) { //默认回复 AutoRlyInfo autoRly = SinGooCMS.BLL.AutoRly.GetDefaultRly(); if (!string.IsNullOrEmpty(msgKey)) { autoRly = SinGooCMS.BLL.AutoRly.GetByKey(msgKey); } switch (autoRly.MsgType) { case WeixinMsgType.Text: var responseMessageText = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessageText.Content = autoRly.MsgText; return(responseMessageText); case WeixinMsgType.Image: { var responseMessageNews = CreateResponseMessage <ResponseMessageNews>(); responseMessageNews.Articles.Add(new Article() { Title = autoRly.MsgText, Description = autoRly.Description, PicUrl = Utils.GetUrlWithDomain(autoRly.MediaPath), Url = autoRly.LinkUrl }); return(responseMessageNews); } } return(null); }
public static WxStatus Add(WxMenuInfo entity, AutoRlyInfo eventKey) { int count; if (entity.ParentID == 0) { count = WxMenu.GetCount("ParentID=0"); } else { count = WxMenu.GetCount("ParentID=" + entity.ParentID); } WxStatus result; if (entity.ParentID.Equals(0) && count > 3) { result = WxStatus.一级菜单个数不超过3个; } else if (entity.ParentID > 0 && count > 5) { result = WxStatus.二级菜单个数不超过5个; } else { if (entity.Type == "click" && eventKey != null) { AutoRly.Add(eventKey); entity.EventKey = eventKey.MsgKey; } int num = WxMenu.Add(entity); if (num > 0) { entity.AutoID = num; if (entity.ParentID.Equals(0)) { entity.RootID = num; WxMenu.Update(entity); } else { WxMenuInfo dataById = WxMenu.GetDataById(entity.ParentID); entity.RootID = dataById.RootID; dataById.ChildCount++; dataById.ChildIDs = dataById.ChildIDs + "," + num; WxMenu.Update(entity); WxMenu.Update(dataById); } result = WxStatus.增加成功; } else { result = WxStatus.增加失败; } } return(result); }
private void InitForModify() { AutoRlyInfo focusRly = AutoRly.GetFocusRly(); if (focusRly != null) { this.TextBox1.Text = focusRly.MsgText; this.TextBox2.Text = focusRly.MediaPath; this.Image1.ImageUrl = focusRly.MediaPath; this.Image1.Attributes.Add("data-original", focusRly.MediaPath); this.TextBox3.Text = focusRly.Description; this.TextBox4.Text = focusRly.LinkUrl; } }
public static int Add(AutoRlyInfo entity) { int result; if (entity == null) { result = 0; } else { result = BizBase.dbo.InsertModel <AutoRlyInfo>(entity); } return(result); }
private void InitForModify() { AutoRlyInfo dataById = AutoRly.GetDataById(base.OpID); if (dataById != null) { this.TextBox5.Text = dataById.MsgKey; this.TextBox1.Text = dataById.MsgText; this.TextBox2.Text = dataById.MediaPath; this.Image1.ImageUrl = dataById.MediaPath; this.Image1.Attributes.Add("data-original", dataById.MediaPath); this.TextBox3.Text = dataById.Description; this.TextBox4.Text = dataById.LinkUrl; } }
protected void btnok_Click(object sender, System.EventArgs e) { if (!base.IsAuthorizedOp(ActionType.Modify.ToString())) { base.ShowMsg("Không có thẩm quyền"); } else { string a = "update"; AutoRlyInfo autoRlyInfo = AutoRly.GetFocusRly(); if (autoRlyInfo == null) { a = "add"; autoRlyInfo = new AutoRlyInfo(); autoRlyInfo.RlyType = "关注回复"; autoRlyInfo.MsgKey = "FoucusRly"; } autoRlyInfo.MsgText = WebUtils.GetString(this.TextBox1.Text); autoRlyInfo.MediaPath = WebUtils.GetString(this.TextBox2.Text); autoRlyInfo.Description = WebUtils.GetString(this.TextBox3.Text); autoRlyInfo.LinkUrl = WebUtils.GetString(this.TextBox4.Text); autoRlyInfo.AutoTimeStamp = System.DateTime.Now; if (string.IsNullOrEmpty(autoRlyInfo.MsgText)) { base.ShowMsg("文本内容不能为空"); } else if ((a == "add" && AutoRly.Add(autoRlyInfo) > 0) || (a == "update" && AutoRly.Update(autoRlyInfo))) { PageBase.log.AddEvent(base.LoginAccount.AccountName, "更新关注回复成功"); base.ShowMsg("Thao tác thành công"); } else { base.ShowMsg("Thao tác thất bại"); } } }
private void InitForModify() { WxMenuInfo dataById = WxMenu.GetDataById(base.OpID); this.InitMenuType = dataById.Type; ListItem listItem = this.parentmenu.Items.FindByValue(dataById.ParentID.ToString()); if (listItem != null) { listItem.Selected = true; } this.parentmenu.Enabled = false; this.menuname.Text = dataById.Name; ListItem listItem2 = this.menutype.Items.FindByValue(dataById.Type); if (listItem2 != null) { listItem2.Selected = true; } if (dataById.Type == "click" && !string.IsNullOrEmpty(dataById.EventKey)) { AutoRlyInfo eventRly = AutoRly.GetEventRly(dataById.EventKey); if (eventRly != null) { this.TextBox1.Text = eventRly.MsgText; this.TextBox2.Text = eventRly.MediaPath; this.Image1.ImageUrl = eventRly.MediaPath; this.TextBox3.Text = eventRly.Description; this.TextBox4.Text = eventRly.LinkUrl; } } else { this.TextBox4.Text = dataById.Url; } }
public static WxStatus Update(WxMenuInfo entity, AutoRlyInfo eventKey) { WxMenuInfo dataById = WxMenu.GetDataById(entity.AutoID); WxStatus result; if (WxMenu.Update(entity)) { if (entity.Type == "view" && !string.IsNullOrEmpty(dataById.EventKey)) { AutoRly.DelEventKey(dataById.EventKey); } else if (entity.Type == "click" && dataById.Type != "click" && eventKey != null) { AutoRly.Add(eventKey); } else if (entity.Type == "click" && dataById.Type == "click" && eventKey != null) { AutoRlyInfo eventRly = AutoRly.GetEventRly(dataById.EventKey); if (eventRly != null) { eventRly.MsgText = eventKey.MsgText; eventRly.Description = eventKey.Description; eventRly.MediaPath = eventKey.MediaPath; eventRly.LinkUrl = eventKey.LinkUrl; eventRly.AutoTimeStamp = DateTime.Now; AutoRly.Update(eventRly); } } result = WxStatus.修改成功; } else { result = WxStatus.修改失败; } return(result); }
protected void btnok_Click(object sender, System.EventArgs e) { if (base.Action.Equals(ActionType.Add.ToString()) && !base.IsAuthorizedOp(ActionType.Add.ToString())) { base.ShowMsg("Không có thẩm quyền"); } else if (base.Action.Equals(ActionType.Modify.ToString()) && !base.IsAuthorizedOp(ActionType.Modify.ToString())) { base.ShowMsg("Không có thẩm quyền"); } else { WxMenuInfo wxMenuInfo = new WxMenuInfo(); if (base.IsEdit) { wxMenuInfo = WxMenu.GetDataById(base.OpID); } wxMenuInfo.ParentID = WebUtils.GetInt(this.parentmenu.SelectedValue); wxMenuInfo.Name = WebUtils.GetString(this.menuname.Text); wxMenuInfo.Type = this.menutype.SelectedValue; wxMenuInfo.Url = WebUtils.GetString(this.TextBox4.Text); wxMenuInfo.EventKey = string.Empty; AutoRlyInfo autoRlyInfo = new AutoRlyInfo { RlyType = "事件回复", MsgKey = StringUtils.GetRandomNumber(), MsgText = WebUtils.GetString(this.TextBox1.Text), MediaPath = WebUtils.GetString(this.TextBox2.Text), Description = WebUtils.GetString(this.TextBox3.Text), LinkUrl = WebUtils.GetString(this.TextBox4.Text) }; if (string.IsNullOrEmpty(wxMenuInfo.Name)) { base.ShowMsg("菜单名称不能为空"); } else if (wxMenuInfo.ParentID == 0 && wxMenuInfo.Name.Length > 4) { base.ShowMsg("一级菜单文字长度不超过4个汉字"); } else if (wxMenuInfo.ParentID > 0 && wxMenuInfo.Name.Length > 8) { base.ShowMsg("二级菜单文字长度不超过8个汉字"); } else if (wxMenuInfo.Type == "click" && string.IsNullOrEmpty(autoRlyInfo.MsgText)) { base.ShowMsg("图文推送文本不能为空"); } else if (wxMenuInfo.Type == "click" && (autoRlyInfo.MsgText.Length > 600 || autoRlyInfo.Description.Length > 600)) { base.ShowMsg("推送图文中的文本不能超过600汉字"); } else if (wxMenuInfo.Type == "view" && string.IsNullOrEmpty(autoRlyInfo.LinkUrl)) { base.ShowMsg("地址跳转的地址不能为空"); } else { if (base.Action.Equals(ActionType.Add.ToString())) { wxMenuInfo.Sort = WxMenu.MaxSort + 1; wxMenuInfo.AutoTimeStamp = System.DateTime.Now; WxStatus wxStatus = WxMenu.Add(wxMenuInfo, autoRlyInfo); if (wxStatus == WxStatus.增加成功) { PageBase.log.AddEvent(base.LoginAccount.AccountName, "添加微信菜单[" + wxMenuInfo.Name + "] thành công"); MessageUtils.DialogCloseAndParentReload(this); } else { base.ShowMsg(wxStatus.ToString()); } } if (base.Action.Equals(ActionType.Modify.ToString())) { WxStatus wxStatus2 = WxMenu.Update(wxMenuInfo, autoRlyInfo); if (wxStatus2 == WxStatus.修改成功) { PageBase.log.AddEvent(base.LoginAccount.AccountName, "修改微信菜单[" + wxMenuInfo.Name + "] thành công"); MessageUtils.DialogCloseAndParentReload(this); } else { base.ShowMsg(wxStatus2.ToString()); } } } } }
public static bool Update(AutoRlyInfo entity) { return(entity != null && BizBase.dbo.UpdateModel <AutoRlyInfo>(entity)); }
protected void btnok_Click(object sender, System.EventArgs e) { if (!base.IsAuthorizedOp(ActionType.Modify.ToString())) { base.ShowMsg("Không có thẩm quyền"); } else { AutoRlyInfo autoRlyInfo = new AutoRlyInfo(); if (base.IsEdit) { autoRlyInfo = AutoRly.GetDataById(base.OpID); } autoRlyInfo.RlyType = "关键字回复"; autoRlyInfo.MsgKey = WebUtils.GetString(this.TextBox5.Text); autoRlyInfo.MsgText = WebUtils.GetString(this.TextBox1.Text); autoRlyInfo.MediaPath = WebUtils.GetString(this.TextBox2.Text); autoRlyInfo.Description = WebUtils.GetString(this.TextBox3.Text); autoRlyInfo.LinkUrl = WebUtils.GetString(this.TextBox4.Text); autoRlyInfo.AutoTimeStamp = System.DateTime.Now; if (string.IsNullOrEmpty(autoRlyInfo.MsgText)) { base.ShowMsg("文本内容不能为空"); } else { if (base.Action.Equals(ActionType.Add.ToString())) { if (AutoRly.Add(autoRlyInfo) > 0) { PageBase.log.AddEvent(base.LoginAccount.AccountName, "添加微信自动回复关键字[" + autoRlyInfo.MsgKey + "] thành công"); base.Response.Redirect(string.Concat(new object[] { "MessageKeyRly.aspx?CatalogID=", base.CurrentCatalogID, "&Module=", base.CurrentModuleCode, "&action=View" })); } else { base.ShowMsg("添加失败"); } } if (base.Action.Equals(ActionType.Modify.ToString())) { if (AutoRly.Update(autoRlyInfo)) { PageBase.log.AddEvent(base.LoginAccount.AccountName, "修改微信自动回复关键字[" + autoRlyInfo.MsgKey + "] thành công"); base.Response.Redirect(string.Concat(new object[] { "MessageKeyRly.aspx?CatalogID=", base.CurrentCatalogID, "&Module=", base.CurrentModuleCode, "&action=View" })); } else { base.ShowMsg("修改失败"); } } } } }