Exemple #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        uid  = TWRequest.GetQueryInt("uid");
        cart = TWRequest.GetQueryString("cart");
        if (string.IsNullOrEmpty(cart))
        {
            cart = "3";
        }
        if (uid > 0)
        {
            userModel = new Tea.BLL.users().GetModel(uid);
        }
        cbquan = TWRequest.GetFormString("cbquan");

        if (cart == "3")
        {
            cartModel = Tea.Web.UI.AdminCart.GetTotal(-3, uid);
        }
        if (cartModel.total_point > userModel.point)
        {
            Response.Write(ljd.function.LocalHint("紅利不足,請重新選擇商品!", "adminorder.aspx"));
            Response.End();
            return;
        }
        try
        {
            guo  = userModel.area.Split(',')[0].ToString();
            area = userModel.area.Split(',')[1].ToString();
            city = userModel.area.Split(',')[2].ToString();
            zip  = userModel.qq;
        }
        catch (Exception eee) { }

        DataSet ds_guo = Tea.DBUtility.DbHelperSQL.Query("select * from shop_basic where basic_where='city' order by basic_sort");

        data_guo.DataSource = ds_guo;
        data_guo.DataBind();

        dataguo.DataSource = ds_guo;
        dataguo.DataBind();

        data_fp_guo.DataSource = ds_guo;
        data_fp_guo.DataBind();

        data_invo_guo.DataSource = ds_guo;
        data_invo_guo.DataBind();

        try
        {
            Tea.Model.express expModel = new Tea.BLL.express().GetModel(express_id);
            if (decimal.Parse(expModel.maxmoney.ToString()) > cartModel.real_amount)
            {
                yun = expModel.express_fee;
            }
            else
            {
                yun = 0;
            }
        }
        catch (Exception eee) { }

        if (cart == "3")
        {
            data_cart.DataSource = Tea.Web.UI.AdminCart.GetList(-3, uid);
            data_cart.DataBind();
        }



        data_pay.DataSource = new Tea.BLL.payment().GetList(0, "is_lock=0", "sort_id desc,id desc");
        data_pay.DataBind();


        act = Request["act"];

        if (act == "act_add")
        {
            if (TWRequest.GetFormString("txtguo") != "台灣")
            {
                string  ycity = "";
                DataSet yds   = Tea.DBUtility.DbHelperSQL.Query("select basic_value,basic_type from  shop_basic where basic_label='" + TWRequest.GetFormString("txtguo") + "' and basic_where='city'");
                if (yds.Tables[0].Rows.Count > 0)
                {
                    ycity = yds.Tables[0].Rows[0]["basic_type"].ToString();
                    DataSet yd_s = Tea.DBUtility.DbHelperSQL.Query("select top 1 basic_sort from shop_basic where basic_money>" + cartModel.total_num_zhe.ToString("0.") + " and basic_where='yunfei' and basic_type='" + ycity + "' order by basic_money");
                    if (yd_s.Tables[0].Rows.Count == 0)
                    {
                        Response.Write(ljd.function.LocalHint("材積重超出寄送限制,請調整訂單內容", "adminorder.aspx?uid=" + uid));
                        Response.End();
                    }
                }
            }
            //////檢查物流方式
            if (data_cart.Items.Count == 0)
            {
                Response.Write(ljd.function.LocalHint("購物車為空,請選購商品!", "adminorder.aspx?uid=" + uid));
                Response.End();
                return;
            }

            yun = TWRequest.GetFormInt("yun");

            //券
            quan = TWRequest.GetFormString("txt_quan");
            if (!string.IsNullOrEmpty(quan) && cbquan == "1")
            {
                Tea.Model.quan modelquan = new Tea.BLL.quan().GetModel(quan);
                if (modelquan != null)
                {
                    if (modelquan.quan_show > 0 || int.Parse(modelquan.quan_end_date.Value.ToString("yyyyMMdd")) < int.Parse(System.DateTime.Now.ToString("yyyyMMdd")))
                    {
                        Response.Write(ljd.function.LocalHint("優惠券無效", "adminorder.aspx?uid=" + uid));
                        Response.End();
                    }
                    fee = modelquan.quan_num.Value;
                }
                else
                {
                    Response.Write(ljd.function.LocalHint("優惠券無效", "adminorder.aspx?uid=" + uid));
                    Response.End();
                }
            }
            //紅利
            //hong = TWRequest.GetFormInt("cb_point");
            //int txt_point = TWRequest.GetFormInt("txt_point");
            //if (hong > 0 && txt_point > 0)
            //{



            //    int zuida = Utils.StrToInt((cartModel.real_amount * uconfig.pint_yong / 100).ToString(), 0);
            //    if (cartModel.real_amount < uconfig.pint_mane && userModel.point > zuida)
            //    {
            //        Response.Write(ljd.function.LocalHint("紅利超出限制!", "adminorder.aspx?uid="+uid));
            //        return;
            //    }
            //    else
            //    {
            //        back = Utils.StrToInt((userModel.point / uconfig.pint_money).ToString(), 0);
            //    }

            //}


            payment_id = TWRequest.GetFormInt("txt_pay");



            //獲得傳參信息


            string accept_name = Utils.ToHtml(TWRequest.GetFormString("txt_name"));
            string post_code   = Utils.ToHtml(TWRequest.GetFormString("txt_zip"));
            string mobile      = Utils.ToHtml(TWRequest.GetFormString("txt_mobile"));
            string address     = Utils.ToHtml(TWRequest.GetFormString("txt_address"));
            string email       = Utils.ToHtml(TWRequest.GetFormString("txt_email"));
            string guo         = Utils.ToHtml(TWRequest.GetFormString("txt_guo").Trim());
            string selcity     = Utils.ToHtml(TWRequest.GetFormString("txt_state"));
            string selarea     = Utils.ToHtml(TWRequest.GetFormString("txt_city"));
            string selcity1    = Utils.ToHtml(TWRequest.GetFormString("txt_state1"));
            string selarea1    = Utils.ToHtml(TWRequest.GetFormString("txt_city1"));
            string telphone    = Utils.ToHtml(TWRequest.GetFormString("txt_tel"));


            //獲取訂單配置資料
            Tea.Model.orderconfig orderConfig = new Tea.BLL.orderconfig().loadConfig();



            //檢查付款方式
            if (payment_id == 0)
            {
                Response.Write(ljd.function.LocalHint("對不起,請選擇付款方式!", ""));
                Response.End();
                return;
            }
            Tea.Model.payment payModel = new Tea.BLL.payment().GetModel(payment_id);
            if (payModel == null)
            {
                Response.Write(ljd.function.LocalHint("對不起,付款方式不存在或已刪除!", ""));
                Response.End();
                return;
            }
            //檢查收貨人
            if (string.IsNullOrEmpty(accept_name))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入收貨人姓名!", ""));
                Response.End();
                return;
            }
            //檢查手機和電話
            if (string.IsNullOrEmpty(telphone) && string.IsNullOrEmpty(mobile))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入收貨人聯絡電話或手機!", ""));
                Response.End();
                return;
            }
            if (string.IsNullOrEmpty(selarea) && string.IsNullOrEmpty(selarea1))
            {
                Response.Write(ljd.function.LocalHint("對不起,請選擇收貨區域!", ""));
                Response.End();
                return;
            }
            //檢查地址
            if (string.IsNullOrEmpty(address) && string.IsNullOrEmpty(address))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入詳細的收貨地址!", ""));
                Response.End();
                return;
            }
            ////檢查郵箱
            if (string.IsNullOrEmpty(email))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入郵箱!", ""));
                Response.End();
                return;
            }
            //如果開啟暱名購物則不檢查會員是否登入
            int    user_id       = 0;
            int    user_group_id = 0;
            string user_name     = string.Empty;
            //檢查用戶是否登入

            if (userModel != null)
            {
                user_id       = userModel.id;
                user_group_id = userModel.group_id;
                user_name     = userModel.user_name;
            }
            if (orderConfig.maned == 0 && userModel == null)
            {
                Response.Write(ljd.function.LocalHint("對不起,用戶尚未登入或已超時!", ""));
                Response.End();
                return;
            }
            //檢查購物車商品
            IList <Tea.Model.cart_items> iList = Tea.Web.UI.AdminCart.GetList(-3, uid);
            if (iList == null)
            {
                Response.Write(ljd.function.LocalHint("對不起,購物車為空,無法結帳!", ""));
                Response.End();
                return;
            }
            //統計購物車

            //儲存訂單=======================================================================
            Tea.Model.orders model = new Tea.Model.orders();
            model.order_no    = "M" + Utils.GetOrderNumber(); //訂單號B開頭為商品訂單
            model.user_id     = user_id;
            model.user_name   = user_name;
            model.payment_id  = 0;
            model.express_id  = express_id;
            model.accept_name = accept_name;
            model.post_code   = post_code;
            model.telphone    = telphone;
            model.mobile      = mobile;
            model.email       = email;
            if (guo == "台灣")
            {
                model.area = guo + "," + selcity + "," + selarea;
            }
            else
            {
                model.area = guo + "," + selcity1 + "," + selarea1;
            }
            model.address        = address;
            model.payable_amount = cartModel.payable_amount;
            model.real_amount    = cartModel.real_amount;
            model.express_status = 1;
            model.express_fee    = yun; //物流費用
            model.payment_id     = payment_id;
            model.message        = TWRequest.GetFormString("txtcontent");
            if (TWRequest.GetFormString("txtguo") == "台灣")
            {
                model.user_add = TWRequest.GetFormString("txtname") + "|" + TWRequest.GetFormString("txtsex") + "|" + TWRequest.GetFormString("txtmobile") + "|" + TWRequest.GetFormString("txttel") + "|" + TWRequest.GetFormString("txtemail") + "|" + TWRequest.GetFormString("txtguo") + "|" + TWRequest.GetFormString("txtstate") + "|" + TWRequest.GetFormString("txtcity") + "|" + TWRequest.GetFormString("txtaddress") + "|" + TWRequest.GetFormString("txtzip");
            }
            else
            {
                model.user_add = TWRequest.GetFormString("txtname") + "|" + TWRequest.GetFormString("txtsex") + "|" + TWRequest.GetFormString("txtmobile") + "|" + TWRequest.GetFormString("txttel") + "|" + TWRequest.GetFormString("txtemail") + "|" + TWRequest.GetFormString("txtguo") + "|" + TWRequest.GetFormString("txtstate1") + "|" + TWRequest.GetFormString("txtcity1") + "|" + TWRequest.GetFormString("txtaddress") + "|" + TWRequest.GetFormString("txtzip");
            }
            model.point      = -cartModel.total_point;
            model.is_invoice = TWRequest.GetFormInt("txtinvoice");
            if (model.is_invoice == 1)
            {
                model.invoice_title = TWRequest.GetFormString("txt_invoice1");
            }
            if (model.is_invoice == 2)
            {
                model.invoice_title = TWRequest.GetFormString("txt_invoice2");
            }
            if (model.is_invoice == 3)
            {
                if (TWRequest.GetFormString("txtfaaddress_guo") == "台灣")
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice3") + "," + TWRequest.GetFormString("txtfaaddress") + "," + TWRequest.GetFormString("txtfaaddress_guo") + "," + TWRequest.GetFormString("txtfaaddress_state") + "," + TWRequest.GetFormString("txtfaaddress_city") + "," + TWRequest.GetFormString("txtfaaddress_zip") + "," + TWRequest.GetFormString("txtfa_address");
                }
                else
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice3") + "," + TWRequest.GetFormString("txtfaaddress") + "," + TWRequest.GetFormString("txtfaaddress_guo") + "," + TWRequest.GetFormString("txtfaaddress_state1") + "," + TWRequest.GetFormString("txtfaaddress_city1") + "," + TWRequest.GetFormString("txtfaaddress_zip") + "," + TWRequest.GetFormString("txtfa_address");
                }
            }
            if (model.is_invoice == 4)
            {
                if (TWRequest.GetFormString("txt_invoiceaddress_guo") == "台灣")
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice_4") + "," + TWRequest.GetFormString("txt_invoiceaddress") + "," + TWRequest.GetFormString("txt_invoiceaddress_guo") + "," + TWRequest.GetFormString("txt_invoiceaddress_state") + "," + TWRequest.GetFormString("txt_invoiceaddress_city") + "," + TWRequest.GetFormString("txt_invoiceaddress_zip") + "," + TWRequest.GetFormString("txt_invoice_address");
                }
                else
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice_4") + "," + TWRequest.GetFormString("txt_invoiceaddress") + "," + TWRequest.GetFormString("txt_invoiceaddress_guo") + "," + TWRequest.GetFormString("txt_invoiceaddress_state1") + "," + TWRequest.GetFormString("txt_invoiceaddress_city1") + "," + TWRequest.GetFormString("txt_invoiceaddress_zip") + "," + TWRequest.GetFormString("txt_invoice_address");
                }
            }



            if (!string.IsNullOrEmpty(quan))
            {
                Tea.Model.quan modelquan1 = new Tea.BLL.quan().GetModel(quan);
                if (modelquan1 != null)
                {
                    model.zhe_code = modelquan1.quan_code;
                }
            }
            //model.zhe_else = cartModel.sales_str;
            // model.point = -cartModel.total_point;//紅利兌換
            //model.express_fee = yun;//運費
            //model.payment_fee = -fee;//優惠券
            //model.tuid = -back;//紅利折扣
            //model.zhe = -cartModel.total_moneyback; //折價金額
            model.num = 0;// Utils.StrToInt((cartModel.real_amount / uconfig.money_pint).ToString("0."), 0); //獲得紅利

            //訂單總金額=實付商品金額+運費+支付手續費-回饋金

            if (model.order_amount < 0)
            {
                model.order_amount = 0;
            }

            model.add_time = DateTime.Now;
            //商品詳細列表
            List <Tea.Model.order_goods> gls = new List <Tea.Model.order_goods>();
            foreach (Tea.Model.cart_items item in iList)
            {
                gls.Add(new Tea.Model.order_goods {
                    article_id = item.id, goods_title = item.title, goods_price = item.price, real_price = item.user_price, quantity = item.quantity, point = item.point, goods_where = item.by, goods_code = item.goods_code, goods_no = item.goods_code, goods_img = item.img_url, spec_text = item.goods_color, img_url = item.img_url, goodsid = item.goodsid
                });
            }
            model.order_goods    = gls;
            model.order_amount   = model.real_amount + model.express_fee + model.payment_fee + model.tuid + model.zhe;
            model.order_pay_code = model.order_no + Utils.Number(4);
            int result = new Tea.BLL.orders().Add(model);



            if (result < 1)
            {
                Response.Write(ljd.function.LocalHint("訂單儲存過程中發生錯誤,請重新送出!", ""));
                Response.End();
                return;
            }

            try
            {
                string mailTitle = "待付款訂單通知信", mailContent = "";
                string url = weburl + "mail/payorder.aspx?id=" + result, ss = "";
                mailContent = ljd.function.GetPage(url, out ss);
                //發送郵件
                TWMail.sendMail(siteConfig.emailsmtp, siteConfig.emailssl, siteConfig.emailport, siteConfig.emailusername, siteConfig.emailpassword, siteConfig.emailnickname, siteConfig.emailfrom, model.email, mailTitle, mailContent);
            }
            catch (Exception eee) { }

            //if (email != TWRequest.GetFormString("txtemail"))
            //{
            //    try
            //    {
            //        string mailTitle = "待付款訂單通知信", mailContent = "";
            //        string url = weburl + "mail/payorder.aspx?id=" + result, ss = "";
            //        mailContent = ljd.function.GetPage(url, out ss);
            //        //發送郵件
            //        TWMail.sendMail(siteConfig.emailsmtp, siteConfig.emailssl, siteConfig.emailport, siteConfig.emailusername, siteConfig.emailpassword, siteConfig.emailnickname, siteConfig.emailfrom,TWRequest.GetFormString("txtemail"), mailTitle, mailContent);
            //    }
            //    catch (Exception eee) { }
            //}
            //扣除紅利
            if (model.point < 0)
            {
                new Tea.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "紅利兌換商品:" + model.order_no, false, 0, 0);
            }

            //if (!string.IsNullOrEmpty(quan))
            //{
            //    Tea.Model.quan modelquan = new Tea.BLL.quan().GetModel(quan);
            //    if (modelquan != null)
            //    {
            //        modelquan.quan_lock = 1;
            //        modelquan.quan_date = System.DateTime.Now;
            //        new Tea.BLL.quan().Update(modelquan);
            //    }
            //}
            //userModel.point = userModel.point + model.point;
            //new Tea.BLL.users().Update(userModel);

            //清空購物車
            Tea.Web.UI.AdminCart.ClearShop(cart, uid);
            // Tea.Web.UI.AdminCart.Clear("0");
            //送出成功,返回URL
            if (model.payment_id != 1)
            {
                Response.Write(ljd.function.LocalHint("訂單已成功送出!", "/admin/index.aspx"));
                Response.End();
                return;
            }
            else
            {
                Response.Write(ljd.function.LocalHint("訂單已成功送出!", "/admin/index.aspx"));
                Response.End();
                return;
            }
        }
    }
Exemple #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        cart = TWRequest.GetQueryString("cart");
        if (string.IsNullOrEmpty(cart))
        {
            cart = "1";
        }
        cbquan = TWRequest.GetFormString("cbquan");
        if (cart == "1")
        {
            cartModel = Tea.Web.UI.ShopCart.GetTotal(-1);
        }
        if (cart == "2")
        {
            cartModel = Tea.Web.UI.ShopCart.GetTotal(-2);
        }
        try
        {
            //Response.Write(cartModel.total_num_zhe);
            if (cartModel.total_point > 0 && cartModel.total_point > userModel.point)
            {
                Response.Write(ljd.function.LocalHint("紅利不足,請重新選擇商品!", "cart.aspx"));
                Response.End();
                return;
            }
        }
        catch (Exception eee) { }
        try
        {
            guo  = userModel.area.Split(',')[0].ToString();
            area = userModel.area.Split(',')[1].ToString();
            city = userModel.area.Split(',')[2].ToString();
            zip  = userModel.qq;
        }
        catch (Exception eee) { }

        DataSet ds_guo = Tea.DBUtility.DbHelperSQL.Query("select * from shop_basic where basic_where='city' order by basic_sort");

        data_guo.DataSource = ds_guo;
        data_guo.DataBind();

        dataguo.DataSource = ds_guo;
        dataguo.DataBind();

        data_fp_guo.DataSource = ds_guo;
        data_fp_guo.DataBind();

        data_invo_guo.DataSource = ds_guo;
        data_invo_guo.DataBind();

        try
        {
            if (cartModel.real_amount > oconfig.yunmian)
            {
                yun = 0;
            }
            else
            {
                yun = oconfig.yunfei;
            }
        }
        catch (Exception eee) { }
        point = userModel.point - cartModel.total_point;

        // Response.Write(cartModel.total_num_zhe);
        if (cart == "1")
        {
            data_cart.DataSource = Tea.Web.UI.ShopCart.GetList(-1);
            data_cart.DataBind();
            IList <Tea.Model.cart_items> iList = Tea.Web.UI.ShopCart.GetList(-1);
            int a = 0;
            foreach (Tea.Model.cart_items item in iList)
            {
                if (item.psmoney == "2")
                {
                    a      = a + 1;
                    yudate = getps(item.id.ToString());
                }
            }
            if (a > 1)
            {
                Response.Write(ljd.function.LocalHint("你的購物車中已有一預購商品,同時間只能購買一預購類型產品", "cart.aspx"));
                Response.End();
            }
        }
        if (cart == "2")
        {
            data_cart.DataSource = Tea.Web.UI.ShopCart.GetList(-2);
            data_cart.DataBind();
            IList <Tea.Model.cart_items> iList = Tea.Web.UI.ShopCart.GetList(-2);
            int   a       = 0;
            IList _list_3 = new ArrayList();
            foreach (Tea.Model.cart_items item in iList)
            {
                if (item.psmoney == "3")
                {
                    if (!_list_3.Contains(item.hdcode))
                    {
                        _list_3.Add(item.hdcode);
                        yudate = get_ps(item.hdcode.ToString());
                        //Response.Write(item.hdcode);
                    }
                }

                a = _list_3.Count;
            }
            if (a > 1)
            {
                Response.Write(ljd.function.LocalHint("你的購物車中已有一特別活動商品,同時間只能購買一特別活動類型產品", "cart.aspx"));
                Response.End();
            }
        }
        if (cart == "1" || cart == "2")
        {
            string year = System.DateTime.Now.ToString("yyyyMM");


            DataSet ddss = Tea.DBUtility.DbHelperSQL.Query("select top 1 * from shop_gift where brand_id=" + year + " and status=1 and left_quantity>0 and amount<=" + (cartModel.real_amount - cartModel.total_moneyback) + "");

            if (ddss.Tables[0].Rows.Count > 0)
            {
                decimal amount = Utils.StrToDecimal(ddss.Tables[0].Rows[0]["amount"].ToString(), 0);
                data_gift.DataSource = ddss;
                data_gift.DataBind();
                giftmoney = Utils.StrToInt(amount.ToString(), 0);
                giftshow  = 1;
                giftnum   = Utils.StrToInt(((cartModel.real_amount - cartModel.total_moneyback) / amount).ToString().Split('.')[0].ToString(), 0);
            }
        }

        ////檢查物流方式
        if (data_cart.Items.Count == 0)
        {
            Response.Write(ljd.function.LocalHint("購物車為空,請選購商品!", "cart.aspx"));
            Response.End();
            return;
        }

        data_pay.DataSource = new Tea.BLL.payment().GetList(0, "is_lock=0", "sort_id desc,id desc");
        data_pay.DataBind();
        int aa = 0, b = 0, sc = -1;

        if (cart == "1")
        {
            sc = -1;
        }
        if (cart == "2")
        {
            sc = -2;
        }
        IList <Tea.Model.cart_items> iList_all = Tea.Web.UI.ShopCart.GetList(sc);

        if (iList_all != null)
        {
            foreach (Tea.Model.cart_items item in iList_all)
            {
                if (item.quantity > item.stock_quantity)
                {
                    Tea.Web.UI.ShopCart.Update(item.key, item.stock_quantity);
                    aa = aa + 1;
                }
                if (item.stock_quantity < 1)
                {
                    b = b + 1;
                }
            }
            if (aa > 0)
            {
                Response.Write(ljd.function.LocalHint("庫存發生變化調整了購物數量", "cart.aspx"));
                Response.End();
                return;
            }
        }
        if (b > 0)
        {
            Response.Write(ljd.function.LocalHint("購物車中有0庫存的商品請刪除!", "cart.aspx"));
            Response.End();
            return;
        }
        act = Request["act"];
        //Response.Write(cartModel.brand_id);
        if (act == "act_add")
        {
            if (TWRequest.GetFormString("txtguo") != "台灣")
            {
                string  ycity = "";
                DataSet yds   = Tea.DBUtility.DbHelperSQL.Query("select basic_value,basic_type from  shop_basic where basic_label='" + TWRequest.GetFormString("txtguo") + "' and basic_where='city'");
                if (yds.Tables[0].Rows.Count > 0)
                {
                    ycity = yds.Tables[0].Rows[0]["basic_type"].ToString();
                    DataSet yd_s = Tea.DBUtility.DbHelperSQL.Query("select top 1 basic_sort from shop_basic where basic_money>" + cartModel.total_num_zhe.ToString("0.") + " and basic_where='yunfei' and basic_type='" + ycity + "' order by basic_money");
                    if (yd_s.Tables[0].Rows.Count == 0)
                    {
                        Response.Write(ljd.function.LocalHint("材積重超出寄送限制,請調整訂單內容", "cart.aspx"));
                        Response.End();
                    }
                }
            }
            if (cartModel.brandid == 3 && TWRequest.GetFormString("txtguo") != "台灣")
            {
                Response.Write(ljd.function.LocalHint("您的購物⾞內含有不配送⾄海外的商品,需分開購買。", "cart.aspx"));
                Response.End();
                return;
            }
            yun = TWRequest.GetFormInt("yun");


            //券
            quan = TWRequest.GetFormString("txt_quan");
            if (!string.IsNullOrEmpty(quan) && cbquan == "1")
            {
                Tea.Model.quan modelquan = new Tea.BLL.quan().GetModel(quan);
                if (modelquan != null)
                {
                    if (int.Parse(modelquan.quan_end_date.Value.ToString("yyyyMMdd")) < int.Parse(System.DateTime.Now.ToString("yyyyMMdd")))
                    {
                        Response.Write(ljd.function.LocalHint("優惠券無效", "order.aspx"));
                        Response.End();
                    }
                    fee = modelquan.quan_num.Value;
                }
                else
                {
                    Response.Write(ljd.function.LocalHint("優惠券無效", "order.aspx"));
                    Response.End();
                }
            }
            int txt_point = TWRequest.GetFormInt("txt_point");
            //紅利
            hong = TWRequest.GetFormInt("cb_point");

            if (hong > 0 && txt_point > 0 && uconfig.pint_money > 0)
            {
                if (txt_point > point)
                {
                    Response.Write(ljd.function.LocalHint("紅利超出限制!", "order.aspx?cart=" + cart));
                    Response.End();
                    return;
                }

                int da = Tea.Common.Utils.StrToInt((txt_point / uconfig.pint_money).ToString(), 0);
                int xa = Tea.Common.Utils.StrToInt((cartModel.real_amount / 100 * uconfig.pint_yong).ToString(), 0);
                if (da > xa)
                {
                    Response.Write(ljd.function.LocalHint("紅利超出限制!", "order.aspx?cart=" + cart));
                    Response.End();
                    return;
                }
                else
                {
                    back = da;
                }

                //Response.Write(da+"_"+xa);
                //Response.End();
                //int zuida = Utils.StrToInt((cartModel.real_amount * uconfig.pint_yong / 100).ToString(), 0);
                //if (cartModel.real_amount < uconfig.pint_mane && point > zuida)
                //{
                //    Response.Write(ljd.function.LocalHint("紅利超出限制!", "order.aspx"));
                //    return;
                //}
                //else
                //{
                //    back = Utils.StrToInt((point / uconfig.pint_money).ToString(), 0);
                //}
            }


            payment_id = TWRequest.GetFormInt("txt_pay");



            //獲得傳參信息


            string accept_name = Utils.ToHtml(TWRequest.GetFormString("txt_name"));
            string post_code   = Utils.ToHtml(TWRequest.GetFormString("txt_zip"));
            string mobile      = Utils.ToHtml(TWRequest.GetFormString("txt_mobile"));
            string address     = Utils.ToHtml(TWRequest.GetFormString("txt_address"));
            string email       = Utils.ToHtml(TWRequest.GetFormString("txt_email"));
            string guo         = Utils.ToHtml(TWRequest.GetFormString("txt_guo").Trim());
            string selcity     = Utils.ToHtml(TWRequest.GetFormString("txt_state"));
            string selarea     = Utils.ToHtml(TWRequest.GetFormString("txt_city"));
            string selcity1    = Utils.ToHtml(TWRequest.GetFormString("txt_state1"));
            string selarea1    = Utils.ToHtml(TWRequest.GetFormString("txt_city1"));
            string telphone    = Utils.ToHtml(TWRequest.GetFormString("txt_tel"));


            //獲取訂單配置資料
            Tea.Model.orderconfig orderConfig = new Tea.BLL.orderconfig().loadConfig();



            //檢查付款方式
            if (payment_id == 0)
            {
                Response.Write(ljd.function.LocalHint("對不起,請選擇付款方式!", ""));
                Response.End();
                return;
            }
            Tea.Model.payment payModel = new Tea.BLL.payment().GetModel(payment_id);
            if (payModel == null)
            {
                Response.Write(ljd.function.LocalHint("對不起,付款方式不存在或已刪除!", ""));
                Response.End();
                return;
            }
            //檢查收貨人
            if (string.IsNullOrEmpty(accept_name))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入收貨人姓名!", ""));
                Response.End();
                return;
            }
            //檢查手機和電話
            if (string.IsNullOrEmpty(telphone) && string.IsNullOrEmpty(mobile))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入收貨人聯絡電話或手機!", ""));
                Response.End();
                return;
            }
            //檢查收貨區域
            if (string.IsNullOrEmpty(selarea) && string.IsNullOrEmpty(selarea1))
            {
                Response.Write(ljd.function.LocalHint("對不起,請選擇收貨區域!", ""));
                Response.End();
                return;
            }
            //檢查地址
            if (string.IsNullOrEmpty(address) && string.IsNullOrEmpty(address))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入詳細的收貨地址!", ""));
                Response.End();
                return;
            }
            ////檢查郵箱
            if (string.IsNullOrEmpty(email))
            {
                Response.Write(ljd.function.LocalHint("對不起,請輸入郵箱!", ""));
                Response.End();
                return;
            }
            //如果開啟暱名購物則不檢查會員是否登入
            int    user_id       = 0;
            int    user_group_id = 0;
            string user_name     = string.Empty;
            //檢查用戶是否登入

            if (userModel != null)
            {
                user_id       = userModel.id;
                user_group_id = userModel.group_id;
                user_name     = userModel.user_name;
            }
            if (orderConfig.maned == 0 && userModel == null)
            {
                Response.Write(ljd.function.LocalHint("對不起,用戶尚未登入或已超時!", ""));
                Response.End();
                return;
            }
            int c = -1;
            if (cart == "1")
            {
                c = -1;
            }
            if (cart == "2")
            {
                c = -2;
            }
            //檢查購物車商品
            IList <Tea.Model.cart_items> iList = Tea.Web.UI.ShopCart.GetList(c);
            if (iList == null)
            {
                Response.Write(ljd.function.LocalHint("對不起,購物車為空,無法結帳!", ""));
                return;
            }
            //統計購物車

            //儲存訂單=======================================================================
            Tea.Model.orders model = new Tea.Model.orders();
            if (cart == "1")
            {
                model.order_no = "B" + Utils.GetOrderNumber(); //訂單號B開頭為商品訂單
            }
            if (cart == "2")
            {
                model.order_no = "T" + Utils.GetOrderNumber(); //訂單號開頭為特殊訂單
            }
            model.user_id     = user_id;
            model.user_name   = user_name;
            model.payment_id  = 0;
            model.express_id  = express_id;
            model.accept_name = accept_name;
            model.post_code   = post_code;
            model.telphone    = telphone;
            model.mobile      = mobile;
            model.email       = email;
            if (guo == "台灣")
            {
                model.area = guo + "," + selcity + "," + selarea;
            }
            else
            {
                model.area = guo + "," + selcity1 + "," + selarea1;
            }
            model.address        = address;
            model.payable_amount = cartModel.payable_amount;
            model.real_amount    = cartModel.real_amount;
            model.express_status = 1;
            model.express_fee    = yun; //物流費用
            model.payment_id     = payment_id;
            model.message        = TWRequest.GetFormString("txtcontent");
            if (TWRequest.GetFormString("txtguo") == "台灣")
            {
                model.user_add = TWRequest.GetFormString("txtname") + "|" + TWRequest.GetFormString("txtsex") + "|" + TWRequest.GetFormString("txtmobile") + "|" + TWRequest.GetFormString("txttel") + "|" + TWRequest.GetFormString("txtemail") + "|" + TWRequest.GetFormString("txtguo") + "|" + TWRequest.GetFormString("txtstate") + "|" + TWRequest.GetFormString("txtcity") + "|" + TWRequest.GetFormString("txtaddress") + "|" + TWRequest.GetFormString("txtzip");
            }
            else
            {
                model.user_add = TWRequest.GetFormString("txtname") + "|" + TWRequest.GetFormString("txtsex") + "|" + TWRequest.GetFormString("txtmobile") + "|" + TWRequest.GetFormString("txttel") + "|" + TWRequest.GetFormString("txtemail") + "|" + TWRequest.GetFormString("txtguo") + "|" + TWRequest.GetFormString("txtstate1") + "|" + TWRequest.GetFormString("txtcity1") + "|" + TWRequest.GetFormString("txtaddress") + "|" + TWRequest.GetFormString("txtzip");
            }
            model.point      = -cartModel.total_point;
            model.is_invoice = TWRequest.GetFormInt("txtinvoice");
            if (model.is_invoice == 1)
            {
                model.invoice_title = TWRequest.GetFormString("txt_invoice1");
            }
            if (model.is_invoice == 2)
            {
                model.invoice_title = TWRequest.GetFormString("txt_invoice2");
            }
            if (model.is_invoice == 3)
            {
                if (TWRequest.GetFormString("txtfaaddress_guo") == "台灣")
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice3") + "," + TWRequest.GetFormString("txtfaaddress") + "," + TWRequest.GetFormString("txtfaaddress_guo") + "," + TWRequest.GetFormString("txtfaaddress_state") + "," + TWRequest.GetFormString("txtfaaddress_city") + "," + TWRequest.GetFormString("txtfaaddress_zip") + "," + TWRequest.GetFormString("txtfa_address");
                }
                else
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice3") + "," + TWRequest.GetFormString("txtfaaddress") + "," + TWRequest.GetFormString("txtfaaddress_guo") + "," + TWRequest.GetFormString("txtfaaddress_state1") + "," + TWRequest.GetFormString("txtfaaddress_city1") + "," + TWRequest.GetFormString("txtfaaddress_zip") + "," + TWRequest.GetFormString("txtfa_address");
                }
            }
            if (model.is_invoice == 4)
            {
                if (TWRequest.GetFormString("txt_invoiceaddress_guo") == "台灣")
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice_4") + "," + TWRequest.GetFormString("txt_invoiceaddress") + "," + TWRequest.GetFormString("txt_invoiceaddress_guo") + "," + TWRequest.GetFormString("txt_invoiceaddress_state") + "," + TWRequest.GetFormString("txt_invoiceaddress_city") + "," + TWRequest.GetFormString("txt_invoiceaddress_zip") + "," + TWRequest.GetFormString("txt_invoice_address");
                }
                else
                {
                    model.invoice_title = TWRequest.GetFormString("txt_invoice_4") + "," + TWRequest.GetFormString("txt_invoiceaddress") + "," + TWRequest.GetFormString("txt_invoiceaddress_guo") + "," + TWRequest.GetFormString("txt_invoiceaddress_state1") + "," + TWRequest.GetFormString("txt_invoiceaddress_city1") + "," + TWRequest.GetFormString("txt_invoiceaddress_zip") + "," + TWRequest.GetFormString("txt_invoice_address");
                }
            }



            if (!string.IsNullOrEmpty(quan))
            {
                Tea.Model.quan modelquan1 = new Tea.BLL.quan().GetModel(quan);
                if (modelquan1 != null)
                {
                    model.zhe_code = modelquan1.quan_code;
                }
            }
            model.zhe_else    = cartModel.sales_str;
            model.point       = -cartModel.total_point; //紅利兌換
            model.express_fee = yun;                    //運費
            model.payment_fee = -fee;                   //優惠券
            model.tuid        = -back;                  //紅利折扣

            model.zhe_moeny = TWRequest.GetFormString("txt_date");
            //訂單總金額=實付商品金額+運費+支付手續費-回饋金

            if (model.order_amount < 0)
            {
                model.order_amount = 0;
            }
            model.zhe = -cartModel.total_moneyback; //折價金額
            if (uconfig.money_pint > 0)
            {
                model.num = Utils.StrToInt(((model.real_amount + model.payment_fee + model.tuid + model.zhe) / uconfig.money_pint).ToString("0."), 0); //獲得紅利
            }
            model.add_time = DateTime.Now;
            //商品詳細列表
            List <Tea.Model.order_goods> gls = new List <Tea.Model.order_goods>();
            foreach (Tea.Model.cart_items item in iList)
            {
                gls.Add(new Tea.Model.order_goods {
                    article_id = item.id, goods_title = item.title, goods_price = item.price, real_price = item.user_price, quantity = item.quantity, point = item.point, goods_where = item.by, goods_code = item.goods_code, goods_no = item.goods_code, goods_img = item.img_url, spec_text = item.goods_color, img_url = item.img_url, goodsid = item.goodsid
                });
            }
            model.order_goods = gls;
            if (hong > 0)
            {
                model.company = -txt_point;
            }
            model.order_amount   = model.real_amount + model.express_fee + model.payment_fee + model.tuid + model.zhe;
            model.order_pay_code = model.order_no + Utils.Number(4);
            int result = new Tea.BLL.orders().Add(model);



            if (result < 1)
            {
                Response.Write(ljd.function.LocalHint("訂單儲存過程中發生錯誤,請重新送出!", ""));
                Response.End();
                return;
            }


            string  yearmonth = System.DateTime.Now.ToString("yyyyMM");
            DataSet ds_gift   = Tea.DBUtility.DbHelperSQL.Query("select top 1 * from shop_gift where brand_id=" + yearmonth + " and status=1 and left_quantity>0 and amount<=" + (model.order_amount - model.express_fee) + "");
            if (ds_gift.Tables[0].Rows.Count > 0)
            {
                decimal amount = Utils.StrToDecimal(ds_gift.Tables[0].Rows[0]["amount"].ToString(), 0);
                giftnum = Utils.StrToInt(((model.order_amount - model.express_fee) / amount).ToString().Split('.')[0].ToString(), 0);

                foreach (DataRow dr in ds_gift.Tables[0].Rows)
                {
                    int gid = Utils.StrToInt(dr["id"].ToString(), 0);
                    Tea.Model.order_gift model_gift = new Tea.Model.order_gift();
                    model_gift.gift_id  = gid;
                    model_gift.order_id = result;
                    model_gift.company  = giftnum;
                    new Tea.BLL.order_gift().Add(model_gift);

                    new Tea.BLL.gift().UpdateField(gid, "left_quantity=left_quantity-1");
                }
            }

            //扣除紅利
            if (model.point < 0)
            {
                new Tea.BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "紅利兌換商品:" + model.order_no, false, result, 0);
            }

            //扣除紅利
            if (model.company < 0)
            {
                new Tea.BLL.user_point_log().Add(model.user_id, model.user_name, model.company, "紅利折扣:" + model.order_no, false, result, 0);
            }

            if (!string.IsNullOrEmpty(quan))
            {
                Tea.Model.quan modelquan = new Tea.BLL.quan().GetModel(quan);
                if (modelquan != null && modelquan.quan_where == "lin")
                {
                    modelquan.quan_lock = 1;
                    modelquan.quan_date = System.DateTime.Now;
                    new Tea.BLL.quan().Update(modelquan);
                }
            }
            //userModel.point = userModel.point + model.point + model.tuid;
            //new Tea.BLL.users().Update(userModel);
            //Tea.Web.UI.ShopCart.ClearShop(cart);
            //清空購物車
            Tea.Web.UI.ShopCart.ClearShop(cart);
            // Tea.Web.UI.ShopCart.Clear("0");
            //送出成功,返回URL


            try
            {
                string mailTitle = "訂單通知信", mailContent = "";
                string url = weburl + "mail/order.aspx?id=" + result, ss = "";
                mailContent = ljd.function.GetPage(url, out ss);
                //發送郵件
                TWMail.sendMail(config.emailsmtp, config.emailssl, config.emailport, config.emailusername, config.emailpassword, config.emailnickname, config.emailfrom, model.email, mailTitle, mailContent);
            }
            catch (Exception eee) { }
            //if (email != TWRequest.GetFormString("txtemail"))
            //{
            //    try
            //    {
            //        string mailTitle = "訂單通知信", mailContent = "";
            //        string url = weburl + "mail/order.aspx?id=" + result, ss = "";
            //        mailContent = ljd.function.GetPage(url, out ss);
            //        //發送郵件
            //        TWMail.sendMail(config.emailsmtp, config.emailssl, config.emailport, config.emailusername, config.emailpassword, config.emailnickname, config.emailfrom, TWRequest.GetFormString("txtemail"), mailTitle, mailContent);
            //    }
            //    catch (Exception eee) { }
            //}

            if (model.payment_id != 1)
            {
                Response.Write(ljd.function.LocalHint("訂單已成功送出!", "pay.aspx?id=" + result));
                Response.End();
                return;
            }
            else
            {
                Response.Write(ljd.function.LocalHint("訂單已成功送出!", "pay.aspx?id=" + result));
                Response.End();
                return;
            }
        }
    }
Exemple #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string      url     = "";
        XmlDocument doc     = XmlHelper.LoadXmlDoc(Utils.GetMapPath(config.webpath + "xmlconfig/lvjie.config"));
        string      mid     = doc.SelectSingleNode(@"Root/merID").InnerText;
        string      HashKey = doc.SelectSingleNode(@"Root/MerchantID").InnerText;
        string      HashIV  = doc.SelectSingleNode(@"Root/TerminalID").InnerText;

        string MerchantID      = Request["MerchantID"];
        string MerchantTradeNo = Request["MerchantTradeNo"];
        string StoreID         = Request["StoreID"];
        string PaymentType     = Request["PaymentType"];
        string RtnCode         = Request["RtnCode"];
        string RtnMsg          = Request["RtnMsg"];
        string TradeAmt        = Request["TradeAmt"];
        string TradeDate       = Request["TradeDate"];
        string TradeNo         = Request["TradeNo"];
        string CheckMacValue   = Request["CheckMacValue"];


        string BankCode   = Request["BankCode"];
        string vAccount   = Request["vAccount"];
        string ExpireDate = Request["ExpireDate"];



        string PaymentNo = Request["PaymentNo"];
        string Barcode1  = Request["Barcode1"];
        string Barcode2  = Request["Barcode2"];
        string Barcode3  = Request["Barcode3"];



        StringBuilder sb = new StringBuilder();

        sb.Append("HashKey=" + HashKey + "");
        sb.Append("&MerchantID=" + Request["MerchantID"] + "");
        sb.Append("&MerchantTradeNo=" + Request["MerchantTradeNo"] + "");
        sb.Append("&StoreID=" + Request["StoreID"] + "");
        sb.Append("&PaymentType=" + Request["PaymentType"] + "");
        sb.Append("&RtnCode=" + Request["RtnCode"] + "");
        sb.Append("&RtnMsg=" + Request["RtnMsg"] + "");
        sb.Append("&TradeAmt=" + Request["TradeAmt"] + "");
        sb.Append("&TradeDate=" + Request["TradeDate"] + "");
        sb.Append("&TradeNo=" + Request["TradeNo"] + "");
        sb.Append("&HashIV=" + HashIV + "");
        url = sb.ToString();
        url = getstr(url).ToLower();
        string CMValue = ljd.function.md5(url, 32);

        if (MerchantID == mid && !string.IsNullOrEmpty(MerchantTradeNo))// && CheckMacValue == CMValue
        {
            Tea.Model.orders  model    = new Tea.BLL.orders().GetModelPayCode(MerchantTradeNo);
            Tea.Model.payment modelpay = new Tea.BLL.payment().GetModel(model.payment_id);
            if (model != null)
            {
                if (modelpay.api_path == "ATM" && RtnCode == "2")
                {
                    model.order_pay = BankCode + "|" + vAccount + "|" + ExpireDate;
                }
                if ((modelpay.api_path == "CVS") || (modelpay.api_path == "BARCODE"))
                {
                    if (RtnCode == "10100073")
                    {
                        model.order_pay = PaymentNo + "|" + ExpireDate + "|" + Barcode1 + "|" + Barcode2 + "|" + Barcode3 + "-----";
                    }
                }
                //model.order_pay = PaymentNo + "|" + ExpireDate + "|" + Barcode1 + "|" + Barcode2 + "|" + Barcode3 + "--" + RtnCode+"--"+PaymentType;
                new Tea.BLL.orders().Update(model);
                Response.Write("1|OK");
            }
        }
        else
        {
            Response.Write("0|ErrorMessage");
            //Response.End();
        }
    }