Beispiel #1
0
 /// <summary>
 /// 获取订单总金额
 /// </summary>
 /// <param name="total_amount"></param>
 protected void getTotalAmount()
 {
     total_amount  = 0M;
     coupon_amount = 0M;
     refund_amount = 0M;
     if (date == null || date == "")
     {
         BLL.orders bll = new BLL.orders();
         DataTable  dt  = bll.GetOrderAmount(0, " status!=1 and status!=99", " add_time desc,id desc").Tables[0];
         foreach (DataRow row in dt.Rows)
         {
             total_amount += decimal.Parse(row["order_amount"].ToString());
             if (row["refund_status"].ToString() != "" && int.Parse(row["refund_status"].ToString()) == 3) //统计退款
             {
                 refund_amount += decimal.Parse(row["order_amount"].ToString());
             }
             BLL.user_coupon_log couponbll = new BLL.user_coupon_log();//统计优惠券
             if (row["str_code"].ToString() != "")
             {
                 Model.user_coupon_log couponmodel = couponbll.GetModel(row["str_code"].ToString());
                 if (couponmodel != null && couponmodel.status == 2)
                 {
                     BLL.user_coupon   copbl = new BLL.user_coupon();
                     Model.user_coupon copmo = copbl.GetModel(couponmodel.coupon_id);
                     if (copmo != null)
                     {
                         if (copmo.amount > decimal.Parse(row["order_amount"].ToString()))
                         {
                             coupon_amount += decimal.Parse(row["order_amount"].ToString());
                         }
                         else
                         {
                             coupon_amount += copmo.amount;
                         }
                     }
                 }
             }
         }
     }
     else
     {
         BLL.orders bll = new BLL.orders();
         DataTable  dt  = bll.GetOrderAmount(0, " status!=1 and status!=99 and datediff(dd,add_time,'" + date + "')=0", " add_time desc,id desc").Tables[0];
         foreach (DataRow row in dt.Rows)
         {
             total_amount += decimal.Parse(row["order_amount"].ToString());
             if (row["refund_status"].ToString() != "" && int.Parse(row["refund_status"].ToString()) == 3)
             {
                 refund_amount += decimal.Parse(row["order_amount"].ToString());
             }
             BLL.user_coupon_log couponbll = new BLL.user_coupon_log();//统计优惠券
             if (row["str_code"].ToString() != "")
             {
                 Model.user_coupon_log couponmodel = couponbll.GetModel(row["str_code"].ToString());
                 if (couponmodel != null && couponmodel.status == 2)
                 {
                     BLL.user_coupon   copbl = new BLL.user_coupon();
                     Model.user_coupon copmo = copbl.GetModel(couponmodel.coupon_id);
                     if (copmo != null)
                     {
                         if (copmo.amount > decimal.Parse(row["order_amount"].ToString()))
                         {
                             coupon_amount += decimal.Parse(row["order_amount"].ToString());
                         }
                         else
                         {
                             coupon_amount += copmo.amount;
                         }
                     }
                 }
             }
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// 获取订单总金额
        /// </summary>
        /// <param name="total_amount"></param>
        protected void getTotalAmount()
        {
            total_amount  = 0M;
            coupon_amount = 0M;
            refund_amount = 0M;
            if (datetime == null)
            {
                BLL.orders bll = new BLL.orders();
                DataTable  dt;
                if (this.outlet_id > 0)
                {
                    dt = bll.GetOrderAmount(0, " status!=1 and status!=99 and store_id=" + this.outlet_id, " add_time desc,id desc").Tables[0];
                }
                else if (this.city_id > 0)
                {
                    BLL.openarea   open    = new BLL.openarea();
                    Model.openarea openm   = open.GetModel(this.city_id);
                    StringBuilder  strTemp = new StringBuilder();
                    if (openm != null)
                    {
                        BLL.outlet outlet = new BLL.outlet();
                        DataTable  dts    = outlet.GetList(0, " city='" + openm.city + "'", " id").Tables[0];
                        if (dts.Rows.Count > 0)
                        {
                            StringBuilder st = new StringBuilder();
                            string        ss = string.Empty;
                            st.Append("(");
                            foreach (DataRow item in dts.Rows)
                            {
                                st.Append(item["id"] + ",");
                            }
                            if (st.ToString().Trim() != "(")
                            {
                                ss = DelLastComma(st.ToString().Trim());
                                st.Append(")");
                            }
                            strTemp.Append(" and store_id in" + ss + ")");
                        }
                        else
                        {
                            strTemp.Append(" and store_id in(null)");
                        }
                    }
                    dt = bll.GetOrderAmount(0, " status!=1 and status!=99" + strTemp, " add_time desc,id desc").Tables[0];
                }
                else
                {
                    dt = bll.GetOrderAmount(0, " status!=1 and status!=99", " add_time desc,id desc").Tables[0];
                }
                foreach (DataRow row in dt.Rows)
                {
                    total_amount += decimal.Parse(row["order_amount"].ToString());
                    if (row["refund_status"].ToString() != "" && int.Parse(row["refund_status"].ToString()) == 3) //统计退款
                    {
                        refund_amount += decimal.Parse(row["order_amount"].ToString());
                    }
                    BLL.user_coupon_log couponbll = new BLL.user_coupon_log();//统计优惠券
                    if (row["str_code"].ToString() != "")
                    {
                        Model.user_coupon_log couponmodel = couponbll.GetModel(row["str_code"].ToString());
                        if (couponmodel != null && couponmodel.status == 2)
                        {
                            BLL.user_coupon   copbl = new BLL.user_coupon();
                            Model.user_coupon copmo = copbl.GetModel(couponmodel.coupon_id);
                            if (copmo != null)
                            {
                                if (copmo.amount > decimal.Parse(row["order_amount"].ToString()))
                                {
                                    coupon_amount += decimal.Parse(row["order_amount"].ToString());
                                }
                                else
                                {
                                    coupon_amount += copmo.amount;
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                BLL.orders bll = new BLL.orders();

                DataTable dt;
                if (this.outlet_id > 0)
                {
                    dt = bll.GetOrderAmount(0, " status!=1 and status!=99 and store_id=" + this.outlet_id, " add_time desc,id desc").Tables[0];
                }
                else
                {
                    dt = bll.GetOrderAmount(0, " status!=1 and status!=99", " add_time desc,id desc").Tables[0];
                }

                //DataTable dt = bll.GetOrderAmount(0, " status!=1 and status!=99 and datediff(dd,add_time,'" + datetime + "')=0", " add_time desc,id desc").Tables[0];
                foreach (DataRow row in dt.Rows)
                {
                    total_amount += decimal.Parse(row["order_amount"].ToString());
                    if (row["refund_status"].ToString() != "" && int.Parse(row["refund_status"].ToString()) == 3)
                    {
                        refund_amount += decimal.Parse(row["order_amount"].ToString());
                    }
                    BLL.user_coupon_log couponbll = new BLL.user_coupon_log();//统计优惠券
                    if (row["str_code"].ToString() != "")
                    {
                        Model.user_coupon_log couponmodel = couponbll.GetModel(row["str_code"].ToString());
                        if (couponmodel != null && couponmodel.status == 2)
                        {
                            BLL.user_coupon   copbl = new BLL.user_coupon();
                            Model.user_coupon copmo = copbl.GetModel(couponmodel.coupon_id);
                            if (copmo != null)
                            {
                                if (copmo.amount > decimal.Parse(row["order_amount"].ToString()))
                                {
                                    coupon_amount += decimal.Parse(row["order_amount"].ToString());
                                }
                                else
                                {
                                    coupon_amount += copmo.amount;
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #3
0
        public string SubmitOrder(string goods, string addressId, string expressId, string totalprice, string bill_type, string bill_rise, string down_order, string coupon_no, string store_name, string store_address, string store_id, string user_id, string remark)
        {
            string returnvalue = "";

            Model.orders model = new Model.orders();
            BLL.orders   bll   = new BLL.orders();

            //验证优惠券
            var j = 0;

            BLL.user_coupon   couponbll = new BLL.user_coupon();
            Model.user_coupon coupon    = null;
            if (coupon_no != "")
            {
                coupon = couponbll.GetModel(" str_code='" + coupon_no + "'");
                if (coupon == null)
                {
                    j = 1;
                }
                else
                {
                    if (DateTime.Compare(coupon.end_time, DateTime.Now) <= 0)
                    {
                        j = 2;
                    }
                    if (coupon.status == 2)
                    {
                        j = 3;
                    }
                }
            }
            if (j == 1)
            {
                return(returnvalue = "{\"status\":0,\"msg\":\"优惠券编码输入有误!\"}");
            }
            if (j == 2)
            {
                return(returnvalue = "{\"status\":0,\"msg\":\"优惠券已经过期!\"}");
            }
            if (j == 3)
            {
                return(returnvalue = "{\"status\":0,\"msg\":\"优惠券已使用!\"}");
            }

            BLL.users   bll1     = new BLL.users();
            Model.users userinfo = bll1.GetModel(int.Parse(user_id));

            if (addressId != "0")//快递收货
            {
                //订单信息
                Model.user_address modelAddress = new BLL.user_address().GetModel(int.Parse(addressId));
                Model.express      modelExpress = new BLL.express().GetModel(int.Parse(expressId));

                model.order_no       = CreateOrderNo();
                model.accept_name    = modelAddress.acceptName;
                model.area           = modelAddress.id.ToString();
                model.mobile         = modelAddress.mobile;
                model.address        = modelAddress.address;
                model.post_code      = modelAddress.postcode.ToString();
                model.add_time       = DateTime.Now;
                model.user_id        = userinfo.id;
                model.user_name      = userinfo.user_name;
                model.express_id     = int.Parse(expressId);
                model.express_fee    = modelExpress.express_fee;
                model.express_status = 1;
                model.status         = 1;
                decimal real_amount = Decimal.Parse(totalprice) - modelExpress.express_fee;
                model.real_amount  = real_amount;
                model.order_amount = Decimal.Parse(totalprice);
                model.bill_type    = int.Parse(bill_type);
                if (int.Parse(bill_type) != 0)
                {
                    model.is_bill = 1;
                }
                model.invoice_rise = bill_rise;
                model.down_order   = down_order;
                model.remark       = remark;
            }
            else
            {
                //订单信息
                Model.express modelExpress = new BLL.express().GetModel(int.Parse(expressId));


                model.order_no       = CreateOrderNo();
                model.add_time       = DateTime.Now;
                model.user_id        = userinfo.id;
                model.user_name      = userinfo.user_name;
                model.express_id     = int.Parse(expressId);
                model.express_fee    = modelExpress.express_fee;
                model.express_status = 1;
                model.status         = 1;
                decimal real_amount = Decimal.Parse(totalprice) - modelExpress.express_fee;
                model.real_amount  = real_amount;
                model.order_amount = Decimal.Parse(totalprice);
                model.bill_type    = int.Parse(bill_type);
                if (int.Parse(bill_type) != 0)
                {
                    model.is_bill = 1;
                }
                model.invoice_rise  = bill_rise;
                model.down_order    = down_order;
                model.store_name    = store_name;
                model.store_address = store_address;
                model.store_id      = int.Parse(store_id);
                model.remark        = remark;
            }

            var k = 0;
            var p = 0;

            if (coupon != null)
            {
                decimal payamount = Decimal.Parse(totalprice) - coupon.amount;
                if (payamount > 0)
                {
                    model.payable_amount = payamount;//实付款
                    model.str_code       = coupon_no;
                }
                else
                {
                    model.payable_amount = 0M;//实付款
                    model.str_code       = coupon_no;
                    model.status         = 2;
                    model.payment_status = 2;
                    p = bll.Add(model);
                    k = 1;
                }
            }



            ////商品信息value="<%#Eval("id") %>|<%#Eval("type") %>|<%#Eval("price") %>|<%#Eval("quantity") %>|<%#Eval("weight") %>|<%#Eval("img_url") %>"

            List <Model.order_goods> list = new List <Model.order_goods>();

            string[] strArr = Vincent._DTcms.Utils.DelLastChar(goods, "&").Split('&');
            foreach (var item in strArr)
            {
                string[]          strArr2    = item.Split('|');
                Model.order_goods modelGoods = new Model.order_goods();
                modelGoods.goods_id    = int.Parse(strArr2[0].ToString());
                modelGoods.goods_price = decimal.Parse(strArr2[1].ToString());
                modelGoods.quantity    = int.Parse(strArr2[2].ToString());
                modelGoods.goods_pic   = strArr2[3].ToString();
                modelGoods.goods_title = strArr2[4].ToString();
                list.Add(modelGoods);
            }

            model.order_goods = list;
            int orderId = bll.Add(model);


            //优惠券使用记录
            BLL.user_coupon_log   cbll   = new BLL.user_coupon_log();
            Model.user_coupon_log cmodel = new Model.user_coupon_log();
            if (coupon != null)
            {
                cmodel.user_id   = userinfo.id;
                cmodel.user_name = userinfo.user_name;
                cmodel.coupon_id = coupon.id;
                cmodel.str_code  = coupon.str_code;
                cmodel.order_id  = orderId;
                cmodel.order_no  = model.order_no;
                cmodel.add_time  = coupon.add_time;
                cmodel.use_time  = DateTime.Now;
                cmodel.status    = 1;
            }

            if (k == 1 && p > 0)
            {
                cmodel.status = 2;
                cbll.Add(cmodel);

                return(returnvalue = "{\"status\":3,\"msg\":\"订单提交成功!\"}");
            }

            if (orderId > 0)
            {
                if (coupon != null)
                {
                    cbll.Add(cmodel);
                }

                return(returnvalue = "{\"status\":1,\"msg\":\"订单提交成功,请付款!\",\"orderId\":" + orderId + "}");

                Web.UI.ShopCart.ClearCart("0");
            }
            else
            {
                if (coupon != null)
                {
                    cbll.Add(cmodel);
                }

                return(returnvalue = "{\"status\":0,\"msg\":\"订单提交失败,请重新提交订单!\"}");
            }
        }