using System; using System.Collections.Generic; using System.Web; using YTO.WeiXin.BLL; using YTO.WeiXin.BLL.Interface; using YTO.WeiXin.Core; using YTO.WeiXin.Model; namespace YTO.WeiXin.Process { public class TextProcess : IProcess { IAuthorizationBiz AuthorizationBiz { get; set; } IContactBiz ContactBiz { get; set; } public void Process() { HttpContext context = HttpContext.Current; string paramXML = context.Items["XML"].ToString(); //Logger.Write("paramXML:" + paramXML); TextInfo Info = XmlHelper.XmlDeserialize<TextInfo>(paramXML); AuthorizationInfo authInfo = new AuthorizationInfo { OpenId = Info.FromUserName }; IList<AuthorizationInfo> authList = AuthorizationBiz.Query(authInfo); string reccontent = Info.Content; string[] str = reccontent.Split(' '); TextSendInfo SendInfo = new TextSendInfo(); SendInfo.ToUserName = Info.FromUserName; SendInfo.FromUserName = Info.ToUserName; SendInfo.CreateTime = DateTime.Now.ToString(); SendInfo.MsgType = MsgTypeEnum.text.ToString(); if (authList.Count > 0 && authList[0].Status == "已授权") { if (str.Length > 1 && !string.IsNullOrEmpty(str[1]))//如果格式正确 { //Logger.Write("str[1]:" + str[1]); ContactInfo contactInfo = new ContactInfo { CenterName = str[1].Trim() }; IList<ContactInfo> list = ContactBiz.Query(contactInfo); if (list.Count > 0)//数据库中有相关信息 { string content = string.Format(JobBase.GetConfParamValue(ParamEnum.CenterQueryResponse), list[0].CenterName, list[0].Name, list[0].PhoneNumber, list[0].Address); SendInfo.Content = content; } else//未查询到相关信息 { SendInfo.Content = JobBase.GetConfParamValue(ParamEnum.CenterNotExist);//"该中心不存在,请重新输入。如有问题,请联系021-69777911"; } } else//格式不正确 { SendInfo.Content = JobBase.GetConfParamValue(ParamEnum.CenterFormatError);//"请确认输入信息格式正确后,重新输入。如有问题,请联系021-69777911"; } } else { SendInfo.Content = JobBase.GetConfParamValue(ParamEnum.AuthWarning);//"请先在授权页面申请授权,再使用该功能!"; } string xml = XmlHelper.CustomXMLSerialize<TextSendInfo>(SendInfo, string.Empty); //Logger.Write("xml:" + xml); ResponseHelper.Success(xml); } } }