Beispiel #1
0
        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) //状态报告,未做
                            {
                            }
                        }
                    }
                }
            }
        }
Beispiel #2
0
        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);
            }
        }