/// <summary> /// 菜单点击事件 /// </summary> public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage) { IResponseMessageBase reponseMessage = null; MessageFunction cmfun = new 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); //} reponseMessage = cmfun.GetResponseMessageTxt(requestMessage, accountId); //switch (responseType) //{ // case 1: // //发送纯文字 // break; // case 2: // //发送多图文 // reponseMessage = cmfun.GetResponseMessageNews(requestMessage, ruleId, accountId); // break; // case 3: // //发送语音 // reponseMessage = cmfun.GetResponseMessageeMusic(requestMessage, ruleId, accountId); // break; // default: // break; //} return(reponseMessage); }
/// <summary> /// 处理文字请求 /// </summary> public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage) { IResponseMessageBase IR = null; MessageFunction cmfun = new 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)); } IR = cmfun.GetResponseMessageTxt(requestMessage, 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: // //发送纯文字 // 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); }