protected void Page_Load(object sender, EventArgs e) { string postStr = ""; TXT_Help th = new TXT_Help(); 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); postStr = Encoding.UTF8.GetString(b); th.ReFreshTXT(postStr, "D:\\msgweixin\\Post" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); XmlHelp xh = new XmlHelp(); SortedDictionary <string, string> sParams = xh.GetInfoFromXml(postStr); if (sParams["return_code"].ToString() == "SUCCESS") { BaseClass.Dal.ChongzhiLog sl = new BaseClass.Dal.ChongzhiLog(); if (sl.CZisok(sParams["out_trade_no"].ToString(), sParams["openid"].ToString())) { string mid = sParams["openid"].ToString(); decimal money = decimal.Parse(sParams["cash_fee"].ToString()) / 100; LVWEIBA.Model.MemberMoney modelMoney = new LVWEIBA.Model.MemberMoney(); LVWEIBA.BLL.MemberMoney bllMoney = new LVWEIBA.BLL.MemberMoney(); modelMoney.MemberID = mid; modelMoney.Money = money; modelMoney.Method = "3";//微信充值 modelMoney.Bz = "客户微信充值"; modelMoney.Sj = DateTime.Now; bool isOKM = false; isOKM = bllMoney.Add(modelMoney); bool isOK = false; LVWEIBA.Model.MemberList model = new LVWEIBA.Model.MemberList(); LVWEIBA.BLL.MemberList bll = new LVWEIBA.BLL.MemberList(); if (bll.Exists(mid)) { model = bll.GetModel(mid); model.Money = model.Money + money; isOK = bll.Update(model); } else { model.MemberId = mid; model.Money = money; isOK = bll.Add(model); } } else { th.ReFreshTXT(postStr, "D:\\msg\\zhifuErr\\", "错误CZ" + DateTime.Now.ToString("yyMMddHHmmssff") + ".txt"); } } Response.End(); } }
public string CreatTxtMsg(string openid, string ToUserName, string Content) { string strresponse = "<xml>"; strresponse += "<ToUserName><![CDATA[" + openid + "]]></ToUserName>"; strresponse += "<FromUserName><![CDATA[" + ToUserName + "]]></FromUserName>"; strresponse += "<CreateTime>" + DateTime.Now.Ticks.ToString() + "</CreateTime>"; TXT_Help th = new TXT_Help(); string mid = ""; if (Content.Contains("二维码")) { Erweima er = new Erweima(); if (!File.Exists("D://LVWEIBA//WeixinSys//media//Code//" + openid + ".jpg")) { try { er.CreatHaibaowithCode(openid, new DBCLASSFORWEIXIN.DAL.LocalWeixinUser().GetModel(openid).headimgurl); } catch (Exception ee) { th.ReFreshTXT(ee.ToString(), "D:\\msgweixin\\Code" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); } } mid = new MeaidWxUpLoad().WxUpLoad("D://LVWEIBA//WeixinSys//media//Code//" + openid + ".jpg", "image"); strresponse = strresponse + "<MsgType><![CDATA[image]]></MsgType>"; strresponse = strresponse + "<Image>"; strresponse = strresponse + "<MediaId><![CDATA[" + mid + "]]></MediaId>"; strresponse = strresponse + "</Image>"; strresponse += "</xml>"; SendCustomerMsg ss = new SendCustomerMsg(); string posdata1 = "{ \"touser\":\"" + openid + "\", \"msgtype\":\"text\", \"text\": { \"content\":\"稍等····,正在生成二维码。http://wx.lvwei8.com/media/code/" + openid + ".jpg\" }}"; string posdata2 = "{ \"touser\":\"" + openid + "\", \"msgtype\":\"image\", \"image\": { \"media_id\":\"" + mid + "\" }}"; th.ReFreshTXT(posdata2, "D:\\msgweixin\\VVV" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); try { ss.SendMsg(openid, posdata1); // ss.SendMsg(openid, posdata2); } catch (Exception vv) { th.ReFreshTXT(vv.ToString(), "D:\\msgweixin\\Code" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); } } else { strresponse = DefaultTxtMsg(openid, ToUserName); } return(strresponse); }
public string CreatCliskMsg(string openid, string ToUserName, string EventKey) { string strresponse = "<xml>"; strresponse += "<ToUserName><![CDATA[" + openid + "]]></ToUserName>"; strresponse += "<FromUserName><![CDATA[" + ToUserName + "]]></FromUserName>"; strresponse += "<CreateTime>" + DateTime.Now.Ticks.ToString() + "</CreateTime>"; if (EventKey.ToLower() == "pinpaigushi") { strresponse = strresponse + "<MsgType><![CDATA[news]]></MsgType>"; strresponse = strresponse + "<ArticleCount>1</ArticleCount>"; strresponse = strresponse + "<Articles>"; strresponse = strresponse + "<item>"; strresponse = strresponse + "<Title><![CDATA[远方的渴望-我们的故事!]]></Title> "; strresponse = strresponse + "<Description><![CDATA[在那里我度过了童年和少年时期,无忧无虑是主旋律,一碗热腾的羊肉泡馍也能让我想念一个月。镇上有很多人去外地做生意,我做喜欢的事情就是听他们在昏暗的灯光下讲外面的故事,这些故事激起我了对远方的渴望。那时候我就想一定要到山的那边看看外面的世界!]]></Description>"; strresponse = strresponse + "<PicUrl><![CDATA[http://mmbiz.qpic.cn/mmbiz/UlVELicS5uOCeLQRLTGD3flqctQDHu8r63D59xicq0Q6nEMZicvNcbEWLJDmEHNgia2wPGLhB8r3Os68OG0Nxp923w/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1]]></PicUrl>"; strresponse = strresponse + "<Url><![CDATA[https://mp.weixin.qq.com/s?__biz=MzA3NDIxMzQ3Ng==&mid=504458596&idx=1&sn=ae70fa1a772cd87f91375bf777676705&scene=1&srcid=04215PCf7d1fugOBEvFl5xW8]]></Url>"; strresponse = strresponse + "</item>"; strresponse = strresponse + "</Articles>"; } else if (EventKey.ToLower() == "haibao" || EventKey.ToLower() == "hiabao") { Erweima er = new Erweima(); if (!File.Exists("D://WeiXinSystem//media//haibao//" + openid + ".jpg")) { try { er.CreatHaibaowithCode(openid, new DBCLASSFORWEIXIN.DAL.LocalWeixinUser().GetModel(openid).headimgurl); } catch (Exception ee) { TXT_Help th = new TXT_Help(); th.ReFreshTXT(openid + ee.ToString(), "D:\\msgweixin\\Code" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); } } string mid = ""; mid = new MeaidWxUpLoad().WxUpLoad("D://WeiXinSystem//media//haibao//" + openid + ".jpg", "image"); strresponse = strresponse + "<MsgType><![CDATA[image]]></MsgType>"; strresponse = strresponse + "<Image>"; strresponse = strresponse + "<MediaId><![CDATA[" + mid + "]]></MediaId>"; strresponse = strresponse + "</Image>"; } strresponse += "</xml>"; return(strresponse); }
public string CreatHaibaowithCode(string openid, string hpic) { string URL = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + WeixinApiClass.GetWeiXinInf.Getaccess_token(); string json = "{\"action_name\":\"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"" + openid + "\"}}}"; string rjson = WeixinApiClass.PostDataToUrl.PostXmlToUrl(URL, json); TXT_Help th = new TXT_Help(); //th.ReFreshTXT(rjson, "D:\\msg_err\\","c" + DateTime.Now.ToString("yyMMddHHmmssff") + ".txt"); if (rjson.Contains("errcode")) { return("~/CodeWithOpenid/0.png"); } else { JObject jo = JObject.Parse(rjson); string[] values = jo.Properties().Select(item => item.Value.ToString()).ToArray(); string ticket = values[0].ToString(); string url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" + ticket.Trim(); DownFile d = new DownFile(); string spath = "D://LVWEIBA//WeixinSys//Media//code//" + openid + ".jpg"; string npath = "D://LVWEIBA//WeixinSys//Media//haibao//" + openid + ".jpg"; string hpath = "D://LVWEIBA//WeixinSys//Media//headimg//" + openid + ".jpg"; if (File.Exists(npath)) { return("http://wx.lvwei8.com/media/haibao/" + openid + ".jpg"); } else { d.DownloadFile(url, spath, 300000); //下载二维码 if (hpic == "") //如果没有头像 { d.DownloadFile(url, hpath, 300000); //下载头像 } else { d.DownloadFile(hpic, hpath, 300000);//下载头像 } CodeMaker cm = new CodeMaker(); //cm.MakeCodeWithZhiwen(spath, npath); cm.MakeHaibaoWithOpenid(openid); return("http://wx.lvwei8.com/media/haibao/" + openid + ".jpg"); } } }
protected void Page_Load(object sender, EventArgs e) { TXT_Help th = new TXT_Help(); string postStr = ""; if (Request.HttpMethod.ToLower() == "post") { try { Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); postStr = Encoding.UTF8.GetString(b); th.ReFreshTXT(postStr, "D:\\msgweixin\\CCPost" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); XmlHelp xh = new XmlHelp(); SortedDictionary <string, string> sParams = xh.GetInfoFromXml(postStr); string openid = sParams["FromUserName"].ToString(); string ToUserName = sParams["ToUserName"].ToString(); string mesgtype = sParams["MsgType"].ToString().Trim(); string strresponse = ""; MessageCreater mc = new MessageCreater(); if (mesgtype == "text") { strresponse = mc.CreatTxtMsg(openid, ToUserName, sParams["Content"].ToString().Trim()); } else if (sParams["MsgType"].ToString().Trim() == "event") { if (sParams["Event"].ToString().Trim() == "subscribe")//会员关注 { string parentopenid = ""; if (sParams["EventKey"].ToString() != "") { parentopenid = sParams["EventKey"].ToString().Replace("qrscene_", ""); } DBCLASSFORWEIXIN.Model.LocalWeixinUser SingleUserInf = new CheckUserAndUpdate().CheckUserAndInsert(openid, parentopenid); UserAuthorizationModel userInfo = new UserAuthorizationModel(); userInfo.mobile = SingleUserInf.Tel; userInfo.name = SingleUserInf.nickname; userInfo.openId = SingleUserInf.openid; BaseClass.Common.Common.UserLoginSetCookie(userInfo.name, this, DateTime.Now.AddMinutes(30), userInfo); } else if (sParams["Event"].ToString().Trim() == "unsubscribe")//会员取消关注 { } else if (sParams["Event"].ToString().Trim() == "VIEW")//访问code跳转链接 { } else if (sParams["Event"].ToString().Trim() == "CLICK")//点击事件 { strresponse = mc.CreatCliskMsg(openid, ToUserName, sParams["EventKey"].ToString().Trim()); } else if (sParams["Event"].ToString().Trim() == "SCAN")//扫描事件 { //strresponse = mc.DefaultTxtMsg(openid, ToUserName);jumptodaijinquan_C3 strresponse = mc.CreatScanMsg(openid, ToUserName, sParams["EventKey"].ToString().Trim()); } else { } } else if (sParams["MsgType"].ToString().Trim().ToLower() == "voice") { } else if (sParams["MsgType"].ToString().Trim().ToLower() == "image") { } else { } WriteContent(strresponse); } catch (Exception mee) { th.ReFreshTXT(mee.ToString(), "D:\\msgweixin\\" + DateTime.Now.ToString("mddhhmmssffff") + ".txt"); } } else if (Request.HttpMethod.ToLower() == "get") { string Token = "m9zUU0V4v10M920s024r4ubu1bJ9bUJ5"; //与微信公众账号后台的Token设置保持一致,区分大小写。 //获取微信服务器验证apiUrl参数 string signature = Request["signature"]; string timestamp = Request["timestamp"]; string nonce = Request["nonce"]; string echostr = Request["echostr"]; string requestUrl = Request.QueryString["url"]; string lineId = Request.QueryString["lineid"]; requestUrl = requestUrl + "&lineid=" + lineId; try { JS_SDK_Class jssdk = new JS_SDK_Class(); timestamp = jssdk.getTimestamp(); nonce = jssdk.getNoncestr().ToLower(); signature = jssdk.Creat_signature(requestUrl).ToLower(); string jsapi_ticket = jssdk.Getjsapi_ticket(); CheckSignature cc = new CheckSignature(); //get method - 仅在微信后台填写URL验证时触发 string result = "{\"signature\":\"" + signature + "\",\"timestamp\":\"" + timestamp + "\",\"nonce\":\"" + nonce + "\",\"jsapi_ticket\":\"" + jsapi_ticket + "\"}"; log4netHelper.WriteDebugLog(typeof(API_WeixinApi), "jssdk授权返回", result + "requestUrl:" + requestUrl); WriteContent(result); } catch (Exception ex) { log4netHelper.WriteExceptionLog(typeof(API_WeixinApi), "WeixinApi", ex); WriteContent(echostr); } } else { } }
protected void Page_Load(object sender, EventArgs e) { string postStr = ""; TXT_Help th = new TXT_Help(); 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); postStr = Encoding.UTF8.GetString(b); XmlHelp xh = new XmlHelp(); SortedDictionary <string, string> sParams = xh.GetInfoFromXml(postStr); try { if (sParams["return_code"].ToString() == "SUCCESS") { BaseClass.Dal.ChongzhiLog sl = new BaseClass.Dal.ChongzhiLog(); bool isOrderValid = sl.CZisok(sParams["out_trade_no"].ToString(), sParams["openid"].ToString()); BaseClass.Common.LoggerUtil.printLog("订单:" + sParams["out_trade_no"].ToString() + "处理状态:" + isOrderValid); if (isOrderValid) { string mid = sParams["openid"].ToString(); decimal money = decimal.Parse(sParams["cash_fee"].ToString()) / 100; LVWEIBA.DAL.order_list oodd = new LVWEIBA.DAL.order_list(); LVWEIBA.Model.order_list oom = oodd.GetModel(sParams["out_trade_no"].ToString()); //正式状态 oom.order_zt = "DCX"; oodd.Update(oom); //发送短信通知用户和商户 var orderMx = new LVWEIBA.DAL.order_Mx().GetModel(sParams["out_trade_no"].ToString()); var member = new LVWEIBA.BLL.MemberInfo().GetModel(mid); //发送短信通知用户和商户(判断是门票还是尾单) if (orderMx.ProType != null && (orderMx.ProType.Equals("DZP") || orderMx.ProType.Equals("ZZP"))) { var bll = new LVWEIBA.DAL.ProviderSpot(); LVWEIBA.Model.ProviderSpot providerSpot = bll.GetModel(int.Parse(orderMx.productNum)); LVWEIBA.MessageService.NotifyUsersTicket(member.Tel, providerSpot.MasterTel, orderMx); providerSpot.Num = providerSpot.Num - orderMx.ProCount; bll.Update(providerSpot); BaseClass.Common.LoggerUtil.printLog("修改余量: productNum is:" + orderMx.productNum + "TicketCount is:" + providerSpot.Num); } else { LVWEIBA.Model.LvULines lvModel = new LVWEIBA.DAL.LvULines().GetModel(orderMx.productNum); LVWEIBA.MessageService.NotifyUsers(member.Tel, lvModel.LineMasterMoble, orderMx); //修改线路余量 LVWEIBA.BLL.LvULines lvubLL = new LVWEIBA.BLL.LvULines(); if (lvModel != null) { lvModel.adultTicketCount = lvModel.adultTicketCount - orderMx.adultCount; lvModel.puppyTicketCount = lvModel.puppyTicketCount - orderMx.puppyCount; lvubLL.Update(lvModel); BaseClass.Common.LoggerUtil.printLog("修改余量: productNum is:" + orderMx.productNum + "adultTicketCount is:" + lvModel.adultTicketCount + "puppyTicketCount is:" + lvModel.puppyTicketCount); } } //返回成功 Response.Write(returnOKMessage()); } else { th.ReFreshTXT(postStr, "D:\\msg\\zhifuErr\\", "错误CZ" + DateTime.Now.ToString("yyMMddHHmmssff") + ".txt"); Response.Write(returnFailMessage()); } } else { //一系列还原操作 moneyUnFreeze(sParams["out_trade_no"].ToString(), sParams["openid"].ToString()); couponUnUse(sParams["out_trade_no"].ToString()); Response.Write(returnFailMessage()); } } catch (Exception ex) { BaseClass.Common.LoggerUtil.printLog("订单" + sParams["out_trade_no"].ToString() + "处理错误," + "ex:" + ex.Message + ex.StackTrace); //一系列还原操作 moneyUnFreeze(sParams["out_trade_no"].ToString(), sParams["openid"].ToString()); couponUnUse(sParams["out_trade_no"].ToString()); Response.Write(returnFailMessage()); } } }