/// <summary> /// 验证签名,成为开发者 /// </summary> public void Index() { //获取AccessToken string access_token = GetAccessToken.AccessToken; //绑定菜单 string i = GetPage("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + access_token, getMenuJson()); string postStr = ""; //若为POST方式,则为微信用户发过来的消息对消息进行处理 if (Request.HttpMethod.ToLower() == "post") { Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); //接收到的消息,为XML格式 postStr = Encoding.UTF8.GetString(b); WriteTxt("接收消息:" + postStr + "\r\n\r\n"); if (!string.IsNullOrEmpty(postStr)) { try { //封装请求类 XmlDocument doc = new XmlDocument(); doc.LoadXml(postStr); XmlElement rootElement = doc.DocumentElement; XmlNode MsgType = rootElement.SelectSingleNode("MsgType"); 微信消息 requestXML = new 微信消息(); requestXML.ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText; requestXML.FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText; Session["weChatOpenId"] = requestXML.FromUserName; requestXML.CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText; requestXML.MsgType = MsgType.InnerText; //文本消息 if (requestXML.MsgType == "text") { requestXML.Content = rootElement.SelectSingleNode("Content").InnerText; requestXML.MsgId = rootElement.SelectSingleNode("MsgId").InnerText; } else if (requestXML.MsgType == "location") { requestXML.Location_X = rootElement.SelectSingleNode("Location_X").InnerText; requestXML.Location_Y = rootElement.SelectSingleNode("Location_Y").InnerText; requestXML.Scale = rootElement.SelectSingleNode("Scale").InnerText; requestXML.Label = rootElement.SelectSingleNode("Label").InnerText; } else if (requestXML.MsgType == "image") { requestXML.PicUrl = rootElement.SelectSingleNode("PicUrl").InnerText; } else if (requestXML.MsgType == "event") { requestXML.Wxevent = rootElement.SelectSingleNode("Event").InnerText; requestXML.EventKey = rootElement.SelectSingleNode("EventKey").InnerText; } // WriteTxt("----------粉丝发送过来的消息,消息类型:" + requestXML.MsgType + "----------:" + postStr); //回复消息 ResponseMsg(requestXML); } catch { Response.Write(""); WriteTxt("已报错------------\r\n"); } } else { Response.Write(""); WriteTxt("消息为空\r\n"); } } else { WriteTxt("Get方式\r\n"); Valid(); } }
/// <summary> /// 回复消息(微信信息返回) /// </summary> /// <param name="weixinXML"></param> private void ResponseMsg(微信消息 requestXML) { //string resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime>"; //try //{ // if (requestXML.MsgType == "text") // { // int count = 0; // if (requestXML.Content.Trim() == "单图") // { // count = 1; // resxml += "<MsgType><![CDATA[news]]></MsgType><ArticleCount>" + count + "</ArticleCount><Articles>"; // resxml += "<item><Title><![CDATA[这里是标题]]></Title><Description><![CDATA[这里是描述,当是单图文的时候描述才会展示]]></Description><PicUrl><![CDATA[http://imgsrc.baidu.com/product_name/pic/item/32374836acaf2edd470a31508d1001e93801934a.jpg]]></PicUrl><Url><![CDATA[http://www.baidu.com]]></Url></item>";//URL是点击之后跳转去那里,这里跳转到百度 // resxml += "</Articles><FuncFlag>0</FuncFlag></xml>"; // } // else if (requestXML.Content.Trim() == "多图") // { // count = 10; // resxml += "<MsgType><![CDATA[news]]></MsgType><ArticleCount>" + count + "</ArticleCount><Articles>"; // for (int i = 0; i < count; i++) // { // resxml += "<item><Title><![CDATA[这里是标题" + (i + 1) + "]]></Title><Description><![CDATA[这里是描述,当是单图文的时候描述才会展示]]></Description><PicUrl><![CDATA[http://imgsrc.baidu.com/product_name/pic/item/32374836acaf2edd470a31508d1001e93801934a.jpg]]></PicUrl><Url><![CDATA[http://www.baidu.com]]></Url></item>";//URL是点击之后跳转去那里,这里跳转到百度 // } // resxml += "</Articles><FuncFlag>0</FuncFlag></xml>"; // } // else // { // resxml += "<MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您发过来的是文字类型消息\n哈哈]]></Content><FuncFlag>0</FuncFlag></xml>"; // } // } // else if (requestXML.MsgType == "location") // { // resxml += "<MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您发过来的是地理消息\n哈哈]]></Content><FuncFlag>0</FuncFlag></xml>"; // } // else if (requestXML.MsgType == "image") // { // resxml += "<MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您发一张图片过来我怎么识别啊,您以为我有眼睛啊\n哈哈]]></Content><FuncFlag>0</FuncFlag></xml>"; // } // else if (requestXML.MsgType == "event") // { // if (requestXML.Wxevent == "unsubscribe") // { // //取消关注 // } // else // { // //新增关注 // resxml += "<MsgType><![CDATA[text]]></MsgType><Content><![CDATA[谢谢您关注我。]]></Content><FuncFlag>0</FuncFlag></xml>"; // } // } //} //catch (Exception ex) //{ // WriteTxt("异常:" + ex.Message); //} //WriteTxt("返回给粉丝的消息:" + resxml); //Response.Write(resxml); //Response.End(); try { string resxml = ""; if (requestXML.MsgType == "text") { //var wechatuser = 优惠码管理.计数优惠码(0, 0, Query<优惠码>.Where(o => o.WeChatUser == requestXML.FromUserName)); //if (wechatuser > 0) //{ // resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + // "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + // "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + // "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您已经获取过优惠码,不能再次获取!]]></Content><FuncFlag>0</FuncFlag></xml>"; //} //else //{ // var discountCode = GenerateDisCountCode("unit"); // resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + // "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + // "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + // "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您的优惠码为:" + // discountCode + "]]></Content><FuncFlag>0</FuncFlag></xml>"; // var code = new 优惠码(); // code.WeChatUser = requestXML.FromUserName; // code.Code = discountCode; // 优惠码管理.添加优惠码(code); //} resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[未找到相关信息!]]></Content><FuncFlag>0</FuncFlag></xml>"; } else if (requestXML.MsgType == "location") { string city = GetMapInfo(requestXML.Location_X, requestXML.Location_Y); if (city == "0") { resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[Sorry,没有找到" + city + " 的相关产品信息]]></Content><FuncFlag>0</FuncFlag></xml>"; } else { resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[Sorry,这是 " + city + " 的产品信息:圈圈叉叉]]></Content><FuncFlag>0</FuncFlag></xml>"; } } else if (requestXML.MsgType == "image") { //返回10以内条 int size = 5; resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>" + size + "</ArticleCount><Articles>"; List<string> list = new List<string>(); //假如有20条查询的返回结果 for (int i = 0; i < 20; i++) { list.Add("1"); } string[] piclist = new string[] { "/Images/tu.jpg", "/Images/ticket1.jpg", "/Images/ticket2.jpg", "/Images/ticket3.jpg", "/Images/tu.jpg", "/Images/ticket1.jpg", "/Images/ticket2.jpg", "/Images/ticket3.jpg", "/Images/ticket2.jpg", "/Images/ticket3.jpg" }; for (int i = 0; i < size && i < list.Count; i++) { WriteTxt(piclist[i]); Response.Write(piclist[i]); resxml += "<item><Title><![CDATA[沈阳-黑龙江]]></Title><Description><![CDATA[元旦特价:¥300 市场价:¥400]]></Description><PicUrl><![CDATA[" + "http://www.go81.cn/" + piclist[i] + "]]></PicUrl><Url><![CDATA[http://www.go81.cn/新闻/NewsDetail?id=64]]></Url></item>"; } resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } else if (requestXML.MsgType == "event") { if (requestXML.Wxevent == "unsubscribe") { //用户取消关注事件,如该用户已经绑定过,则彻底删除该用户的绑定信息 var openid = requestXML.FromUserName; var user = 微信管理.查询微信用户(0, 0, Query<微信用户>.EQ(o => o.openId, openid)); if (user.Count() > 0) { 微信管理.物理删除微信用户(user.First().Id); } } else if (requestXML.Wxevent == "subscribe") { //用户关注事件,发送初始文本 resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[感谢关注西南物资采购网。本公众平台主要功能包括成都军区物资采购信息发布、供应商与评审专家入库申请、数据搜集、资格预审、在库管理、协议供应商商品公示、应急供应商统一协调管理、服务型采购信息提供等。]]></Content><FuncFlag>0</FuncFlag></xml>"; } else if (requestXML.Wxevent.ToLower() == "click") { //检查用户 var openid = requestXML.FromUserName; var user = 微信管理.查询微信用户(0, 0, Query<微信用户>.EQ(o => o.openId, openid)); 用户基本数据 userinfo = null; Type usertype = null; if (user.Count() > 0) { var userid = user.First().用户链接.用户ID; userinfo = 用户管理.查找用户(userid); if (userinfo != null) { usertype = userinfo.GetType(); } } //检查用户 switch (requestXML.EventKey) { //点击验收单事件 #region 点击验收单事件 case "DoWechatSearchYsd": try { //var user = 微信管理.查询微信用户(0, 0, Query<微信用户>.EQ(o => o.openId, openid)); if (user.Count() > 0) { //var userid = user.First().用户链接.用户ID; //var userinfo = 用户管理.查找用户(userid); if (userinfo != null) { //var usertype = userinfo.GetType(); if (typeof(供应商) == usertype) { //验收单总和 var ysd_count = 验收单管理.计数验收单(0, 0, Query<验收单>.EQ(o => o.供应商链接.用户ID, userinfo.Id)); //已作废验收单数 var ysd_count_e = 验收单管理.计数验收单(0, 0, Query<验收单>.EQ(o => o.供应商链接.用户ID, userinfo.Id).And(Query<验收单>.EQ(o => o.是否作废, true))); //审核通过验收单数 var ysd_count_y = 验收单管理.计数验收单(0, 0, Query<验收单>.Where(o => o.供应商链接.用户ID == userinfo.Id && o.是否作废 == false && o.审核数据.审核状态 == 审核状态.审核通过)); //审核未通过验收单数 var ysd_count_n = 验收单管理.计数验收单(0, 0, Query<验收单>.Where(o => o.供应商链接.用户ID == userinfo.Id && o.是否作废 == false && o.审核数据.审核状态 == 审核状态.审核未通过)); //未审核验收单数 var ysd_count_d = 验收单管理.计数验收单(0, 0, Query<验收单>.Where(o => o.供应商链接.用户ID == userinfo.Id && o.是否作废 == false && o.审核数据.审核状态 == 审核状态.未审核)); //绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[验收单信息]]></Title><Description><![CDATA[供应商您好,关于您的验收单信息如下:\n提交验收单总数:" + ysd_count + "\n待审核验收单数:" + ysd_count_d + "\n审核通过验收单数:" + ysd_count_y + "\n审核未通过验收单数:" + ysd_count_n + "\n已作废验收单数:" + ysd_count_e + "\n\n点击此消息查看详情。]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[http://www.go81.cn/wechat/GysYsdList?openid=" + openid + "]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } else if (typeof(单位用户) == usertype) { //验收单总和 var ysd_count = 验收单管理.计数验收单(0, 0, Query<验收单>.EQ(o => o.管理单位审核人.用户ID, userinfo.Id)); //已作废验收单数 var ysd_count_e = 验收单管理.计数验收单(0, 0, Query<验收单>.EQ(o => o.管理单位审核人.用户ID, userinfo.Id).And(Query<验收单>.EQ(o => o.是否作废, true))); //有效验收单数 var ysd_count_o = ysd_count - ysd_count_e; //审核通过验收单数 var ysd_count_y = 验收单管理.计数验收单(0, 0, Query<验收单>.Where(o => o.管理单位审核人.用户ID == userinfo.Id && o.是否作废 == false && o.审核数据.审核状态 == 审核状态.审核通过)); //审核未通过验收单数 var ysd_count_n = 验收单管理.计数验收单(0, 0, Query<验收单>.Where(o => o.管理单位审核人.用户ID == userinfo.Id && o.是否作废 == false && o.审核数据.审核状态 == 审核状态.审核未通过)); //未审核验收单数 var ysd_count_d = 验收单管理.计数验收单(0, 0, Query<验收单>.Where(o => o.管理单位审核人.用户ID == userinfo.Id && o.是否作废 == false && o.审核数据.审核状态 == 审核状态.未审核)); //绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[验收单信息]]></Title><Description><![CDATA[单位用户您好,关于您的验收单信息如下:\n提交验收单总数:" + ysd_count + "\n有效验收单数:" + ysd_count_o + "\n待审核验收单数:" + ysd_count_d + "\n审核通过验收单数:" + ysd_count_y + "\n审核未通过验收单数:" + ysd_count_n + "\n已作废验收单数:" + ysd_count_e + "\n\n点击此消息查看详情。]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[http://www.go81.cn/wechat/UnitYsdList?openid=" + openid + "]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } else { //绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[验收单信息]]></Title><Description><![CDATA[未找到关于您的验收单信息!]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } } else { //绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[验收单信息]]></Title><Description><![CDATA[未查找到您绑定的用户信息,您绑定的用户可能处于未审核状态,如有疑问,请联系客服!]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } } else { //绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[验收单信息]]></Title><Description><![CDATA[您还未绑定用户,请点击菜单-->绑定用户进行绑定\n或点击此信息进行用户绑定。]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[http://www.go81.cn/wechat/WeChatBindUser?openid=" + openid + "]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } } catch { //绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[验收单信息]]></Title><Description><![CDATA[未找到关于您的验收单。]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } #endregion break; #region 用户绑定 case "doBindUserInfo": //绑定用户,先判断该用户是否已绑定 if (user.Count() > 0) { //该用户已经绑定,显示该用户的绑定信息,不载入绑定页面 var BindEdStr = ""; if (userinfo != null) { if (typeof(供应商) == usertype) { BindEdStr = "您绑定的用户为:" + (userinfo as 供应商).企业基本信息.企业名称 + "。\n如绑定有误或取消绑定,请联系网站客服!"; } else if (typeof(单位用户) == usertype) { BindEdStr = "您绑定的用户为:" + (userinfo as 单位用户).单位信息.单位名称 + "。\n如绑定有误或取消绑定,请联系网站客服!"; } } else { BindEdStr = "您绑定的用户未审核通过或已删除。\n如绑定有误或取消绑定,请联系网站客服!"; } //显示提示信息 resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[您的用户已经绑定过]]></Title><Description><![CDATA[" + BindEdStr + "]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } else { //该用户未绑定,则载入绑定页面,传入openid resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><Content><![CDATA[]]></Content><ArticleCount>1</ArticleCount><Articles>"; resxml += "<item><Title><![CDATA[点击此信息进行用户绑定]]></Title><Description><![CDATA[点击这里进行用户绑定]]></Description><PicUrl><![CDATA[]]></PicUrl><Url><![CDATA[http://www.go81.cn/wechat/WeChatBindUser?openid=" + openid + "]]></Url></item>"; resxml += "</Articles><FuncFlag>1</FuncFlag></xml>"; } #endregion break; #region 优惠券获取 case "get": var wechatuser = 优惠码管理.计数优惠码(0, 0, Query<优惠码>.Where(o => o.WeChatUser == requestXML.FromUserName)); if (wechatuser > 0) { resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您已经获取过优惠码,不能再次获取!]]></Content><FuncFlag>0</FuncFlag></xml>"; } else { var discountcode = GenerateDisCountCode("gys"); resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您的优惠码为:" + discountcode + "]]></Content><FuncFlag>0</FuncFlag></xml>"; var code = new 优惠码(); code.WeChatUser = requestXML.FromUserName; code.Code = discountcode; code.已使用 = false; 优惠码管理.添加优惠码(code); } break; //case "unit": // resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + // "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + // "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + // "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[请输入您的官兵用户信息,格式为:gbyh:+(单位拼音缩写或番号)。 如:gbyh:70000或gbyh:xnwzcgw。请点击左下角键盘符号返回输入界面进行输入。]]></Content><FuncFlag>0</FuncFlag></xml>"; // break; case "my": var mycode = 优惠码管理.查询优惠码(0, 0, Query<优惠码>.Where(o => o.WeChatUser == requestXML.FromUserName)); if (mycode.Any()) { resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[您的优惠码为:" + mycode.First().Code + "]]></Content><FuncFlag>0</FuncFlag></xml>"; } else { resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[你尚未获取优惠码!]]></Content><FuncFlag>0</FuncFlag></xml>"; } break; #endregion default: resxml = "<xml><ToUserName><![CDATA[" + openid + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[点击菜单事件]]></Content><FuncFlag>0</FuncFlag></xml>"; break; } } } WriteTxt(resxml); Response.Write(resxml); } catch (Exception ex) { WriteTxt("异常:" + ex.Message + "Struck:" + ex.StackTrace.ToString()); } }