Example #1
0
        public string HandleAndGetResponse(BaseMessage message)
        {
            string response = "";
            TextMessage textMsg = message as TextMessage;

            string content = textMsg.Content.Trim();

            if (string.IsNullOrEmpty(content))
            {
                response = "您什么都没输入,没法帮您啊,%>_<%。";
            }
            //else if (SessionUtility.Contains(textMsg.FromUserName))
            //{
            //    response = AuthUtility.GetAuthResult(textMsg);
            //}
            else
            {
                if (content.Contains("图文"))
                {
                    return GetTuwenResponse(textMsg);
                }
                response = HandleOtherString(content);
            }

            TextMessage tm = new TextMessage();
            tm.ToUserName = message.FromUserName;
            tm.FromUserName = message.ToUserName;
            tm.CreateTime = WeiXinHelper.GetNowTime();
            tm.Content = response;

            string returnValue = tm.GetResponseString();
            return returnValue;
        }
        //protected IUserRepository<UserDTO> userRepository = RepositoryFactory.GetInstance().GetUserRepository();
        //protected IAuthProfileRepository<AuthProfileDTO> authProfileRepository = RepositoryFactory.GetInstance().GetAuthProfileRepository();
        public string Handle_LocationEventMessage(LocationMessage message)
        {
            //回复欢迎消息
            TextMessage tm = new TextMessage();
            tm.ToUserName = message.FromUserName;
            tm.FromUserName = message.ToUserName;
            tm.CreateTime = WeiXinHelper.GetNowTime();
            //tm.Content = string.Format("您当前的经度:{0}, 纬度{1}",message.Longitude, message.Latitude);

            string url = string.Format("http://lbs.juhe.cn/api/getaddressbylngb?lngx={0}&lngy={1}", message.Longitude, message.Latitude);
            string content = HttpUtility.SendGetHttpRequest(url, "text/json");
            //Log4netHelper.Write("content from web: " + content);

            JsonTextReader tr = new JsonTextReader(new StringReader(content));
            JsonSerializer jSerializer = new JsonSerializer();
            LocationSearchResult rObj = jSerializer.Deserialize<LocationSearchResult>(tr);

            //Log4netHelper.Write("resultinfo: " + rObj.resultinfo);
            //Log4netHelper.Write("formatted_address: " + rObj.row.result.formatted_address);

            //Log4netHelper.Write("Handle_LocationEventMessage content: " + content);
            tm.Content = string.Format("您当前的位置为:{0}", rObj.row.result.formatted_address);
            string returnValue = tm.GetResponseString();
            return returnValue;
        }
Example #3
0
        public static BaseMessage GetCorpMessageByXml(string xmlStr)
        {
            if (string.IsNullOrEmpty(xmlStr))
            {
                //Log4netHelper.Write("xmlStr is null, return null");
                return null;
            }

            XDocument doc = XDocument.Parse(xmlStr);

            XElement rootElement = doc.Root;

            XElement msgTypeElement = rootElement.Element(WeiXinConstants.MSG_TYPE);

            if (msgTypeElement == null)
            {
                //Log4netHelper.Write("msgTypeElement is null, return null");
                return null;
            }

            string msgType = msgTypeElement.Value;
            //Log4netHelper.Write("msgType :" + msgType);

            BaseMessage returnValue;
            switch (msgType)
            {
                case "text":
                    returnValue = new TextMessage();
                    break;
                //case "event":
                //    returnValue = EventMessage.LoadFromXml(rootElement);
                //    break;
                //case "image":
                //    returnValue = new CorpImageMessage();
                //    break;
                //case "voice":
                //    returnValue = new CorpVoiceMessage();
                //    break;
                //case "video":
                //    returnValue = new CorpVideoMessage();
                //    break;
                //case "music":
                //    returnValue = new MusicMessage();
                //    break;
                case "news":
                    returnValue = new TuwenMessage();
                    break;
                default:
                    returnValue = null;
                    break;
            }

            if (returnValue != null)
                returnValue.FromXML(rootElement);

            return returnValue;
        }
Example #4
0
        protected string GetTuwenResponse(TextMessage tm)
        {
            TuwenMessage twMsg = new TuwenMessage();
            twMsg.FromUserName = tm.ToUserName;
            twMsg.ToUserName = tm.FromUserName;
            twMsg.CreateTime = WeiXinHelper.GetNowTime();

            TuwenArticleMessage article1 = new TuwenArticleMessage()
            {
                Title = "交大红娘团队",
                Description = "交大红娘团队成员有吴斯一, 陈楠,石皓,刘崇宵",
                PicUrl = "http://img.taopic.com/uploads/allimg/130716/318769-130G60Q62985.jpg",
                Url = "http://img.taopic.com/uploads/allimg/130716/318769-130G60Q62985.jpg"
            };

            TuwenArticleMessage article2 = new TuwenArticleMessage()
            {
                Title = "吴斯一,CEO",
                Description = "吴斯一,CEO",
                PicUrl = "http://e.hiphotos.baidu.com/image/h%3D200/sign=9e12075d6e224f4a4899741339f69044/d1a20cf431adcbef5ae00f7dafaf2edda2cc9ff0.jpg",
                Url = "http://e.hiphotos.baidu.com/image/h%3D200/sign=9e12075d6e224f4a4899741339f69044/d1a20cf431adcbef5ae00f7dafaf2edda2cc9ff0.jpg"
            };

            TuwenArticleMessage article3 = new TuwenArticleMessage()
            {
                Title = "陈楠,CTO",
                Description = "陈楠,CTO",
                PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/9345d688d43f879412576a35d11b0ef41bd53a04.jpg",
                Url = "http://g.hiphotos.baidu.com/image/pic/item/9345d688d43f879412576a35d11b0ef41bd53a04.jpg"
            };

            TuwenArticleMessage article4 = new TuwenArticleMessage()
            {
                Title = "石皓,CFO",
                Description = "石皓,CFO",
                PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/9345d688d43f879412576a35d11b0ef41bd53a04.jpg",
                Url = "http://g.hiphotos.baidu.com/image/pic/item/9345d688d43f879412576a35d11b0ef41bd53a04.jpg"
            };

            TuwenArticleMessage article5 = new TuwenArticleMessage()
            {
                Title = "刘崇宵,COO",
                Description = "刘崇宵,COO",
                PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/9345d688d43f879412576a35d11b0ef41bd53a04.jpg",
                Url = "http://g.hiphotos.baidu.com/image/pic/item/9345d688d43f879412576a35d11b0ef41bd53a04.jpg"
            };

            twMsg.AddArticle(article1);
            twMsg.AddArticle(article2);
            twMsg.AddArticle(article3);
            twMsg.AddArticle(article4);
            twMsg.AddArticle(article5);

            return twMsg.GetResponseString();
        }
 protected string HandleSubscribeAndGetResponse(EventMessage message)
 {
     //回复欢迎消息
     TextMessage tm = new TextMessage();
     tm.ToUserName = message.FromUserName;
     tm.FromUserName = message.ToUserName;
     tm.CreateTime = WeiXinHelper.GetNowTime();
     tm.Content = "欢迎您关注交大红娘-小鹿心动,我是服务小二,有事就请问我,呵呵!\n\n";
     string returnValue = tm.GetResponseString();
     return returnValue;
 }
Example #6
0
        /// <summary>
        /// 从xml数据加载文本消息
        /// </summary>
        /// <param name="xml"></param>
        public static TextMessage LoadFromXml(string xml)
        {
            TextMessage tm = null;
            if (!string.IsNullOrEmpty(xml))
            {
                XElement element = XElement.Parse(xml);
                if (element != null)
                {
                    tm = new TextMessage();
                    tm.FromXML(element);
                }
            }

            return tm;
        }
Example #7
0
        public static BaseMessage GetMessageByXml(string xmlStr)
        {
            if (string.IsNullOrEmpty(xmlStr))
            {
                //Log4netHelper.Write("xmlStr is null, return null");
                return(null);
            }

            XDocument doc = XDocument.Parse(xmlStr);

            XElement rootElement = doc.Root;

            XElement msgTypeElement = rootElement.Element(WeiXinConstants.MSG_TYPE);

            if (msgTypeElement == null)
            {
                //Log4netHelper.Write("msgTypeElement is null, return null");
                return(null);
            }

            string msgType = msgTypeElement.Value;
            //Log4netHelper.Write("msgType :" + msgType);

            BaseMessage returnValue;

            switch (msgType)
            {
            case "text":
                returnValue = new TextMessage();
                break;

            case "event":
                returnValue = new MenuEventMessage();
                break;

            //case "image":
            //    returnValue = new ImageMessage();
            //    break;
            //case "voice":
            //    returnValue = new VoiceMessage();
            //    break;
            //case "video":
            //    returnValue = new VideoMessage();
            //    break;
            //case "music":
            //    returnValue = new MusicMessage();
            //    break;
            case "news":
                returnValue = new TuwenMessage();
                break;

            default:
                returnValue = null;
                break;
            }

            if (returnValue != null)
            {
                returnValue.FromXML(rootElement);
            }

            return(returnValue);
        }