protected void Timer1_Tick(object sender, EventArgs e) { DataSet dss = select.SendContent(); if (dss != null && dss.Tables[0].Rows.Count > 0) { string responeJsonStr = "{"; responeJsonStr += "\"touser\": \"" + dss.Tables[0].Rows[0]["weixinNum"].ToString() + "\","; responeJsonStr += "\"msgtype\": \"text\","; responeJsonStr += "\"agentid\": \"0\","; responeJsonStr += "\"text\": {"; responeJsonStr += "\"content\": \"" + dss.Tables[0].Rows[0]["Contents"].ToString() + "\""; responeJsonStr += "},"; responeJsonStr += "\"safe\":\"0\""; responeJsonStr += "}"; weixinsendmessage wxsend = new weixinsendmessage(); wxsend.SendQYMessage(corpId, corpsecret, responeJsonStr, Encoding.UTF8); int id = Convert.ToInt32(dss.Tables[0].Rows[0]["id"].ToString()); select.Delete(id); } //DataSet dc = select.AddDataUser(); //if (dc != null && dc.Tables[0].Rows.Count > 0) //{ // string responeJsonStr = "{"; // responeJsonStr += "\"userid\": \"" + dc.Tables[0].Rows[0]["weixinNum"].ToString() + "\","; // responeJsonStr += "\"name\": \"" + dc.Tables[0].Rows[0]["UserName"].ToString() + "\","; // responeJsonStr += "\"department\": \"[2]\","; // responeJsonStr += "\"mobile\": \"" + dc.Tables[0].Rows[0]["Tel"].ToString() + "\","; // string sex = ""; // if (dc.Tables[0].Rows[0]["Sex"].ToString() == "男") // { // sex = "1"; // } // else // { // sex = "0"; // } // responeJsonStr += "\"gender\": \"" + sex + "\","; // responeJsonStr += "\"email\": \"" + dc.Tables[0].Rows[0]["Email"].ToString() + "\","; // responeJsonStr += "\"weixinid\": \"" + dc.Tables[0].Rows[0]["UserId"].ToString() + "\""; // responeJsonStr += "}"; // weixinsendmessage wxsend = new weixinsendmessage(); // wxsend.newadduser(corpId, corpsecret, responeJsonStr, Encoding.UTF8); // int id = Convert.ToInt32(dc.Tables[0].Rows[0]["id"].ToString()); // select.Update(id); //} }
public static void CreateMenuTest(string corpId, string corpsecret) { Weixin.Mp.Sdk.Domain.Menu menu = new Weixin.Mp.Sdk.Domain.Menu(); List <Weixin.Mp.Sdk.Domain.Button> button = new List <Weixin.Mp.Sdk.Domain.Button>(); Weixin.Mp.Sdk.Domain.Button subBtn1 = new Weixin.Mp.Sdk.Domain.Button() { key = "subkey1", name = "订单跟踪", sub_button = null, type = "click", url = "http://" }; Weixin.Mp.Sdk.Domain.Button subBtn2 = new Weixin.Mp.Sdk.Domain.Button() { key = "subkey2", name = "义齿资料", sub_button = null, type = "view", url = "" }; Weixin.Mp.Sdk.Domain.Button subBtn3 = new Weixin.Mp.Sdk.Domain.Button() { key = "subkey3", name = "义齿新闻", sub_button = null, type = "click", url = "http://" }; List <Weixin.Mp.Sdk.Domain.Button> subBtnAll = new List <Weixin.Mp.Sdk.Domain.Button>(); List <Weixin.Mp.Sdk.Domain.Button> subBtnAls = new List <Weixin.Mp.Sdk.Domain.Button>(); subBtnAll.Add(subBtn1); subBtnAls.Add(subBtn2); subBtnAls.Add(subBtn3); Weixin.Mp.Sdk.Domain.Button btn = new Weixin.Mp.Sdk.Domain.Button() { key = "key1", name = "专享服务", url = "httpbig", type = "click", sub_button = subBtnAll }; button.Add(btn); btn = new Weixin.Mp.Sdk.Domain.Button() { key = "key2", name = "关于义齿", url = "httpbig", type = "click", sub_button = subBtnAls }; button.Add(btn); btn = new Weixin.Mp.Sdk.Domain.Button() { key = "key3", name = "问题解答", url = "httpbig", type = "click", }; button.Add(btn); menu.button = button; MenuGroup mg = new MenuGroup() { menu = menu }; string postData = mg.ToJsonString(); weixinsendmessage wxsend = new weixinsendmessage(); wxsend.CreateMenu(corpId, corpsecret, postData, Encoding.UTF8); }
string corpsecret = ConfigurationManager.AppSettings["corpsecret"]; //新建管理组id protected void Page_Load(object sender, EventArgs e) { string sVerifyMsgSig = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature string sVerifyTimeStamp = HttpContext.Current.Request.QueryString["timestamp"]; string sVerifyNonce = HttpContext.Current.Request.QueryString["nonce"]; string sVerifyEchoStr = HttpContext.Current.Request.QueryString["echoStr"]; WXBizMsgCrypts wxcpt = new WXBizMsgCrypts(token, encodingAESKey, corpId); int ret = 0; string postString = string.Empty; #region if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { string msg = ""; using (Stream stream = HttpContext.Current.Request.InputStream) { Byte[] postBytes = new Byte[stream.Length]; stream.Read(postBytes, 0, (Int32)stream.Length); postString = Encoding.UTF8.GetString(postBytes); } if (!string.IsNullOrEmpty(postString)) { ret = wxcpt.DecryptMsg(sVerifyMsgSig, sVerifyTimeStamp, sVerifyNonce, postString, ref msg); if (ret != 0) { HttpContext.Current.Response.Write("ERR: VerifyURL fail, ret: " + ret); return; } WeiXinRequest requestXML = new WeiXinRequest(); XmlDocument doc = new XmlDocument(); doc.LoadXml(msg); XmlNode root = doc.FirstChild; requestXML.FromUserName = root["FromUserName"].InnerText; requestXML.MsgType = root["MsgType"].InnerText; if (requestXML.MsgType == "text") { requestXML.Content = root["Content"].InnerText; } if (requestXML.MsgType == "event") { requestXML.Wxevent = root["Event"].InnerText; requestXML.EventKey = root["EventKey"].InnerText; } #region string database = ""; string sql = ""; if (requestXML.MsgType == "text") { string orderid = requestXML.Content.Trim(); //订单号 string UserName = requestXML.FromUserName.Trim(); //微信号 Order order = new Order(); DataSet ds = new DataSet(); DataSet dss = select.DatabaseName(UserName);//当前数据库 if (dss != null && dss.Tables[0].Rows.Count > 0) { for (int a = 0; a < dss.Tables[0].Rows.Count; a++) { database = dss.Tables[0].Rows[a]["DataBaseName"].ToString(); if (database != "") { database = database + "."; #region ds = select.getOrder(orderid, UserName, database); //质保卡 if (ds != null) { order = select.fillorder(ds.Tables[0].Rows); sql += "产品的质保卡信息\n"; sql += "订单编号:" + order.orderId + "\n"; sql += "医院名称:" + order.hospital + "\n"; sql += "患者姓名:" + order.patient + "\n"; sql += "医生姓名:" + order.doctor + "\n"; string indte = ""; if (order.indate != null) { indte = Convert.ToDateTime(order.indate).ToString("yyyy-MM-dd"); } sql += "生产日期:" + indte + "\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sql += "产品名称:" + ds.Tables[0].Rows[i]["itemname"].ToString() + "\n"; sql += "保修日期:" + ds.Tables[0].Rows[i]["Valid"].ToString() + "\n"; sql += "牙位如下" + "\n"; sql += "上右位:" + ds.Tables[0].Rows[i]["a_teeth"].ToString() + "\n"; sql += "上左位:" + ds.Tables[0].Rows[i]["b_teeth"].ToString() + "\n"; sql += "下右位:" + ds.Tables[0].Rows[i]["c_teeth"].ToString() + "\n"; sql += "下左位:" + ds.Tables[0].Rows[i]["d_teeth"].ToString() + "\n\n"; } } #endregion #region ds = select.getOrdered(orderid, UserName, database); //材料成分 if (ds != null) { order = select.fillorder(ds.Tables[0].Rows); sql += "产品的材料成分等可追溯信息\n"; sql += "订单编号:" + order.orderId + "\n"; sql += "医院名称:" + order.hospital + "\n"; sql += "患者姓名:" + order.patient + "\n"; sql += "医生姓名:" + order.doctor + "\n"; string indte = ""; if (order.indate != null) { indte = Convert.ToDateTime(order.indate).ToString("yyyy-MM-dd"); } sql += "生产日期:" + indte + "\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sql += "产品名称:" + ds.Tables[0].Rows[i]["itemname"].ToString() + "\n"; sql += "材料名称:" + ds.Tables[0].Rows[i]["Name"].ToString() + "\n"; sql += "生产厂家及材料注册证号:" + ds.Tables[0].Rows[i]["Maker"].ToString() + "\n"; sql += "材料批号:" + ds.Tables[0].Rows[i]["batchNo"].ToString() + "\n\n"; } } #endregion } } } else { sql += "欢迎关注\n吉星义齿--义齿加工行业首选管理软件。\n\n没有所需的订单信息!!\n"; } if (sql == "") { sql += "欢迎关注\n吉星义齿--义齿加工行业首选管理软件。\n\n请正确输入订单号:\n根据输入订单号可以查询\n1、产品的质保卡信息\n2、产品的材料成分信息\n"; } } #endregion #region else if (requestXML.MsgType == "event") { if (requestXML.Wxevent == "unsubscribe") { //取消关注 } else { if (requestXML.Wxevent != null) { //菜单单击事件 if (requestXML.Wxevent.Equals("click")) { if (requestXML.EventKey.Equals("subkey1")) { #region string orderid = ""; int num = 0; sql = ""; DataSet ds = new DataSet(); DataSet dss = select.DatabaseName(requestXML.FromUserName); //当前数据库 if (dss != null && dss.Tables[0].Rows.Count > 0) { for (int a = 0; a < dss.Tables[0].Rows.Count; a++) { database = dss.Tables[0].Rows[a]["DataBaseName"].ToString(); if (database != "") { database = database + "."; ds = select.getOrdering(requestXML.FromUserName, database);//查询产品的加工进程 if (ds != null) { sql += "产品的加工进程\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (orderid != ds.Tables[0].Rows[i]["order_id"].ToString()) { num = num + 1; sql += "-----------------\n"; sql += "(" + num + ")订单编号:" + ds.Tables[0].Rows[i]["order_id"].ToString() + "\n"; sql += "医院名称:" + ds.Tables[0].Rows[i]["hospital"].ToString() + "\n"; sql += "医生姓名:" + ds.Tables[0].Rows[i]["doctor"].ToString() + "\n"; string indte = ""; if (ds.Tables[0].Rows[i]["inDate"].ToString() != "") { indte = Convert.ToDateTime(ds.Tables[0].Rows[i]["inDate"].ToString()).ToString("yyyy-MM-dd"); } sql += "到厂日期:" + indte + "\n"; string preoutdate = ""; if (ds.Tables[0].Rows[i]["preoutdate"].ToString() != "") { preoutdate = Convert.ToDateTime(ds.Tables[0].Rows[i]["preoutdate"].ToString()).ToString("yyyy-MM-dd"); } sql += "出厂日期:" + preoutdate + "\n"; sql += "患者姓名:" + ds.Tables[0].Rows[i]["patient"].ToString() + "\n"; orderid = ds.Tables[0].Rows[i]["order_id"].ToString(); } sql += "产品名称:" + ds.Tables[0].Rows[i]["itemname"].ToString() + "\n"; sql += "工序:" + ds.Tables[0].Rows[i]["process"].ToString() + "\n"; } } } } } else { sql += "当前没有您的产品的加工进程信息!!\n"; } if (sql == "") { sql += "当前没有您的产品的加工进程信息!"; } #endregion } else if (requestXML.EventKey.Equals("subkey3")) { sql += "结算单汇总查询统计(分析情况报告)"; } else if (requestXML.EventKey.Equals("key3")) { sql += "欢迎关注\n吉星义齿--义齿加工行业首选管理软件。\n\n请正确输入订单号:\n根据输入订单号可以查询\n1、产品的质保卡信息\n2、产品的材料成分信息\n"; } } } } } #endregion //发送消息,把收到的内容回复给发送者 string responeJsonStr = ""; if (requestXML.Wxevent != null && requestXML.Wxevent.Equals("click") && requestXML.EventKey.Equals("subkey3")) { responeJsonStr = "{"; responeJsonStr += "\"touser\": \"" + requestXML.FromUserName + "\","; responeJsonStr += "\"msgtype\": \"news\","; responeJsonStr += "\"agentid\": \"0\","; responeJsonStr += "\"news\": {"; responeJsonStr += "\"articles\":[{"; responeJsonStr += "\"title\": \"结算单查询\","; responeJsonStr += "\"description\": \"" + sql + "\","; responeJsonStr += "\"url\": \"http://www.chaya8.com/WebSearchs.aspx?UserName="******"\","; responeJsonStr += "\"picurl\": \"http://down.cnshu.cn/2011/cnshu_images/huanglu/1106241144.jpg\""; responeJsonStr += "}]"; responeJsonStr += "}"; responeJsonStr += "}"; } else { responeJsonStr = "{"; responeJsonStr += "\"touser\": \"" + requestXML.FromUserName + "\","; responeJsonStr += "\"msgtype\": \"text\","; responeJsonStr += "\"agentid\": \"0\","; responeJsonStr += "\"text\": {"; responeJsonStr += "\"content\": \"" + sql + "\""; responeJsonStr += "},"; responeJsonStr += "\"safe\":\"0\""; responeJsonStr += "}"; } weixinsendmessage wxsend = new weixinsendmessage(); wxsend.SendQYMessage(corpId, corpsecret, responeJsonStr, Encoding.UTF8); } } #endregion else //回调验证 { string sEchoStr = ""; ret = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp, sVerifyNonce, sVerifyEchoStr, ref sEchoStr); if (ret != 0) { HttpContext.Current.Response.Write("ERR: VerifyURL fail, ret: " + ret); return; } HttpContext.Current.Response.Write(sEchoStr); HttpContext.Current.Response.End(); } }