public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string oper = context.Request["oper"].ConvertTo <string>(""); string phone = context.Request["phone"].ConvertTo <string>(""); string smscontent = context.Request["smscontent"].ConvertTo <string>(""); string dxstr = context.Request["dxstr"].ConvertTo <string>(""); //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\BaoxianLog.txt", dxstr); string msg = ""; if (oper == "234908uasdlkfjasdfou234kldfuasfk234u809dsfjasdfu90") { var snsback = SendSmsHelper.SendSms(phone, smscontent, 106, out msg); context.Response.Write(snsback); } //接收短信上行数据 http://ip:port/MO?dxstr=2,13800138000,0,F165245140224152846,20140428172543;2,15193792747,0,F165246140224152846,20140428172543; if (dxstr != "") { //var OrderData1 = new B2bOrderData(); //var insertstepm = OrderData1.InsertSmsback(0, "", "", dxstr, ""); var dxstr_arr = dxstr.Split(';'); for (int i = 0; i < dxstr_arr.Length; i++) //分解每条消息 { if (dxstr_arr[i] != "") //判断消息是否为空 { var duanxin_arr = dxstr_arr[i].Split(','); if (duanxin_arr.Length == 5) //必须含有5个参数,下面读取对应的值,如果不匹配,暂时 不操作 { var duanxin_type = int.Parse(duanxin_arr[0]); var duanxin_mobile = duanxin_arr[1]; var duanxin_state = duanxin_arr[2]; var duanxin_con = duanxin_arr[3]; var duanxin_time = duanxin_arr[4]; if (duanxin_type == 0) //上行消息 //上行消息写入记录 { var OrderData = new B2bOrderData(); var insertsms = OrderData.InsertSmsback(duanxin_type, duanxin_mobile, duanxin_state, duanxin_con, duanxin_time); //对上行消息判定 if (duanxin_con != "") { if (duanxin_con.ToLower().Substring(0, 2) == "qr" || duanxin_con.ToLower().Substring(0, 2) == "qx" || duanxin_con.ToLower().Substring(0, 2) == "tj") { //截取前两个字qr,进入确认流程 int orderid = int.Parse(duanxin_con.ToLower().Substring(2, duanxin_con.Length - 2)); var snsback = OrderJsonData.UporderPaystate(orderid, duanxin_con.ToLower().Substring(0, 2), duanxin_mobile); context.Response.Write(snsback); } } } if (duanxin_type == 2) //状态报告,未做 { } } } } } }
private void ResponseMsg(RequestXML requestXML, WeiXinBasic basic) { try { string resxml = ""; #region 接收事件推送 if (requestXML.MsgType == "event") { #region 关注事件 或者 已关注微信用户 扫描带参数二维码事件 if (requestXML.Eevent == "SCAN" || requestXML.Eevent == "subscribe") { lock (lockobj) { //判断是否是并发请求 string cretime = requestXML.CreateTime; //获得请求发送的次数 int reqnum = new WxSubscribeDetailData().GetReqnum(requestXML.FromUserName, cretime, requestXML.Eevent); if (reqnum == 1) { //如果用户二次扫描的合作单位信息,则显示 当前扫描的合作单位信息 int wxsourceid = requestXML.EventKey.Substring(requestXML.EventKey.IndexOf("_") + 1).ConvertTo <int>(0); if (wxsourceid > 0) { WxSubscribeSource sourcer = new WxSubscribeSourceData().GetWXSourceById(wxsourceid); if (sourcer != null) { if (sourcer.Productid > 0)//扫描产品二维码 { //根据产品id得到产品信息 B2b_com_pro pro = new B2bComProData().GetProById(sourcer.Productid.ToString()); if (pro != null) { //如果是优惠劵产品,生成优惠劵订单 if (pro.Server_type == 3) { var orderdata = OrderJsonData.insertyuohuiquan(sourcer.Productid, requestXML.FromUserName); } } } } } } } } #endregion #region 接收事件推送 if (requestXML.MsgType == "text") { //判断是否是顾问,1是;0不是 int isguwen = new MemberChannelData().IsGuwen(requestXML.FromUserName, basic.Comid); if (isguwen == 1) { if (requestXML.Content != "") { if (requestXML.Content.ToLower().Substring(0, 2) == "qx" || requestXML.Content.ToLower().Substring(0, 2) == "qr") { string str = ""; //截取前两个字qx,进入确认流程 if (requestXML.Content.ToLower().Substring(2, requestXML.Content.Length - 2) != "") { try { int orderid = int.Parse(requestXML.Content.ToLower().Substring(2, requestXML.Content.Length - 2)); var snsback = OrderJsonData.UporderPaystate(orderid, requestXML.Content.ToLower().Substring(0, 2), requestXML.Content);//处理订单 } catch { } if (requestXML.Content.ToLower().Substring(0, 2) == "qr") { str = "订单已确认"; } if (requestXML.Content.ToLower().Substring(0, 2) == "qx") { str = "订单已取消"; } } resxml = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + CommonFunc.ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[" + str + "]]></Content><FuncFlag>1</FuncFlag></xml>"; System.Web.HttpContext.Current.Response.Write(resxml); } } } } #endregion } #endregion } catch (Exception ex) { ////WriteTxt("异常" + ex.Message + "Struck:" + ex.StackTrace.ToString()); //wx_logs.MyInsert("异常" + ex.Message + "Struck:" + ex.StackTrace.ToString()); //string emptystr = "<xml><ToUserName><![CDATA[" + requestXML.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + requestXML.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[]]></Content></xml>"; string emptystr = ""; System.Web.HttpContext.Current.Response.Write(emptystr); } }