예제 #1
0
        public string nativePayImgurl = "/Images/defaultThumb.png";//微信原生支付二维码
        protected void Page_Load(object sender, EventArgs e)
        {
            int    comid   = 106;
            string urljson = WeiXinJsonData.getNativePayQrcode(0, comid, "oid");

            try
            {
                XmlDocument retdoc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + urljson + "}");
                XmlElement  retroot = retdoc.DocumentElement;
                string      type    = retroot.SelectSingleNode("type").InnerText;
                string      msg     = retroot.SelectSingleNode("msg").InnerText;

                nativePayImgurl = "http://shop" + comid + ".etown.cn/ui/pmui/eticket/showtcode.aspx?pno=" + msg;
            }
            catch
            { }
        }
예제 #2
0
        public int isSetVisitDate = 0;           //是否指定日期使用

        public void Page_Load(object sender, EventArgs e)
        {
            string u = Request.ServerVariables["HTTP_USER_AGENT"];

            bo = detectmobilebrowser.HttpUserAgent(u);



            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "Request.Url:" + Request.Url.ToString());

            id = Request["id"].ConvertTo <string>("");

            string temp_id         = Request["id"].ConvertTo <string>("");
            string temp_id_speciid = "0";

            if (id.Contains("_"))//检验是否为购物车订单
            {
                cart = 1;
                var id_arr = id.Replace('_', ',');

                //如果包含规格产品
                var prospeciid = new B2bOrderData().SearchCartListBycartid(id_arr);
                if (prospeciid != null)
                {
                    if (prospeciid.Count == 0)
                    {
                        //没有此购物车,跳转购物车重新选择产品
                        Response.Redirect("/h5/order/cart.aspx");
                    }

                    id = "";
                    for (int i = 0; i < prospeciid.Count; i++)
                    {
                        id         += prospeciid[i].Id + ",";
                        id_speciid += prospeciid[i].Speciid + ",";

                        temp_id         = prospeciid[i].Id.ToString();
                        pro_id          = temp_id;
                        temp_id_speciid = prospeciid[i].Speciid.ToString();
                    }
                }
                else
                {
                    //没有此购物车,跳转购物车重新选择产品
                    Response.Redirect("/h5/order/cart.aspx");
                }
            }
            else
            {
                if (id.Contains("g"))//检验是否带规格
                {
                    var id_arr = id.Split('g');
                    id = id_arr[0];
                    //只针对直销单产品顶哦故
                    if (id_arr[1].Contains("s"))
                    {
                        var ids_arr = id_arr[1].Split('s');
                        id_speciid      = ids_arr[0];
                        temp_id_speciid = ids_arr[0];
                        serverid        = ids_arr[1];
                        serverid        = serverid.Replace("A", ",");
                    }
                    else
                    {
                        id_speciid      = id_arr[1];
                        temp_id_speciid = id_arr[1];
                    }

                    temp_id = id_arr[0];
                    pro_id  = id_arr[0];
                }
            }

            //对规格默认赋值为0
            if (temp_id_speciid == "")
            {
                temp_id_speciid = "0";
            }



            if (Request.Cookies["temp_userid"] != null)
            {
                userid = Request.Cookies["temp_userid"].Value;
            }
            else
            {
                userid = Domain_def.HuoQu_Temp_UserId();
                //Response.Cookies("userid").val();

                HttpCookie cookie = new HttpCookie("temp_userid");     //实例化HttpCookie类并添加值
                cookie.Value   = userid;
                cookie.Expires = DateTime.Now.AddDays(365);
                Response.Cookies.Add(cookie);
            }



            num = Request["num"].ConvertTo <int>(1);

            string aRequestUrl = Request.ServerVariables["SERVER_NAME"].ToLower();

            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "aRequestUrl:" + aRequestUrl);
            if (Domain_def.Domain_yanzheng(aRequestUrl))//如果符合shop101.etown.cn的格式
            {
                //先通过正则表达式获取COMid
                comid = Int32.Parse(Domain_def.Domain_Huoqu(aRequestUrl).ToString());
            }

            if (comid == 0)//如果非标准格式,查询 是否有绑定的域名
            {
                var domaincomid = B2bCompanyData.GetComId(RequestUrl);
                if (domaincomid != null)
                {
                    comid = domaincomid.Com_id;
                }
            }



            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "comid:" + comid);
            #region 判断是否含有微信端传递过来的code值,不含有自刷新
            code = Request.QueryString["code"].ConvertTo <string>("");
            if (code == "")
            {
                selfrefreshurl = WeiXinJsonData.GetFollowOpenLinkUrlAboutPay(comid, "http://shop" + comid + ".etown.cn/wxpay/micromart_pay_" + num + "_" + id + ".aspx");
                //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "selfrefreshurl:" + selfrefreshurl);
                //Response.Redirect(refreshurl);
            }
            #endregion


            //buyuid = Request["buyuid"].ConvertTo<int>(0);
            //tocomid = Request["tocomid"].ConvertTo<int>(0);
            //uid = Request["uid"].ConvertTo<int>(0);
            //获取IP地址
            uip = CommonFunc.GetRealIP();


            nowdate  = DateTime.Now.ToString("yyyy-MM-dd");
            nowtoday = DateTime.Now;

            if (temp_id != "")
            {
                //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "a");
                B2b_com_pro pro = new B2bComProData().GetProById(temp_id);

                if (pro == null)
                {
                    //没有查询到产品,跳转购物车重新选择产品
                    Response.Redirect("/h5/order/cart.aspx");
                }


                if (pro != null)
                {
                    //判断微信 是否是认证服务号
                    WeiXinBasic mbasic = new WeiXinBasicData().GetWxBasicByComId(pro.Com_id);
                    if (mbasic == null)
                    {
                        iswxsubscribenum = false;
                    }
                    else
                    {
                        if (mbasic.Weixintype == 1 || mbasic.Weixintype == 2)
                        {
                            iswxsubscribenum = true;
                        }
                        else
                        {
                            iswxsubscribenum = false;
                        }
                    }

                    #region 微信端 共享收货地址接口 参数获取

                    //根据产品判断商家是否含有自己的微信支付:a.含有的话支付到商家;b.没有的话支付到平台的微信公众号账户中
                    B2b_finance_paytype model = new B2b_finance_paytypeData().GetFinancePayTypeByComid(pro.Com_id);
                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "b");
                    if (model != null)
                    {
                        //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "c");
                        //商家微信支付的所有参数都存在
                        if (model.Wx_appid != "" && model.Wx_appkey != "" && model.Wx_partnerid != "" && model.Wx_paysignkey != "")
                        {
                            appId     = model.Wx_appid;
                            appsecret = model.Wx_appkey;
                            //appkey = model.Wx_paysignkey;
                            //mchid = model.Wx_partnerid;
                            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "d");
                            issetfinancepaytype = true;
                            if (code != "")
                            {
                                string url =
                                    string.Format(
                                        "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code",
                                        appId, appsecret, code);
                                string returnStr = HttpUtil.Send("", url);
                                //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "returnStr:" + returnStr);

                                var obj = JsonConvert.DeserializeObject <ModelOpenID>(returnStr);
                                if (obj.openid == null)
                                {
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "微信转发页面打开的,returnStr:" + returnStr);

                                    selfrefreshurl = WeiXinJsonData.GetFollowOpenLinkUrlAboutPay(comid, "http://shop" + comid + ".etown.cn/wxpay/micromart_pay_" + num + "_" + id + ".aspx");
                                    Response.Redirect(selfrefreshurl);
                                }

                                if (obj != null)
                                {
                                    timeStamp          = TenpayUtil.getTimestamp();
                                    nonceStr           = TenpayUtil.getNoncestr();
                                    access_tokenstring = obj.access_token;
                                    openid             = obj.openid;

                                    HttpCookie newCookie = new HttpCookie("openid");
                                    //往Cookie里面添加值,均为键/值对。Cookie可以根据关键字寻找到相应的值
                                    newCookie.Values.Add("openid", openid);
                                    newCookie.Expires = DateTime.Now.AddDays(365);
                                    //Cookie的设置页面要用Response
                                    Response.AppendCookie(newCookie);

                                    //签名字段:appId、url(当前网页url)、timestamp、noncestr、accessToken
                                    var paySignReqHandler = new RequestHandler(Context);
                                    paySignReqHandler.setParameter("appid", appId);
                                    paySignReqHandler.setParameter("timestamp", timeStamp);
                                    paySignReqHandler.setParameter("noncestr", nonceStr);
                                    paySignReqHandler.setParameter("url", Request.Url.ToString());
                                    paySignReqHandler.setParameter("accesstoken", obj.access_token);
                                    //addrSign = paySignReqHandler.CreateAddrSign();
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", appId + ";" + timeStamp + ";" + nonceStr + ";" + Request.Url.ToString() + ";" + obj.access_token + ";" + addrSign);
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "Request.Url:" + Request.Url.ToString());
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "addrSign:" + addrSign);
                                }
                            }
                        }
                    }

                    #endregion


                    //票务产品,判断 是否抢购/限购,是的话 作废超时未支付订单,完成回滚操作
                    if (pro_servertype == 1)
                    {
                        if (pro.Ispanicbuy == 1 || pro.Ispanicbuy == 2)
                        {
                            int rs = new B2bComProData().CancelOvertimeOrder(pro);
                        }
                    }

                    iscanbook      = new B2bComProData().IsYouxiao(pro.Id, pro.Server_type, pro.Pro_start, pro.Pro_end, pro.Pro_state);//判断产品是否有效:1.票务,直接判断有效期 和产品上线状态2.酒店,跟团游,当地游 则判断是否含有有效的房态/团期 以及产品上下线状态
                    pro_servertype = pro.Server_type;
                    pickuppoint    = pro.pickuppoint;
                    dropoffpoint   = pro.dropoffpoint;
                    issetidcard    = pro.issetidcard;
                    isSetVisitDate = pro.isSetVisitDate;
                    childreduce    = pro.Childreduce;
                    pro_start      = pro.Pro_start;
                    pro_end        = pro.Pro_end;
                }
                if (pro.Ispanicbuy == 1)
                {
                    panic_begintime  = pro.Panic_begintime;
                    panicbuy_endtime = pro.Panicbuy_endtime;


                    TimeSpan tss = pro.Panic_begintime - nowtoday;
                    var      day = tss.Days * 24 * 3600;;  //这是相差的天数
                    var      h   = tss.Hours * 3600;       //这是相差的小时数,
                    var      m   = tss.Minutes * 60;
                    var      s   = tss.Seconds;
                    shijiacha = day + h + m + s;
                }
                projectid = pro.Projectid;
                comid     = pro.Com_id;

                if (temp_id_speciid != "0") //如果规格非默认值,有规格传递,查询规格的价格 及名称
                {                           //如果含有规格
                    B2b_com_pro prospeciid = new B2bComProData().GetProspeciidById(temp_id, int.Parse(temp_id_speciid));
                    if (prospeciid != null)
                    {
                        pro_name = pro.Pro_name + prospeciid.Pro_name;
                        price    = prospeciid.Advise_price;
                    }
                }
                else
                {
                    pro_name = pro.Pro_name;
                    price    = pro.Advise_price;
                }

                //如果有服务,增加服务价格
                if (serverid != "")
                {
                    var server_arr = serverid.Split(',');
                    for (int i = 0; i < server_arr.Length; i++)
                    {
                        if (server_arr[i] != "")
                        {
                            var rentsrever = new RentserverData().Rentserverbyidandproid(int.Parse(server_arr[i]), int.Parse(temp_id));
                            if (rentsrever != null)
                            {
                                price += rentsrever.saleprice + rentsrever.serverDepositprice;
                            }
                        }
                    }
                }


                imgurl = FileSerivce.GetImgUrl(pro.Imgurl);
                if (price == 0)
                {
                    price = 0;
                }
                else
                {
                    CommonFunc.OperTwoDecimal(price.ToString());
                    //price = price.IndexOf(".") != -1 ? price.Substring(0, price.IndexOf(".")) : price;
                }

                nowdate = DateTime.Now.ToString("yyyy-MM-dd");
                if (pro.Service_Contain != "")
                {
                    summary = "包含服务:" + pro.Service_Contain;
                }

                if (pro.Service_NotContain != "")
                {
                    sumaryend = summary + "</br> 不包含服务:" + pro.Service_NotContain + "</br> 注意事项:" + pro.Precautions;
                }

                if (pro.Precautions != "")
                {
                    sumaryend = summary + "</br> 注意事项:" + pro.Precautions;
                }
                //如果服务类型是 票务;  则备注信息中 显示 电子码使用限制
                if (pro.Server_type == 1)
                {
                    if (pro.Iscanuseonsameday == 0)//电子码当天不可用
                    {
                        sumaryend = "此产品当天预订不可用<br>" + sumaryend;
                    }
                    if (pro.Iscanuseonsameday == 1)//电子码当天可用
                    {
                        sumaryend = "此产品当天预订可用<br>" + sumaryend;
                    }
                    if (pro.Iscanuseonsameday == 2)//电子码出票2小时内不可用
                    {
                        sumaryend = "此产品出票2小时内不可用<br>" + sumaryend;
                    }
                }
                if (summary.Length > 30)
                {
                    summary = summary.Substring(0, 30);
                }
                if (summary.Length > 150)
                {
                    summary = summary.Substring(0, 150) + "...";
                }
                remark  = pro.Pro_Remark;
                pro_num = pro.Pro_number;
                if (pro_num == 0)
                {
                    pro_max = 100;
                    pro_min = 1;
                }
                else
                {
                    pro_min = 1;
                    pro_max = pro_num;
                }
                pro_explain = pro.Pro_explain;



                #region 产品有效期判定(微信模板--门票订单预订成功通知 中也有用到)
                provalidatemethod = pro.ProValidateMethod; //判断 1按产品有效期,2指定有效期
                appointdate       = pro.Appointdata;       //1=一星期,,2=1个月,3=3个月,4=6个月,5=一年
                iscanuseonsameday = pro.Iscanuseonsameday; //1当天可用,0当天不可用

                pro_end = pro.Pro_end;
                //返回有效期
                pro_youxiaoqi = new B2bComProData().GetPro_Youxiaoqi(pro.Pro_start, pro.Pro_end, provalidatemethod, appointdate, iscanuseonsameday);

                #endregion



                var commodel = B2bCompanyData.GetCompany(comid);
                if (commodel != null)
                {
                    if (commodel.B2bcompanyinfo != null)
                    {
                        Wxfocus_url    = commodel.B2bcompanyinfo.Wxfocus_url;
                        Wxfocus_author = commodel.B2bcompanyinfo.Wxfocus_author;;
                    }
                }


                var saleset = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                if (saleset != null)
                {
                    phone = saleset.Service_Phone;
                }

                //查询项目电话,如果有项目电话调取项目电话
                var projectdata  = new B2b_com_projectData();
                var projectmodel = projectdata.GetProject(projectid, comid);
                if (projectmodel != null)
                {
                    if (projectmodel.Mobile != "")
                    {
                        phone = projectmodel.Mobile;
                    }
                }


                //从cookie中得到微信号
                if (Request.Cookies["openid"] != null)
                {
                    openid = Request.Cookies["openid"].Value;
                }
                B2bCrmData b2b_crm = new B2bCrmData();
                if (openid != "")
                {
                    B2b_crm b2bmodle = b2b_crm.b2b_crmH5(openid, comid);
                    if (b2bmodle != null)
                    {
                        Imprest  = b2bmodle.Imprest;
                        Integral = b2bmodle.Integral;
                    }
                }
            }

            //如果是购物车产品,整体更换计算方式,以上至是读一个产品信息,并且读取用户的分销信息等
            if (cart == 1)
            {
                cart_num = ""; //数量
                price    = 0;  //单价


                //获取购物车 的用户ID

                if (Request.Cookies["temp_userid"] != null)
                {
                    userid = Request.Cookies["temp_userid"].Value;
                }


                cart_id = id; //赋值方便区分



                if (userid != "")
                {
                    var list = new B2bOrderData().SearchUserCartList(comid, userid, cart_id, id_speciid);
                    if (list != null)
                    {
                        cart_id = "";
                        for (int i = 0; i < list.Count; i++)
                        {
                            cart_num += list[i].U_num + ",";
                            cart_id  += list[i].Id + ",";

                            if (list[i].Speciid == 0)
                            {
                                price += list[i].U_num * list[i].Advise_price; //重新计算价格
                            }
                            else
                            {
                                B2b_com_pro prospeciid = new B2bComProData().GetProspeciidById(list[i].Id.ToString(), list[i].Speciid);//如果含有规格参数 读取规格
                                if (prospeciid != null)
                                {
                                    price += list[i].U_num * prospeciid.Advise_price; //重新计算价格
                                }
                            }
                        }

                        if (cart_num != "")
                        {
                            if (cart_num.Substring(cart_num.Length - 1, 1) == ",")
                            {
                                cart_num = cart_num.Substring(0, cart_num.Length - 1);
                            }
                        }
                        if (cart_id != "")
                        {
                            if (cart_id.Substring(cart_id.Length - 1, 1) == ",")
                            {
                                cart_id = cart_id.Substring(0, cart_id.Length - 1);
                            }
                        }
                    }
                }
            }


            if (Domain_def.Domain_yanzheng(RequestUrl))//如果符合shop101.etown.cn的格式,则从多微信商户基本信息表中获取comid
            {
                //先通过正则表达式获取COMid
                comid = Int32.Parse(Domain_def.Domain_Huoqu(RequestUrl).ToString());
                if (comid == 0)
                {
                    comid = new WeiXinBasicData().GetWeiXinBasicByDomain(RequestUrl).Comid;
                }
                if (comid != 0)
                {
                    var commodel = B2bCompanyData.GetCompany(comid);

                    if (commodel != null)
                    {
                        if (commodel.B2bcompanyinfo != null)
                        {
                            Wxfocus_url    = commodel.B2bcompanyinfo.Wxfocus_url;
                            Wxfocus_author = commodel.B2bcompanyinfo.Wxfocus_author;
                            weixinname     = commodel.B2bcompanyinfo.Weixinname;
                            Scenic_intro   = commodel.B2bcompanyinfo.Scenic_intro;
                        }

                        title = commodel.Com_name;
                    }


                    B2b_company_saleset pro = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                    if (pro != null)
                    {
                        comlogo = FileSerivce.GetImgUrl(pro.Smalllogo.ConvertTo <int>(0));
                        logoimg = comlogo;
                    }

                    ////获取微信平台端code
                    //string weixincode = Request["code"].ConvertTo<string>("");
                    ////获取微信号和一次性密码
                    //openid = Request["openid"].ConvertTo<string>("");
                    //string weixinpass = Request["weixinpass"].ConvertTo<string>("");

                    ////获得会员信息
                    //GetCrmInfo(weixincode, openid, weixinpass);
                }
            }


            //获取BANNER,及logo
            //if (comid != 0)
            //{


            //    //根据公司id得到 直销设置
            //    B2b_company_saleset saleset = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
            //    if (saleset != null)
            //    {
            //        logoimg = FileSerivce.GetImgUrl(saleset.Smalllogo.ConvertTo<int>(0));
            //    }

            //}



            //微信转发访问归属渠道
            if (uid != 0)//必须记录转发用户信息才能继续统计
            {
                //判断有转发人的渠道
                var    crmdata       = new B2bCrmData();
                var    pro           = crmdata.Readuser(uid, comid);//读取转发人用户信息
                string zhuanfa_phone = "";
                if (pro != null)
                {
                    zhuanfa_phone = pro.Phone;
                }

                if (zhuanfa_phone != "")
                {                                                                                  //转发人手机存在
                    MemberChannelData channeldata = new MemberChannelData();
                    var channeinfo = channeldata.GetPhoneComIdChannelDetail(zhuanfa_phone, comid); //查询渠道
                    if (channeinfo != null)
                    {
                        //转发人渠道记录COOKI
                        HttpCookie cookie = new HttpCookie("ZF_ChanneId");     //实例化HttpCookie类并添加值
                        cookie.Value   = channeinfo.Id.ToString();
                        cookie.Expires = DateTime.Now.AddDays(120);
                        Response.Cookies.Add(cookie);
                    }
                }
            }
        }
예제 #3
0
        public void Page_Load(object sender, EventArgs e)
        {
            string u = Request.ServerVariables["HTTP_USER_AGENT"];

            bo = detectmobilebrowser.HttpUserAgent(u);


            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "Request.Url:" + Request.Url.ToString());

            id = Request["id"].ConvertTo <string>("");
            string temp_id = Request["id"].ConvertTo <string>("");


            if (Request.Cookies["temp_userid"] != null)
            {
                userid = Request.Cookies["temp_userid"].Value;
            }
            else
            {
                userid = Domain_def.HuoQu_Temp_UserId();
                //Response.Cookies("userid").val();

                HttpCookie cookie = new HttpCookie("temp_userid");     //实例化HttpCookie类并添加值
                cookie.Value   = userid;
                cookie.Expires = DateTime.Now.AddDays(365);
                Response.Cookies.Add(cookie);
            }


            //取消超时订单
            B2b_com_pro pro_cannelorder = new B2b_com_pro();

            pro_cannelorder.Server_type = 0;
            int rs_cannelorder = new B2bComProData().CancelOvertimeOrder(pro_cannelorder);



            num = Request["num"].ConvertTo <int>(1);

            string aRequestUrl = Request.ServerVariables["SERVER_NAME"].ToLower();

            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "aRequestUrl:" + aRequestUrl);
            if (Domain_def.Domain_yanzheng(aRequestUrl))//如果符合shop101.etown.cn的格式
            {
                //先通过正则表达式获取COMid
                comid = Int32.Parse(Domain_def.Domain_Huoqu(aRequestUrl).ToString());
            }

            if (comid == 0)//如果非标准格式,查询 是否有绑定的域名
            {
                var domaincomid = B2bCompanyData.GetComId(RequestUrl);
                if (domaincomid != null)
                {
                    comid = domaincomid.Com_id;
                }
            }



            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "comid:" + comid);
            #region 判断是否含有微信端传递过来的code值,不含有自刷新
            code = Request.QueryString["code"].ConvertTo <string>("");
            if (code == "")
            {
                selfrefreshurl = WeiXinJsonData.GetFollowOpenLinkUrlAboutPay(comid, "http://shop" + comid + ".etown.cn/wxpay/micromart_pay_" + num + "_" + id + ".aspx");
                //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "selfrefreshurl:" + selfrefreshurl);
                //Response.Redirect(refreshurl);
            }
            #endregion


            //buyuid = Request["buyuid"].ConvertTo<int>(0);
            //tocomid = Request["tocomid"].ConvertTo<int>(0);
            //uid = Request["uid"].ConvertTo<int>(0);
            //获取IP地址
            uip = CommonFunc.GetRealIP();


            nowdate  = DateTime.Now.ToString("yyyy-MM-dd");
            nowtoday = DateTime.Now;

            if (temp_id != "")
            {
                B2bOrderData orderdata = new B2bOrderData();
                var          pro       = orderdata.GetOrderById(int.Parse(temp_id));
                if (pro != null)
                {
                    orderstatus = EnumUtils.GetName((OrderStatus)pro.Order_state);
                    order_state = pro.Order_state;
                    subtime     = pro.U_subdate.ToString("yyyy/MM/dd hh:mm:ss");
                    paystate    = pro.Pay_state;

                    #region 微信端 共享收货地址接口 参数获取

                    //根据产品判断商家是否含有自己的微信支付:a.含有的话支付到商家;b.没有的话支付到平台的微信公众号账户中
                    B2b_finance_paytype model = new B2b_finance_paytypeData().GetFinancePayTypeByComid(pro.Comid);
                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "b");
                    if (model != null)
                    {
                        //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "c");
                        //商家微信支付的所有参数都存在
                        if (model.Wx_appid != "" && model.Wx_appkey != "" && model.Wx_partnerid != "" && model.Wx_paysignkey != "")
                        {
                            appId     = model.Wx_appid;
                            appsecret = model.Wx_appkey;
                            //appkey = model.Wx_paysignkey;
                            //mchid = model.Wx_partnerid;
                            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "d");
                            issetfinancepaytype = true;
                            if (code != "")
                            {
                                string url =
                                    string.Format(
                                        "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code",
                                        appId, appsecret, code);
                                string returnStr = HttpUtil.Send("", url);
                                //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "returnStr:" + returnStr);

                                var obj = JsonConvert.DeserializeObject <ModelOpenID>(returnStr);
                                if (obj.openid == null)
                                {
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "微信转发页面打开的,returnStr:" + returnStr);

                                    selfrefreshurl = WeiXinJsonData.GetFollowOpenLinkUrlAboutPay(comid, "http://shop" + comid + ".etown.cn/wxpay/micromart_pay_" + num + "_" + id + ".aspx");
                                    Response.Redirect(selfrefreshurl);
                                }

                                if (obj != null)
                                {
                                    timeStamp          = TenpayUtil.getTimestamp();
                                    nonceStr           = TenpayUtil.getNoncestr();
                                    access_tokenstring = obj.access_token;
                                    openid             = obj.openid;

                                    HttpCookie newCookie = new HttpCookie("openid");
                                    //往Cookie里面添加值,均为键/值对。Cookie可以根据关键字寻找到相应的值
                                    newCookie.Values.Add("openid", openid);
                                    newCookie.Expires = DateTime.Now.AddDays(365);
                                    //Cookie的设置页面要用Response
                                    Response.AppendCookie(newCookie);

                                    //签名字段:appId、url(当前网页url)、timestamp、noncestr、accessToken
                                    var paySignReqHandler = new RequestHandler(Context);
                                    paySignReqHandler.setParameter("appid", appId);
                                    paySignReqHandler.setParameter("timestamp", timeStamp);
                                    paySignReqHandler.setParameter("noncestr", nonceStr);
                                    paySignReqHandler.setParameter("url", Request.Url.ToString());
                                    paySignReqHandler.setParameter("accesstoken", obj.access_token);
                                    //addrSign = paySignReqHandler.CreateAddrSign();
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", appId + ";" + timeStamp + ";" + nonceStr + ";" + Request.Url.ToString() + ";" + obj.access_token + ";" + addrSign);
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "Request.Url:" + Request.Url.ToString());
                                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "addrSign:" + addrSign);
                                }
                            }
                        }
                    }

                    #endregion



                    address = pro.U_name + " " + pro.U_phone + "<br>" + pro.Province + " " + pro.City + " " + pro.Address;



                    if (pro.Shopcartid == 0)
                    {
                        B2b_com_pro proinfo = new B2bComProData().GetProById(pro.Pro_id.ToString(), pro.Speciid, pro.channelcoachid);
                        if (proinfo != null)
                        {
                            pro_name    = proinfo.Pro_name;
                            imgurl      = FileSerivce.GetImgUrl(proinfo.Imgurl);
                            Ispanicbuy  = proinfo.Ispanicbuy;
                            Server_type = proinfo.Server_type;
                        }
                        else
                        {
                            pro_name = "对订单进行支付";
                        }
                        pay_price = Math.Round(pro.Pay_price, 2);
                        pro_price = Math.Round(pro.Pay_price * pro.U_num, 2);
                        price     = Math.Round(pro.Pay_price * pro.U_num - pro.Integral1 - pro.Imprest1 + pro.Express, 2);
                        num       = pro.U_num;
                        Express   = Math.Round(pro.Express, 2);
                    }
                    else
                    { //如果是购物车订单,必须一起支付
                        cart_id  = pro.Shopcartid;
                        cart     = 1;
                        price    = Math.Round(orderdata.GetCartOrderMoneyById(pro.Id), 2);
                        pro_name = orderdata.GetCartOrderProById(pro.Id);
                        Express  = Math.Round(orderdata.GetCartOrderExpressMoneyById(pro.Id), 2);
                        num      = 1;
                        var shopcart = orderdata.shopcartorder(pro.Shopcartid);
                        if (shopcart != null)
                        {
                            for (int i = 0; i < shopcart.Count; i++)
                            {
                                pro_price += shopcart[i].Pay_price * shopcart[i].U_num;
                                proid     += shopcart[i].Pro_id + ",";
                            }
                        }

                        pro_price = Math.Round(pro_price, 2);
                    }
                }



                if (price == 0)
                {
                    price = 0;
                }
                else
                {
                    CommonFunc.OperTwoDecimal(price.ToString());
                    //price = price.IndexOf(".") != -1 ? price.Substring(0, price.IndexOf(".")) : price;
                }

                nowdate = DateTime.Now.ToString("yyyy-MM-dd");

                if (summary.Length > 30)
                {
                    summary = summary.Substring(0, 30);
                }
                if (summary.Length > 150)
                {
                    summary = summary.Substring(0, 150) + "...";
                }
                var commodel = B2bCompanyData.GetCompany(comid);
                if (commodel != null)
                {
                    if (commodel.B2bcompanyinfo != null)
                    {
                        Wxfocus_url    = commodel.B2bcompanyinfo.Wxfocus_url;
                        Wxfocus_author = commodel.B2bcompanyinfo.Wxfocus_author;;
                    }
                }


                var saleset = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                if (saleset != null)
                {
                    phone = saleset.Service_Phone;
                }

                //查询项目电话,如果有项目电话调取项目电话
                var projectdata  = new B2b_com_projectData();
                var projectmodel = projectdata.GetProject(projectid, comid);
                if (projectmodel != null)
                {
                    if (projectmodel.Mobile != "")
                    {
                        phone = projectmodel.Mobile;
                    }
                }


                //从cookie中得到微信号
                if (Request.Cookies["openid"] != null)
                {
                    openid = Request.Cookies["openid"].Value;
                }
                B2bCrmData b2b_crm = new B2bCrmData();
                if (openid != "")
                {
                    B2b_crm b2bmodle = b2b_crm.b2b_crmH5(openid, comid);
                    if (b2bmodle != null)
                    {
                        Imprest  = b2bmodle.Imprest;
                        Integral = b2bmodle.Integral;
                    }
                }
            }


            if (Domain_def.Domain_yanzheng(RequestUrl))//如果符合shop101.etown.cn的格式,则从多微信商户基本信息表中获取comid
            {
                //先通过正则表达式获取COMid
                comid = Int32.Parse(Domain_def.Domain_Huoqu(RequestUrl).ToString());
                if (comid == 0)
                {
                    comid = new WeiXinBasicData().GetWeiXinBasicByDomain(RequestUrl).Comid;
                }
                if (comid != 0)
                {
                    var commodel = B2bCompanyData.GetCompany(comid);

                    if (commodel != null)
                    {
                        if (commodel.B2bcompanyinfo != null)
                        {
                            Wxfocus_url    = commodel.B2bcompanyinfo.Wxfocus_url;
                            Wxfocus_author = commodel.B2bcompanyinfo.Wxfocus_author;
                            weixinname     = commodel.B2bcompanyinfo.Weixinname;
                            Scenic_intro   = commodel.B2bcompanyinfo.Scenic_intro;
                        }

                        title = commodel.Com_name;
                    }


                    B2b_company_saleset pro = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                    if (pro != null)
                    {
                        comlogo = FileSerivce.GetImgUrl(pro.Smalllogo.ConvertTo <int>(0));
                    }

                    ////获取微信平台端code
                    //string weixincode = Request["code"].ConvertTo<string>("");
                    ////获取微信号和一次性密码
                    //openid = Request["openid"].ConvertTo<string>("");
                    //string weixinpass = Request["weixinpass"].ConvertTo<string>("");

                    ////获得会员信息
                    //GetCrmInfo(weixincode, openid, weixinpass);
                }
            }


            //获取BANNER,及logo
            if (comid != 0)
            {
                //根据公司id得到 直销设置
                B2b_company_saleset saleset = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                if (saleset != null)
                {
                    logoimg = FileSerivce.GetImgUrl(saleset.Smalllogo.ConvertTo <int>(0));
                }
            }



            //微信转发访问归属渠道
            if (uid != 0)//必须记录转发用户信息才能继续统计
            {
                //判断有转发人的渠道
                var    crmdata       = new B2bCrmData();
                var    pro           = crmdata.Readuser(uid, comid);//读取转发人用户信息
                string zhuanfa_phone = "";
                if (pro != null)
                {
                    zhuanfa_phone = pro.Phone;
                }

                if (zhuanfa_phone != "")
                {                                                                                  //转发人手机存在
                    MemberChannelData channeldata = new MemberChannelData();
                    var channeinfo = channeldata.GetPhoneComIdChannelDetail(zhuanfa_phone, comid); //查询渠道
                    if (channeinfo != null)
                    {
                        //转发人渠道记录COOKI
                        HttpCookie cookie = new HttpCookie("ZF_ChanneId");     //实例化HttpCookie类并添加值
                        cookie.Value   = channeinfo.Id.ToString();
                        cookie.Expires = DateTime.Now.AddDays(120);
                        Response.Cookies.Add(cookie);
                    }
                }
            }
        }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string u  = Request.ServerVariables["HTTP_USER_AGENT"];
            bool   bo = detectmobilebrowser.HttpUserAgent(u);

            //返回订单号
            orderid      = Request["orderid"].ConvertTo <int>(0);
            agentorderid = Request["agentorderid"].ConvertTo <int>(0);
            if (orderid != 0)
            {
                //根据订单id得到订单信息
                B2bOrderData dataorder     = new B2bOrderData();
                B2b_order    modelb2border = dataorder.GetOrderById(orderid);

                if (modelb2border != null)
                {
                    if (!bo)
                    {
                        Response.Redirect("/ui/vasui/pay.aspx?orderid=" + orderid + "&comid=" + modelb2border.Comid);
                    }
                }


                //取消超时订单
                B2b_com_pro pro_cannelorder = new B2b_com_pro();
                pro_cannelorder.Server_type = 0;
                int rs_cannelorder = new B2bComProData().CancelOvertimeOrder(pro_cannelorder);



                orderstatus = EnumUtils.GetName((OrderStatus)modelb2border.Order_state);

                order_state = modelb2border.Order_state;
                paystatus   = modelb2border.Pay_state;//1未支付;2已支付
                order_type  = modelb2border.Order_type;
                subtime     = modelb2border.U_subdate.ToString("yyyy/MM/dd hh:mm:ss");
                comid       = modelb2border.Comid;

                #region 正常订单
                if (modelb2border.Order_type == 1)
                {
                    //根据产品id得到产品信息
                    B2bComProData datapro     = new B2bComProData();
                    B2b_com_pro   modelcompro = datapro.GetProById(modelb2border.Pro_id.ToString(), modelb2border.Speciid);

                    ////如果订单“未付款”显示支付及订单信息
                    //if ((int)modelb2border.Order_state == (int)OrderStatus.WaitPay)
                    //{
                    if (modelb2border.U_name != "")
                    {
                        u_name = modelb2border.U_name.Substring(0, 1) + "**";
                    }
                    else
                    {
                        u_name = "**";
                    }

                    if (modelb2border.U_phone != "")
                    {
                        u_mobile = modelb2border.U_phone.Substring(0, 4) + "****" + modelb2border.U_phone.Substring(modelb2border.U_phone.Length - 3, 3);
                    }
                    else
                    {
                        u_mobile = "****";
                    }


                    travel_date = modelb2border.U_traveldate.ToString();
                    buy_num     = modelb2border.U_num;

                    if (modelcompro != null)
                    {
                        u_youxiaoqi  = modelcompro.Pro_start.ToString() + " - " + modelcompro.Pro_end.ToString();
                        travel_proid = modelcompro.Travelproductid;
                        comid        = modelcompro.Com_id;
                        proname      = modelcompro.Pro_name;
                        servertype   = modelcompro.Server_type;
                        Ispanicbuy   = modelcompro.Ispanicbuy;
                    }

                    #region 如果服务类型是“酒店客房”,则根据酒店扩展订单表中房态信息,获取支付金额
                    if (modelcompro.Server_type == 9)
                    {
                        B2b_order_hotel hotelorder = new B2b_order_hotelData().GetHotelOrderByOrderId(orderid);
                        if (hotelorder != null)
                        {
                            string   fangtai    = hotelorder.Fangtai;
                            DateTime start_data = hotelorder.Start_date;
                            DateTime end_data   = hotelorder.End_date;
                            int      bookdaynum = hotelorder.Bookdaynum;

                            decimal  everyroomprice = 0;
                            string[] ftstr          = fangtai.Split(',');
                            for (int i = 0; i < ftstr.Length; i++)
                            {
                                if (ftstr[i].ConvertTo <decimal>(0) > 0)
                                {
                                    everyroomprice += ftstr[i].ConvertTo <decimal>(0);
                                }
                            }
                            price = everyroomprice.ToString();

                            p_totalprice = (modelb2border.U_num * everyroomprice - modelb2border.Integral1 - modelb2border.Imprest1);
                        }
                    }
                    #endregion
                    #region 当地游;跟团游;旅游大巴,获取支付金额
                    else if (servertype == 2 || servertype == 8) //当地游;跟团游;旅游大巴
                    {
                        string outdate = modelb2border.U_traveldate.ToString("yyyy-MM-dd");

                        //读取団期价格,根据实际选择的団期报价
                        B2b_com_LineGroupDate linemode = new B2b_com_LineGroupDateData().GetLineDayGroupDate(DateTime.Parse(outdate), modelcompro.Id);
                        if (linemode != null)//当地游;跟团游
                        {
                            price = linemode.Menprice.ToString();
                            if (servertype == 2 || servertype == 8)
                            {
                                decimal childreduce = modelcompro.Childreduce;
                                decimal childprice  = decimal.Parse(price) - childreduce;
                                if (childprice < 0)
                                {
                                    childprice = 0;
                                }
                                pricedetail = modelb2border.U_num + "成人," + modelb2border.Child_u_num + "儿童(成人" + price + "元/人,儿童" + childprice + "元/人)";

                                p_totalprice = (modelb2border.U_num * (linemode.Menprice) + (modelb2border.Child_u_num) * childprice - modelb2border.Integral1 - modelb2border.Imprest1);
                            }
                            else //旅游大巴:没有儿童减免
                            {
                                pricedetail = modelb2border.U_num + "人(" + price + "元/人)";

                                p_totalprice = (modelb2border.U_num * (linemode.Menprice) - modelb2border.Integral1 - modelb2border.Imprest1);
                            }
                        }
                    }
                    else if (servertype == 10)
                    {
                        pricedetail = modelb2border.U_num + "人(" + modelb2border.Pay_price.ToString("0.00") + "元/人)";

                        p_totalprice = (modelb2border.U_num * (modelb2border.Pay_price) - modelb2border.Integral1 - modelb2border.Imprest1);
                    }



                    #endregion
                    #region 票务、实物,获取支付金额
                    else //票务
                    {
                        p_totalprice = (modelb2border.U_num * modelb2border.Pay_price - modelb2border.Integral1 - modelb2border.Imprest1);
                        price        = modelb2border.Pay_price.ToString(); //modelb2border.Pay_price.ToString();
                        if (price == "0.00" || price == "0")
                        {
                            price = "";
                        }
                        else
                        {
                            price = CommonFunc.OperTwoDecimal(price);
                        }
                    }
                    #endregion
                    //}

                    #region  获得服务电话
                    var saleset = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                    if (saleset != null)
                    {
                        phone = saleset.Service_Phone;
                    }

                    if (modelcompro != null)
                    {
                        //查询项目电话,如果有项目电话调取项目电话
                        var projectdata  = new B2b_com_projectData();
                        var projectmodel = projectdata.GetProject(modelcompro.Projectid, comid);
                        if (projectmodel != null)
                        {
                            if (projectmodel.Mobile != "")
                            {
                                phone = projectmodel.Mobile;
                            }
                        }
                    }
                    #endregion
                }
                #endregion
                #region 充值订单
                if (modelb2border.Order_type == 2)
                {
                    if (modelb2border.serverid != "")
                    {
                        proname = "购买服务与押金";
                    }
                    else if (modelb2border.payorder == 1)
                    {
                        proname = "快速支付";
                    }

                    else
                    {
                        proname = "预付款充值";
                    }

                    //ordertype=2 充值订单会传递过来值
                    if (comid == 0)
                    {
                        comid = Request["comid"].ConvertTo <int>(0);
                    }
                    p_totalprice = (modelb2border.U_num * modelb2border.Pay_price);
                    //获得商户电话
                    var saleset = B2bCompanySaleSetData.GetDirectSellByComid(comid.ToString());
                    if (saleset != null)
                    {
                        phone = saleset.Service_Phone;
                    }
                }
                #endregion
                p_totalpricedesc = CommonFunc.OperTwoDecimal(p_totalprice.ToString());


                #region 统一获得商户名称 和 微信支付链接
                if (comid != 0)
                {
                    wxpaylinkurl = WeiXinJsonData.GetFollowOpenLinkUrlAboutPay(comid, "http://shop" + comid + ".etown.cn/wxpay/payment_" + orderid + "_1.aspx");

                    comName = B2bCompanyData.GetCompany(comid).Com_name;
                }
                #endregion
            }
        }
예제 #5
0
        public string nativePayImgurl = "/Images/defaultThumb.png"; //微信原生支付二维码
        protected void Page_Load(object sender, EventArgs e)
        {
            //返回订单号
            orderid = Request["orderid"].ConvertTo <int>(0);
            #region 正常订单支付操作
            if (orderid != 0)
            {
                string u  = Request.ServerVariables["HTTP_USER_AGENT"];
                bool   bo = detectmobilebrowser.HttpUserAgent(u);
                if (bo)
                {
                    Response.Redirect("/h5/pay.aspx?orderid=" + orderid);
                }
                //根据订单id得到订单信息
                B2bOrderData dataorder     = new B2bOrderData();
                B2b_order    modelb2border = dataorder.GetOrderById(orderid);

                cart = modelb2border.Shopcartid;//不等于0则为购物车订单

                //根据产品id得到产品信息
                B2bComProData datapro     = new B2bComProData();
                B2b_com_pro   modelcompro = datapro.GetProById(modelb2border.Pro_id.ToString(), modelb2border.Speciid);

                if (modelcompro != null)
                {
                    Server_type = modelcompro.Server_type;
                    comid       = modelcompro.Com_id;
                    //绿野 不显示头部
                    if (modelcompro.Com_id == 2553)
                    {
                        viewtop = 0;
                    }
                    string urljson = WeiXinJsonData.getNativePayQrcode(orderid, comid, "oid");
                    try
                    {
                        XmlDocument retdoc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + urljson + "}");
                        XmlElement  retroot = retdoc.DocumentElement;
                        string      type    = retroot.SelectSingleNode("type").InnerText;
                        string      msg     = retroot.SelectSingleNode("msg").InnerText;

                        nativePayImgurl = "/ui/pmui/eticket/showtcode.aspx?pno=" + msg;
                    }
                    catch
                    { }
                }
                else
                {
                    //产品错误
                }

                //如果订单“未付款”现实支付及订单信息
                if ((int)modelb2border.Order_state == (int)OrderStatus.WaitPay)
                {
                    u_name   = modelb2border.U_name.Substring(0, 1) + "**";
                    u_mobile = modelb2border.U_phone.Substring(0, 4) + "****" + modelb2border.U_phone.Substring(modelb2border.U_phone.Length - 3, 3);

                    ;
                    travel_date  = modelb2border.U_traveldate.ToString();
                    buy_num      = modelb2border.U_num;
                    p_totalprice = CommonFunc.OperTwoDecimal((modelb2border.U_num * modelb2border.Pay_price + modelb2border.Express - modelb2border.Integral1 - modelb2border.Imprest1).ToString());
                    if (modelb2border.Child_u_num > 0)//如果是旅游包含儿童的
                    {
                        p_totalprice = (Decimal.Parse(p_totalprice) + modelb2border.Child_u_num * (modelb2border.Pay_price - modelcompro.Childreduce)).ToString();
                    }

                    ordertype = modelb2border.Order_type;
                    if (ordertype == 2)
                    {
                        proname     = "预付款充值";
                        u_youxiaoqi = "";
                    }
                    else
                    {
                        proname = modelcompro.Pro_name;
                        if (modelcompro.Server_type == 10)
                        {//服务类型是:旅游大巴
                            u_youxiaoqi = modelb2border.U_traveldate.ToString("yyyy-MM-dd");
                        }
                        else
                        {
                            u_youxiaoqi = modelcompro.Pro_start.ToString() + " - " + modelcompro.Pro_end.ToString();
                        }
                    }


                    //如果是购物车订单再次处理
                    if (cart > 0)
                    {
                        proname      = dataorder.GetCartOrderProById(orderid);
                        p_totalprice = dataorder.GetCartOrderMoneyById(orderid).ToString("0.00");
                        buy_num      = 1;
                    }


                    tenpay_url = string.Format("/tenpay/payRequest.aspx?order_no={0}&product_name={1}&order_price={2}&remarkexplain={3}",
                                               orderid, Server.UrlEncode(proname), Server.UrlEncode(p_totalprice), Server.UrlEncode(proname));

                    if (Server_type == 9)
                    {
                        //订房查询入住 及离店日期
                        var hoteldata  = new B2b_order_hotelData();
                        var hotelmodel = hoteldata.GetHotelOrderByOrderId(orderid);

                        if (hotelmodel != null)
                        {
                            stardate = hotelmodel.Start_date.ToString("yyyy-MM-dd");
                            enddate  = hotelmodel.End_date.ToString("yyyy-MM-dd");
                        }
                    }
                }
            }
            #endregion
        }
예제 #6
0
        private void GetOpenId(ref int comid)
        {
            //完整url、域名、参数
            string urlstr   = Request.Url.ToString();
            string hoststr  = HttpContext.Current.Request.Url.Host;
            string paramstr = HttpContext.Current.Request.Url.Query;

            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "urlstr:" + urlstr + "\r\n----------------------------------------\r\n" + "hoststr:" + hoststr + "\r\n----------------------------------------\r\n" + "paramstr:" + paramstr);

            //根据域名获取comid
            comid = int.Parse(Regex.Match(hoststr, "\\d{1,}").ToString());
            if (comid == 0)
            {
                return;
            }



            //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "Cookiehelp.GetCookie(openid):" + Cookiehelp.GetCookie("openid"));

            //判断openid是否存在于cookie中
            if (Cookiehelp.GetCookie("openid") != "")
            {
                Openid = Cookiehelp.GetCookie("openid");
                //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "openid:" + Openid);
            }
            else
            {
                //判断code值是否存在,存在获取openid,并且保存到cookie中;
                if (Request["code"].ConvertTo <string>("") != "")
                {
                    string code = Request["code"];
                    //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "code:" + code);

                    WeiXinBasic basic = new WeiXinBasicData().GetWxBasicByComId(comid);
                    if (basic == null)
                    {
                        return;
                    }

                    //必须为认证服务号才含有网页授权获取用户openid的权限
                    if (basic.Weixintype == 4)
                    {
                        string requrl =
                            string.Format(
                                "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code",
                                basic.AppId, basic.AppSecret, code);
                        string returnStr = HttpUtil.Send("", requrl);
                        //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "returnStr:" + returnStr);

                        var obj = JsonConvert.DeserializeObject <ModelOpenID>(returnStr);
                        Openid = obj.openid;

                        //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "获取的openid:" + Openid);

                        //向cookie添加值
                        Cookiehelp.WriteCookie("openid", Openid, DateTime.Now.AddDays(30));
                    }
                }
                else //code值不存在,把域名、完整网址、参数部分 保存到数据库 请求网址记录表ReqUrl_Log,返回标识列值Mid;
                {
                    ReqUrl_Log requrllog = new ReqUrl_Log
                    {
                        mid      = 0,
                        urlstr   = urlstr,
                        hoststr  = hoststr,
                        paramstr = paramstr,
                        subtime  = DateTime.Now
                    };

                    int mid = new ReqUrl_LogHelper().InsReqUrlLog(requrllog);

                    WeiXinBasic basic = new WeiXinBasicData().GetWxBasicByComId(comid);
                    if (basic == null)
                    {
                        return;
                    }

                    //必须为认证服务号才含有网页授权获取用户openid的权限
                    if (basic.Weixintype == 4)
                    {
                        string redirect_url = urlstr.Replace(".aspx" + paramstr, "_wx_" + mid + ".aspx");
                        //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "redirect_url:" + redirect_url);

                        scopeurl = WeiXinJsonData.GetFollowOpenLinkUrl(comid, redirect_url);
                        //TxtHelper.WriteFile("D:\\site\\b2betown\\ETS2.WebApp\\Log.txt", "scopeurl:" + scopeurl);
                    }
                }
            }
        }
예제 #7
0
        public static string EditUserAndMasterGroup(B2b_company_manageuser manageuser, string masterid, string mastername, string grouparr, int createmasterid, string createmastername, DateTime createdate)
        {
            try
            {
                //员工渠道管理,关联说明。
                //以员工位主表,渠道为从表,添加,修改时都先判断员工表,是否有此账户或手机,有则错误返回。
                //当添加或修改员工时,再判断渠道表,如果渠道没有则添加,如果有,在添加操作时,不操作,在修改的时候同时修改。


                if (manageuser.Id == 0)//添加操作
                {
                    //判断添加员工时 员工表中账户是否存在,避免账户重复问题
                    bool ishasaccount = new B2bCompanyManagerUserData().Ishasaccount(manageuser.Accounts);
                    if (ishasaccount)
                    {
                        return(JsonConvert.SerializeObject(new { type = 1, msg = "账户已存在,请更换登录账户名" }));
                    }
                    //判断添加员工时 员工表中手机是否存在,避免手机重复
                    bool ishasphone1 = new B2bCompanyManagerUserData().Ishasphone(manageuser.Tel, manageuser.Com_id);

                    if (ishasphone1 == false)
                    {
                        return(JsonConvert.SerializeObject(new { type = 1, msg = "已经有此手机账户了,请修改此手机账户信息" }));
                    }
                }
                else //编辑操作
                {
                    if (manageuser.Tel != manageuser.OldTel)//更换手机添加
                    {
                        //新手机判断是否有重复的
                        bool ishasphone1 = new B2bCompanyManagerUserData().Ishasphone(manageuser.Tel, manageuser.Com_id);
                        if (ishasphone1 == false)
                        {
                            return(JsonConvert.SerializeObject(new { type = 1, msg = "已经有此手机账户了,修改失败" }));
                        }
                    }
                }


                var data = B2bCompanyManagerUserData.InsertOrUpdate(manageuser);
                if (data > 0)
                {
                    var dataa = new Sys_MasterGroupData().EditMasterGroup(data.ToString(), mastername, grouparr, createmasterid, createmastername, createdate);

                    var channelid = 0;

                    //判断是否含有当前渠道信息
                    if (manageuser.Id == 0)//添加员工操作
                    {
                        int cid      = 0;
                        var channnel = new MemberChannelData().Ishasphone(manageuser.Tel, manageuser.Com_id, out cid);
                        if (channnel)
                        {
                            //添加渠道信息
                            channelid = new MemberChannelData().EditSimplyChannel(0, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                        }
                        else
                        {
                            //编辑渠道信息
                            channelid = new MemberChannelData().EditSimplyChannel(cid, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                        }
                    }
                    else
                    {                                            //修改员工信息时
                        //首先判断手机是否更换
                        if (manageuser.Tel == manageuser.OldTel) //没有更换就直接查找渠道,无此手机添加,由此手机更新
                        {
                            int cid      = 0;
                            var channnel = new MemberChannelData().Ishasphone(manageuser.Tel, manageuser.Com_id, out cid);//先判断
                            if (channnel)
                            {
                                //添加渠道信息
                                channelid = new MemberChannelData().EditSimplyChannel(0, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                            }
                            else
                            {
                                //编辑渠道信息
                                channelid = new MemberChannelData().EditSimplyChannel(cid, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                            }
                        }
                        else
                        {                                                                                                  //更换新手机,先查询新手机是否使用,如果未使用
                            int cid      = 0;
                            var channnel = new MemberChannelData().Ishasphone(manageuser.Tel, manageuser.Com_id, out cid); //先判断
                            if (channnel)
                            {
                                var channnel2 = new MemberChannelData().Ishasphone(manageuser.OldTel, manageuser.Com_id, out cid);//获取老手机渠道信息,
                                if (channnel2)
                                {
                                    //未查询到老手机,直接添加新手机添加渠道信息
                                    channelid = new MemberChannelData().EditSimplyChannel(0, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                                }
                                else
                                {
                                    //对老的手机渠道信息更新编辑渠道信息
                                    channelid = new MemberChannelData().EditSimplyChannel(cid, manageuser.Com_id, manageuser.Employeename, manageuser.Channelcompanyid.ToString(), manageuser.Tel, manageuser.Channelsource.ToString().ConvertTo <int>(0), manageuser.Employeestate);
                                }
                            }
                            else
                            { //如果已使用,则不操作渠道,等于员工和新手机渠道绑定
                            }
                        }
                    }
                    if (channelid > 0)
                    {
                        Member_Channel m_channel = new MemberChannelData().GetChannelDetail(channelid);
                        if (m_channel != null)
                        {
                            //判断公司微信是否是 已认证服务号
                            bool isrz_fuwuno = new MemberChannelData().IsRz_fuwuno(manageuser.Com_id);
                            if (isrz_fuwuno)
                            {
                                //判断渠道是否已经生成过参数二维码
                                bool iscreate_paramqrcode = new WxSubscribeSourceData().Ishascreate_paramqrcode(channelid);
                                if (iscreate_paramqrcode == false)
                                {
                                    JavaScriptSerializer ser = new JavaScriptSerializer();
                                    ResultClass          foo = ser.Deserialize <ResultClass>(WeiXinJsonData.EditWxQrcode(0, manageuser.Com_id, "系统生成" + m_channel.Name + m_channel.Mobile, 0, m_channel.Companyid, channelid, 1));
                                }
                            }
                        }
                    }

                    if (dataa > 0)
                    {
                        return(JsonConvert.SerializeObject(new { type = 100, msg = dataa }));
                    }
                    else
                    {
                        return(JsonConvert.SerializeObject(new { type = 1, msg = "编辑账户信息时出现意外错误" }));
                    }
                }
                else
                {
                    return(JsonConvert.SerializeObject(new { type = 1, msg = "编辑账户信息时出现意外错误." }));
                }
            }
            catch (Exception ex)
            {
                return(JsonConvert.SerializeObject(new { type = 1, msg = ex.Message }));

                throw;
            }
        }