/// <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);
        }
Esempio n. 2
0
        /// <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);
        }