微信响应文本消息

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);
        }
    }
}

 

微信响应文本消息

上一篇:微信接受请求的接口


下一篇:微信支付开发(2) 静态链接Native支付