public void GetDonate(double Money) { if (Money < 0.01) { function.WriteErrMsg("请输入有效的金额"); } //mu = buser.SelReturnModel(Identity); mu = buser.GetLogin(); M_OrderList Odata = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Donate); Odata.Ordermessage = "打赏:" + Money + "元"; Odata.Ordersamount = Money; Odata.Userid = mu.IsNull ? Int32.MaxValue : mu.UserID; Odata.Balance_price = Odata.Ordersamount; Odata.Specifiedprice = Odata.Ordersamount; Odata.id = orderBll.Adds(Odata); M_Payment payMod = payBll.CreateByOrder(Odata); payMod.Remark = "打赏:" + Money + "元"; payMod.SysRemark = "donate"; payMod.PaymentID = payBll.Add(payMod); //判断是不是来自微信 if (DeviceHelper.GetBrower() == DeviceHelper.Brower.Micro) { //弹出微信支付窗口 Response.Redirect("/PayOnline/wxpay_mp.aspx?PayNo=" + payMod.PayNo); } else { Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo + "&OrderCode=" + Odata.OrderNo); } }
protected void Submit_B_Click(object sender, EventArgs e) { M_UserInfo mu = buser.SelReturnModel(DataConvert.CLng(UserID_Hid.Value)); if (mu.IsNull) { function.WriteErrMsg("订单所绑定的用户[" + UserID_T.Text + "]不存在"); } if (string.IsNullOrEmpty(ProID_Hid.Value) || string.IsNullOrEmpty(ProTime_Hid.Value)) { function.WriteErrMsg("请先选择需要绑定的商品"); } M_Product proMod = proBll.GetproductByid(Convert.ToInt32(ProID_Hid.Value)); if (proMod == null) { function.WriteErrMsg("商品不存在"); } DataRow timeMod = idcBll.GetSelTime(proMod, ProTime_Hid.Value); M_OrderList Odata = orderBll.NewOrder(mu, M_OrderList.OrderEnum.IDC); Odata.Ordermessage = Ordermessage_T.Text;//订货留言 Odata.Ordersamount = DataConvert.CFloat(Price_T.Text); if (Odata.Ordersamount <= 0) { Odata.Ordersamount = Convert.ToDouble(timeMod["price"]); } Odata.Balance_price = Odata.Ordersamount; Odata.Specifiedprice = Odata.Ordersamount; if (Odata.Ordersamount <= 0) { function.WriteErrMsg("未为商品指定价格"); } Odata.id = orderBll.Adds(Odata); //----------------------------- M_Order_IDC idcMod = new M_Order_IDC(); idcMod.ProID = proMod.ID; idcMod.OrderNo = Odata.OrderNo; idcMod.ProInfo = idcBll.ToProInfoStr(timeMod); idcMod.Domain = Domain_T.Text; idcMod.AdminName = "webmater@" + idcMod.Domain; idcMod.STime = Convert.ToDateTime(STime_T.Text); idcMod.ETime = idcMod.STime; idcMod.ID = idcBll.Insert(idcMod); //----------------------------- DataTable prodt = new DataTable(); prodt.Columns.Add(new DataColumn("proid", typeof(int))); prodt.Columns.Add(new DataColumn("pronum", typeof(int))); DataRow dr = prodt.NewRow(); dr["proid"] = proMod.ID; dr["pronum"] = 1; prodt.Rows.Add(dr); cartProBll.CopyToCartPro(mu, prodt, Odata.id); function.WriteSuccessMsg("订单添加成功!", "IDCOrder.aspx?OrderType=" + OrderType); }
protected void Submit_Btn_Click(object sender, EventArgs e) { M_UserInfo mu = buser.GetLogin(); M_Product proMod = proBll.GetproductByid(ProID); DataRow timeMod = idcBll.GetSelTime(proMod, IDCTime_DP.SelectedValue); //----------------------------------- M_OrderList Odata = orderBll.NewOrder(mu, M_OrderList.OrderEnum.IDC); Odata.Balance_price = DataConvert.CDouble(timeMod["price"]);//需付金额 Odata.Ordersamount = Odata.Balance_price; //----------------------------- M_Order_IDC idcMod = new M_Order_IDC(); idcMod.OrderNo = Odata.OrderNo; idcMod.ProID = proMod.ID; idcMod.ProInfo = idcBll.ToProInfoStr(timeMod); idcMod.Domain = BindDomain_T.Text; idcMod.AdminName = "webmater@" + idcMod.Domain; idcMod.AdminPwd = Pwd_T.Text; idcMod.Remind = OPSys_DP.SelectedValue + "|" + ServerPos_DP.SelectedValue + "|" + Record_T.Text; idcMod.ID = idcBll.Insert(idcMod); Odata.id = orderBll.Adds(Odata); //----------------------------- M_CartPro cpMod = new M_CartPro(); cpMod.Orderlistid = Odata.id; cpMod.ProID = proMod.ID; cpMod.Pronum = 1; cpMod.Proname = proMod.Proname; cpMod.Username = mu.UserName; cpMod.Shijia = Convert.ToDouble(timeMod["price"]); cpMod.AllMoney = Convert.ToDouble(timeMod["price"]); cpMod.code = timeMod["time"].ToString(); cartProBll.GetInsert(cpMod); //----------------------------- M_Payment payMod = payBll.CreateByOrder(Odata); payBll.Add(payMod); Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo); }
//确定购买 protected void sureBtn_Click(object sender, EventArgs e) { M_UserInfo mu = buser.GetLogin(); proModel = proBll.GetproductByid(Convert.ToInt32(dataField.Value)); int num = Convert.ToInt32(proNum.Text.Trim()); Odata.Ordersamount = Convert.ToDouble(num * proModel.LinPrice); Odata.OrderNo = B_OrderList.CreateOrderNo(M_OrderList.OrderEnum.IDC); Odata.Ordertype = (int)M_OrderList.OrderEnum.IDC;;//服务,主机等订单 Odata.Receiver = mu.UserName; Odata.Reuser = mu.UserName; Odata.Userid = mu.UserID; //Odata.AddUser = siteListDP.SelectedValue;//跟单员,此处记录对应ID //Odata.Internalrecords = siteListDP.SelectedItem.Text;//内部记录,此处用来存与主机的关联信息 //添加订单,添加数据库购物车 Odata.id = OCl.Adds(Odata); if (Odata.id > 0) { //写入购物车记录 M_CartPro cartModel = new M_CartPro(); cartModel.Orderlistid = Odata.id; cartModel.ProID = proModel.ID; cartModel.Proname = proModel.Proname; cartModel.Shijia = proModel.LinPrice; cartModel.Pronum = num; cartModel.AllMoney = Odata.Ordersamount; cartModel.EndTime = DateTime.Now;//支付时再更新日期, proBll.GetEndTime(proModel, num); cartModel.type = (int)M_OrderList.OrderEnum.IDC; bcart.Add(cartModel); Response.Redirect("~/PayOnline/Orderpay.aspx?OrderCode=" + Odata.OrderNo); } else { function.WriteErrMsg("目标订单:" + Odata.OrderNo + "不存在!!!"); } }
protected void Submit_B_Click(object sender, EventArgs e) { M_OrderList Odata = new M_OrderList(); //int uid = DataConvert.CLng(UserID_Hid.Value); M_UserInfo mu = buser.SelReturnModel(DataConvert.CLng(UserID_Hid.Value)); if (mu.IsNull) { function.WriteErrMsg("订单所绑定的用户[" + UserID_T.Text + "]不存在"); } Odata.Ordertype = DataConvert.CLng(OrderType_DP.SelectedValue); Odata.OrderNo = B_OrderList.CreateOrderNo((M_OrderList.OrderEnum)Odata.Ordertype); Odata.StoreID = DataConvert.CLng(StoreID_T.Text); Odata.Receiver = ReceUser_T.Text; Odata.Reuser = ReceUser_T.Text; Odata.Phone = Mobile_T.Text; Odata.MobileNum = Mobile_T.Text; Odata.Shengfen = Request.Form["province_dp"]; Odata.Chengshi = Request.Form["city_dp"]; Odata.Diqu = Request.Form["county_dp"]; Odata.Jiedao = Address_T.Text; Odata.ZipCode = ZipCode_T.Text; Odata.Invoiceneeds = Invoiceneeds.Checked ? 1 : 0; Odata.Rename = mu.UserName; Odata.Outstock = 0; //缺货处理 Odata.Ordermessage = Ordermessage_T.Text; //订货留言 Odata.Balance_price = DataConvert.CFloat(Price_T.Text); Odata.Freight = DataConvert.CFloat(Freight_T.Text); Odata.Ordersamount = Odata.Balance_price + Odata.Freight; //订单金额 Odata.Specifiedprice = Odata.Ordersamount; Odata.Receivablesamount = 0; //收款金额 Odata.Developedvotes = 0; Odata.OrderStatus = DataConvert.CLng(OrderStatus_DP.SelectedValue); Odata.PayType = DataConvert.CLng(PayType_Rad.SelectedValue); Odata.Paymentstatus = DataConvert.CLng(Pay_Rad.SelectedValue); Odata.StateLogistics = DataConvert.CLng(Exp_Rad.SelectedValue); Odata.AddTime = DateTime.Now; Odata.AddUser = mu.UserName;; Odata.Userid = mu.UserID; Odata.Merchandiser = ""; //跟单员 Odata.Internalrecords = ""; //内部记录 Odata.id = orderBll.Adds(Odata); //添加到订单表 Odata.IsCount = false; Odata.Freight_remark = " "; Odata.Balance_remark = ""; Odata.Promoter = 0; //将数据添加至zl_cartpro永久保存 CopyToCartPro(Odata); string rurl = ""; if (OrderType == (int)M_OrderList.OrderEnum.IDC || OrderType == (int)M_OrderList.OrderEnum.IDCRen) { rurl = "OtherOrder/IDCOrder.aspx?OrderType=" + OrderType; } else { rurl = "OrderList.aspx?OrderType=" + OrderType; } function.WriteSuccessMsg("订单添加成功!", rurl); }
//提交订单 protected void AddOrder_Btn_Click(object sender, EventArgs e) { if (Address_Div.Visible && DataConvert.CLng(Request.Form["address_rad"]) < 1) { function.WriteErrMsg("尚未选定收货地址"); } //1,生成订单,2,关联购物车中商品为已绑定订单 M_UserInfo mu = buser.GetLogin(false); M_UserRecei receMod = receBll.GetSelect(Convert.ToInt32(Request.Form["address_rad"]), mu.UserID); DataTable cartDT = cartBll.SelByCookID(CartCookID, ProClass, ids);//需要购买的商品 if (cartDT.Rows.Count < 1) { function.WriteErrMsg("你尚未选择商品,<a href='/User/Order/OrderList.aspx'>查看我的订单</a>"); } //------生成订单前检测区 foreach (DataRow dr in cartDT.Rows) { if (!HasStock(dr["Allowed"], DataConvert.CLng(dr["stock"]), Convert.ToInt32(dr["Pronum"]))) { function.WriteErrMsg("购买失败," + dr["proname"] + "的库存数量不足"); } } //------检测End //按店铺生成订单,统一存ZL_Orderinfo DataTable storeDT = cartDT.DefaultView.ToTable(true, "StoreID"); M_Payment payMod = new M_Payment(); payMod.PayNo = payBll.CreatePayNo(); List <M_OrderList> orderList = new List <M_OrderList>();//用于生成临时订单,统计计算(Disuse) foreach (DataRow dr in storeDT.Rows) { #region 暂不使用字段 //Odata.province = this.DropDownList1.SelectedValue; //Odata.city = this.DropDownList2.SelectedValue;//将地址省份与市ID存入,XML数据源 //Odata.Guojia = "";//国家 //Odata.Chengshi = DropDownList2.SelectedItem.Text;//城市 //Odata.Diqu = DropDownList3.SelectedItem.Text;//地区 //Odata.Delivery = DataConverter.CLng(Request.Form["Delivery"]); //Odata.Deliverytime = DataConverter.CLng(this.Deliverytime.Text); //Odata.Mobile = receMod.MobileNum; #endregion M_OrderList Odata = new M_OrderList(); Odata.Ordertype = OrderHelper.GetOrderType(ProClass); Odata.OrderNo = B_OrderList.CreateOrderNo((M_OrderList.OrderEnum)Odata.Ordertype); Odata.StoreID = Convert.ToInt32(dr["StoreID"]); cartDT.DefaultView.RowFilter = "StoreID=" + Odata.StoreID; DataTable storeCartDT = cartDT.DefaultView.ToTable(); switch (ProClass)//旅游机票等,以联系人信息为地址 { case 7: case 8: M_Cart_Travel model = JsonConvert.DeserializeObject <M_Cart_Travel>(storeCartDT.Rows[0]["Additional"].ToString()); M_Cart_Contract user = model.Contract[0]; Odata.Receiver = user.Name; Odata.Reuser = user.Name; Odata.Phone = user.Mobile; Odata.MobileNum = user.Mobile; Odata.Email = user.Email; break; default: //普通订单 Odata.Receiver = receMod.ReceivName; Odata.Reuser = receMod.ReceivName; Odata.Phone = receMod.phone; Odata.MobileNum = receMod.MobileNum; Odata.Email = receMod.Email; Odata.Shengfen = receMod.Provinces; Odata.Jiedao = receMod.Street; Odata.ZipCode = receMod.Zipcode; break; } Odata.Invoiceneeds = DataConverter.CLng(Request.Form["invoice_rad"]);//是否需开发票 Odata.Invoice = Odata.Invoiceneeds == 0 ? "" : InvoTitle_T.Text + "||" + Invoice_T.Text; Odata.Rename = mu.UserName; Odata.Outstock = 0; //缺货处理 Odata.Ordermessage = ORemind_T.Text; //订货留言 Odata.Merchandiser = ""; //跟单员 Odata.Internalrecords = ""; //内部记录 Odata.IsCount = false; //-----金额计算 Odata.Balance_price = GetTotalMoney(storeCartDT); Odata.Freight = GetFarePrice(storeCartDT, Odata.StoreID); //运费计算 Odata.Ordersamount = Odata.Balance_price + Odata.Freight; //订单金额 Odata.AllMoney_Json = orderCom.GetTotalJson(storeCartDT); //附加需要的虚拟币 Odata.Specifiedprice = Odata.Ordersamount; //订单金额; Odata.Receivablesamount = 0; //收款金额 Odata.Developedvotes = 0; Odata.OrderStatus = (int)M_OrderList.StatusEnum.Normal; //订单状态 Odata.Paymentstatus = (int)M_OrderList.PayEnum.NoPay; //付款状态 Odata.StateLogistics = 0; //物流状态 Odata.Signed = 0; //签收 Odata.Settle = 0; //结清 Odata.Aside = 0; //作废 Odata.Suspended = 0; //暂停 Odata.AddTime = DateTime.Now; Odata.AddUser = mu.UserName;; Odata.Userid = mu.UserID; Odata.Integral = DataConverter.CLng(Request.QueryString["jifen"]); Odata.Freight_remark = " "; Odata.Balance_remark = ""; Odata.Promoter = 0; Odata.id = orderBll.Adds(Odata); cartProBll.CopyToCartPro(mu, storeCartDT, Odata.id); orderList.Add(Odata); orderCom.SendMessage(Odata, null, "ordered"); userappMod = userappBll.SelModelByUid(buser.GetLogin().UserID, "wechat"); if (userappMod != null) { //function.WriteErrMsg(Odata.AddTime.ToString("yyyy年MM月dd日 HH:mm:ss")); WxAPI wxapi = WxAPI.Code_Get(1); string json = "{ \"touser\":\"" + userappMod.OpenID + "\",\"template_id\":\"6kw4rUCX3IpE7k8_kn3ocmaaQBZF4blWq25ualnz1qw\",\"url\":\"http://www.wodian8.com/User/Order/OrderList1.aspx\",\"data\":{\"first\": {\"value\":\"订单提交成功!\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + Odata.AddTime.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword2\": {\"value\":\"" + Odata.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + GetProname(Odata.id) + "\",\"color\":\"#173177\"},\"keyword4\": {\"value\":\"" + Odata.Shengfen + Odata.Jiedao + "\",\"color\":\"#173177\"},\"remark\":{\"value\":\"您好,订单提交成功,请尽快付款!\",\"color\":\"#173177\"}}}"; wxapi.SendTlpMsg(json); //wxapi.SendMsg(userappMod.OpenID, "你已下订单,订单号为:" + Odata.OrderNo); } } cartBll.DelByids(ids); //-----------------订单生成后处理 //进行减库存等操作 foreach (DataRow dr in cartDT.Rows) { M_Product model = proBll.GetproductByid(Convert.ToInt32(dr["Proid"])); model.Stock = model.Stock - DataConvert.CLng(dr["Pronum"]); SqlHelper.ExecuteSql("Update ZL_Commodities Set Stock=" + model.Stock + " Where ID=" + model.ID); } //生成支付单,处理优惠券,并进入付款步骤 foreach (M_OrderList model in orderList) { payMod.PaymentNum += model.OrderNo + ","; payMod.MoneyPay += model.Ordersamount; } //优惠券 if (!string.IsNullOrEmpty(Arrive_T.Text)) { double arriveAmount = arriveBll.UserArrive(Arrive_T.Text, Arrive_Pwd.Text); payMod.MoneyPay = payMod.MoneyPay - arriveAmount; payMod.ArriveMoney = arriveAmount; payMod.ArriveDetail = Arrive_T.Text + "|" + Arrive_Pwd.Text; } //积分处理 if (point_body.Visible && DataConvert.CLng(Point_T.Text) > 0) { int point = DataConvert.CLng(Point_T.Text); int maxPoint = (int)((SiteConfig.ShopConfig.PointRatiot * 0.01) * (double)payMod.MoneyPay / SiteConfig.ShopConfig.PointRate); //if (point <= 0) { function.WriteErrMsg("积分数值不正确"); } if (point > mu.UserExp) { function.WriteErrMsg("您的积分不足!"); } if (point > maxPoint) { function.WriteErrMsg("积分不能大于可兑换金额!"); } //生成支付单时扣除用户积分 buser.ChangeVirtualMoney(mu.UserID, new M_UserExpHis() { ScoreType = (int)M_UserExpHis.SType.Point, score = -point, detail = "积分抵扣,支付单号:" + payMod.PayNo }); payMod.MoneyPay = payMod.MoneyPay - (point * SiteConfig.ShopConfig.PointRate); payMod.UsePoint = point; } if (payMod.MoneyPay <= 0) { payMod.MoneyPay = 0.01; } payMod.PaymentNum = payMod.PaymentNum.TrimEnd(','); payMod.Remark = cartDT.Rows.Count > 1 ? "[" + cartDT.Rows[0]["ProName"] as string + "]等" : cartDT.Rows[0]["ProName"] as string; payMod.UserID = mu.UserID; payMod.Status = 1; payMod.PaymentID = payBll.Add(payMod); string redirect_uri = HttpUtility.UrlEncode("http://www.wodian8.com/Payonline/wxpayonline.aspx?PayNo=" + payMod.PayNo); string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8c5c2dc7b10a36f3&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; //Response.Redirect(url); Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo); }
//自由拆分订单 protected void confirm_Click(object sender, EventArgs e) { M_OrderList list = new M_OrderList(); int ordid = Convert.ToInt32(Request["id"]); M_OrderList row = oll.SelReturnModel(ordid); string ordno = row.OrderNo; string ordno1 = ordno + "01"; string ordno2 = ordno + "02"; DataTable dt = Sql.Sel("ZL_CartPro", "Orderlistid=" + ordid, ""); if (dt.Rows.Count <= 1) { Response.Write("<script type=text/javascript>alert('只有一个商品,不能再拆分了!');</script>"); return; } else { string id = Request["Item"]; int ordlistid1 = 0; int ordlistid2 = 0; if (string.IsNullOrEmpty(Request["Item"])) { return; } else { string[] pid = id.Split(','); if (CB_Yes.Checked) { for (int k = 0; k < dt.Rows.Count; k++) { string carpid = dt.Rows[k]["ProID"].ToString(); int cartpid = DataConverter.CLng(carpid); int arr = Array.IndexOf(pid, carpid); if (arr != -1) { //throw new Exception(Array.IndexOf(pid, carpid).ToString()); } else { } } function.WriteSuccessMsg("恭喜,订单分拆成功!", "/manage/Shop/Orderlist.aspx?type=0"); } else if (CB_No.Checked) { for (int k = 0; k < dt.Rows.Count; k++) { string carpid = dt.Rows[k]["ProID"].ToString(); int cartpid = DataConverter.CLng(carpid); int arr = Array.IndexOf(pid, carpid); if (arr != -1) { if (ordlistid1 == 0) { row.OrderNo = ordno1; ordlistid1 = oll.Adds(row); Sql.Update("ZL_CartPro", "Orderlistid=" + ordlistid1, "Orderlistid=" + ordid + " and ProID=" + carpid, null); } else { Sql.Update("ZL_CartPro", "Orderlistid=" + ordlistid1, "Orderlistid=" + ordid + " and ProID=" + carpid, null); } } else { if (ordlistid2 == 0) { row.OrderNo = ordno2; ordlistid2 = oll.Adds(row); Sql.Update("ZL_CartPro", "Orderlistid=" + ordlistid2, "Orderlistid=" + ordid + " and ProID=" + carpid, null); } else { Sql.Update("ZL_CartPro", "Orderlistid=" + ordlistid2, "Orderlistid=" + ordid + " and ProID=" + carpid, null); } } } oll.UpdateByField("Aside", "1", ordid); function.WriteSuccessMsg("恭喜,订单分拆成功!", "/manage/Shop/Orderlist.aspx?type=0"); } } } }
//提交订单 protected void AddOrder_Btn_Click(object sender, EventArgs e) { if (Address_Div.Visible && DataConvert.CLng(Request.Form["address_rad"]) < 1) { function.WriteErrMsg("尚未选定收货地址"); } //1,生成订单,2,关联购物车中商品为已绑定订单 M_UserInfo mu = buser.GetLogin(false); M_UserRecei receMod = receBll.GetSelect(Convert.ToInt32(Request.Form["address_rad"]), mu.UserID); DataTable cartDT = cartBll.SelByCartID(B_Cart.GetCartID(), mu.UserID, ProClass, ids);//需要购买的商品 if (cartDT.Rows.Count < 1) { function.WriteErrMsg("你尚未选择商品,<a href='/User/Order/OrderList'>查看我的订单</a>"); } //------生成订单前检测区 foreach (DataRow dr in cartDT.Rows) { if (!HasStock(dr["Allowed"], DataConvert.CLng(dr["stock"]), Convert.ToInt32(dr["Pronum"]))) { function.WriteErrMsg("购买失败," + dr["proname"] + "的库存数量不足"); } } //------检测End //按店铺生成订单,统一存ZL_Orderinfo DataTable storeDT = cartDT.DefaultView.ToTable(true, "StoreID"); List <M_OrderList> orderList = new List <M_OrderList>();//用于生成临时订单,统计计算(Disuse) foreach (DataRow dr in storeDT.Rows) { #region 暂不使用字段 //Odata.province = this.DropDownList1.SelectedValue; //Odata.city = this.DropDownList2.SelectedValue;//将地址省份与市ID存入,XML数据源 //Odata.Guojia = "";//国家 //Odata.Chengshi = DropDownList2.SelectedItem.Text;//城市 //Odata.Diqu = DropDownList3.SelectedItem.Text;//地区 //Odata.Delivery = DataConverter.CLng(Request.Form["Delivery"]); //Odata.Deliverytime = DataConverter.CLng(this.Deliverytime.Text); //Odata.Mobile = receMod.MobileNum; #endregion M_OrderList Odata = new M_OrderList(); Odata.Ordertype = OrderHelper.GetOrderType(ProClass); Odata.OrderNo = B_OrderList.CreateOrderNo((M_OrderList.OrderEnum)Odata.Ordertype); Odata.StoreID = Convert.ToInt32(dr["StoreID"]); cartDT.DefaultView.RowFilter = "StoreID=" + Odata.StoreID; DataTable storeCartDT = cartDT.DefaultView.ToTable(); switch (ProClass)//旅游机票等,以联系人信息为地址 { case 7: case 8: M_Cart_Travel model = JsonConvert.DeserializeObject <M_Cart_Travel>(storeCartDT.Rows[0]["Additional"].ToString()); M_Cart_Contract user = model.Contract[0]; Odata.Receiver = user.Name; Odata.Reuser = user.Name; Odata.Phone = user.Mobile; Odata.MobileNum = user.Mobile; Odata.Email = user.Email; break; default: if (Address_Div.Visible) { Odata.Receiver = receMod.ReceivName; Odata.Reuser = receMod.ReceivName; Odata.Phone = receMod.phone; Odata.MobileNum = receMod.MobileNum; Odata.Email = receMod.Email; Odata.Shengfen = receMod.Provinces; Odata.Jiedao = receMod.Street; Odata.ZipCode = receMod.Zipcode; } break; } Odata.Invoiceneeds = DataConverter.CLng(Request.Form["invoice_rad"]);//是否需开发票 Odata.Invoice = Odata.Invoiceneeds == 0 ? "" : InvoTitle_T.Text + "||" + Invoice_T.Text; Odata.Rename = mu.UserName; Odata.Outstock = 0; //缺货处理 Odata.Ordermessage = ORemind_T.Text; //订货留言 Odata.Merchandiser = ""; //跟单员 Odata.Internalrecords = ""; //内部记录 Odata.IsCount = false; //-----金额计算 Odata.Balance_price = GetTotalMoney(storeCartDT); Odata.Freight = GetFarePrice(storeCartDT, Odata.StoreID); //运费计算 Odata.Ordersamount = Odata.Balance_price + Odata.Freight; //订单金额 Odata.AllMoney_Json = orderCom.GetTotalJson(storeCartDT); //附加需要的虚拟币 Odata.Specifiedprice = Odata.Ordersamount; //订单金额; Odata.Receivablesamount = 0; //收款金额 Odata.Developedvotes = 0; Odata.OrderStatus = (int)M_OrderList.StatusEnum.Normal; //订单状态 Odata.Paymentstatus = (int)M_OrderList.PayEnum.NoPay; //付款状态 Odata.StateLogistics = 0; //物流状态 Odata.Signed = 0; //签收 Odata.Settle = 0; //结清 Odata.Aside = 0; //作废 Odata.Suspended = 0; //暂停 Odata.AddUser = mu.UserName;; Odata.Userid = mu.UserID; Odata.Integral = DataConverter.CLng(Request.QueryString["jifen"]); Odata.Freight_remark = " "; Odata.Balance_remark = ""; Odata.Promoter = 0; Odata.id = orderBll.Adds(Odata); cartProBll.CopyToCartPro(mu, storeCartDT, Odata.id); orderList.Add(Odata); orderCom.SendMessage(Odata, null, "ordered"); } cartBll.DelByids(ids); //-----------------订单生成后处理 //进行减库存等操作 foreach (DataRow dr in cartDT.Rows) { M_Product model = proBll.GetproductByid(Convert.ToInt32(dr["Proid"])); model.Stock = model.Stock - DataConvert.CLng(dr["Pronum"]); SqlHelper.ExecuteSql("Update ZL_Commodities Set Stock=" + model.Stock + " Where ID=" + model.ID); } //生成支付单,处理优惠券,并进入付款步骤 M_Payment payMod = payBll.CreateByOrder(orderList); //优惠券 if (!string.IsNullOrEmpty(Arrive_Hid.Value)) { M_Arrive avMod = avBll.SelModelByFlow(Arrive_Hid.Value, mu.UserID); double money = payMod.MoneyPay; string err = ""; string remind = "支付单抵扣[" + payMod.PayNo + "]"; if (avBll.U_UseArrive(avMod, mu.UserID, ref money, ref err, remind)) { payMod.MoneyPay = money; payMod.ArriveMoney = avMod.Amount; payMod.ArriveDetail = avMod.ID.ToString(); } else { payMod.ArriveDetail = "优惠券[" + avMod.ID + "]异常 :" + err; } } //积分处理 if (point_body.Visible && DataConvert.CLng(Point_T.Text) > 0) { int point = DataConvert.CLng(Point_T.Text); int maxPoint = (int)((SiteConfig.ShopConfig.PointRatiot * 0.01) * (double)payMod.MoneyPay / SiteConfig.ShopConfig.PointRate); //if (point <= 0) { function.WriteErrMsg("积分数值不正确"); } if (point > mu.UserExp) { function.WriteErrMsg("您的积分不足!"); } if (point > maxPoint) { function.WriteErrMsg("积分不能大于可兑换金额!"); } //生成支付单时扣除用户积分 buser.ChangeVirtualMoney(mu.UserID, new M_UserExpHis() { ScoreType = (int)M_UserExpHis.SType.Point, score = -point, detail = "积分抵扣,支付单号:" + payMod.PayNo }); payMod.MoneyPay = payMod.MoneyPay - (point * SiteConfig.ShopConfig.PointRate); payMod.UsePoint = point; } if (payMod.MoneyPay <= 0) { payMod.MoneyPay = 0.01; } payMod.Remark = cartDT.Rows.Count > 1 ? "[" + cartDT.Rows[0]["ProName"] as string + "]等" : cartDT.Rows[0]["ProName"] as string; payMod.PaymentID = payBll.Add(payMod); Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo); }