public string GetComm(string type) { int oid = DataConverter.CLng(Eval("ID")); DataTable dt = cartBll.SelByOrderID(oid); string ids = ""; string names = ""; string nums = ""; foreach (DataRow dr in dt.Rows) { ids += "<div style='margin-bottom:3px;'>" + dr["ProID"] + "</div>"; names += "<div style='margin-bottom:3px;'>" + dr["Proname"] + "</div>"; nums += "<div style='margin-bottom:3px;color:green;'>" + dr["Pronum"] + "</div>"; } if (type == "id") { return(ids); } else if (type == "name") { return(names); } else { return(nums); } }
public VM_OrderPro(M_UserInfo mu, HttpRequestBase Request) { this.SType = DataConvert.CLng(Request.QueryString["SType"]); this.mu = mu; this.OrderNo = Request.QueryString["OrderNo"]; switch (SType) { case 0: //订单 orderMod = orderBll.SelModelByOrderNo(OrderNo); if (orderMod == null || orderMod.id == 0) { function.WriteErrMsg("订单不存在"); } if (orderMod.Userid != mu.UserID) { function.WriteErrMsg("该订单不属于你,无法查看"); } proDT = cartProBll.SelByOrderID(orderMod.id); break; case 1: //购物车 proDT = cartBll.GetCarProList(OrderNo, mu.UserID); break; } if (proDT.Rows.Count > 0 && !string.IsNullOrEmpty(proDT.Rows[0]["Additional"].ToString())) { M_Cart_Travel model = JsonConvert.DeserializeObject <M_Cart_Travel>(proDT.Rows[0]["Additional"].ToString()); clientList = new List <M_Cart_Contract>(); clientList.AddRange(model.Guest); clientList.AddRange(model.Contract); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Call.HideBread(Master); M_OrderList orderMod = orderBll.SelReturnModel(Mid); if (orderMod == null) { function.WriteErrMsg("订单不存在"); } OrderNo_T.Text = orderMod.OrderNo; AddTime_T.Text = orderMod.AddTime.ToString("yyyy-MM-dd HH:mm:ss"); ReUserName_L.Text = orderMod.Receiver; Mobile_L.Text = orderMod.MobileNum; Address_L.Text = orderMod.AddRess; //---------- DataTable dt = cartProBll.SelByOrderID(Mid); RPT.DataSource = dt; RPT.DataBind(); //---------- //P_Arrive_L.Text = null; //P_Point_L.Text = null; Remind_L.Text = orderMod.Ordermessage; P_Pro_L.Text = orderMod.Balance_price.ToString("f2"); P_Exp_L.Text = orderMod.Freight.ToString("f2"); TotalMoney_L.Text = orderMod.Ordersamount.ToString("f2"); } }
public static string TlpDeal(string tlp, DataRow dr) { B_CartPro cartProBll = new B_CartPro(); string result = tlp; if (dr != null) { #region dt中字段替换 DataTable dt = dr.Table; //遍历表格字段并替换 for (int i = 0; i < dt.Columns.Count; i++) { string colname = dt.Columns[i].ColumnName; string value = dr[colname].ToString(); if (dt.Columns[i].DataType.ToString().Equals("System.Decimal")) { value = DataConvert.CDouble(dr[colname]).ToString("f2"); } result = result.Replace("{" + colname + "}", value); } #endregion #region CartPro扩展字段 //CartPro字段,只取第一条信息循环输出 if (tlp.Contains("{CartPro.")) { DataTable cartDT = new DataTable(); cartDT = cartProBll.SelByOrderID(Convert.ToInt32(dt.Rows[0]["ID"])); if (cartDT.Rows.Count > 0) { dr = cartDT.Rows[0]; for (int i = 0; i < cartDT.Columns.Count; i++) { string colname = cartDT.Columns[i].ColumnName; string value = dr[colname].ToString(); if (cartDT.Columns[i].DataType.ToString().Equals("System.Decimal")) { value = Convert.ToDouble(dr[colname]).ToString("f2"); } result = result.Replace("{CartPro." + colname + "}", value); } } } #endregion // #region Extend扩展字段 // if (dt.Columns.Contains("Extend") && (!string.IsNullOrEmpty(dr["Extend"].ToString())))//扩展字段,可自由定义 // { // JObject model = (JObject)JsonConvert.DeserializeObject(dr["Extend"].ToString()); // foreach (var item in model) // { // result = result.Replace("{Extend."+item.Key+"}",item.Value.ToString()); // } // } //#endregion } //标签解析 //B_CreateHtml createBll = new B_CreateHtml(HttpContext.Current.Request); //result = createBll.CreateHtml(result); return(result); }
public string GetProname(int orderid) { string result = ""; DataTable dt = cartProBll.SelByOrderID(orderid); for (int i = 0; i < dt.Rows.Count; i++) { result += dt.Rows[i]["Proname"].ToString() + "x" + dt.Rows[i]["Pronum"].ToString() + " ¥" + DataConvert.CDouble(dt.Rows[i]["AllMoney"].ToString()).ToString("0.00") + "元 "; } return(result); }
private string GetProName(M_OrderList orderMod) { B_CartPro cartBll = new B_CartPro(); DataTable dt = cartBll.SelByOrderID(orderMod.id); string result = ""; foreach (DataRow dr in dt.Rows) { result += "[" + dr["ProName"] + "(数量:" + dr["ProNum"] + ")]<br />"; } return(result); }
/// <summary> /// 商品快照,存为mht, /// mht缺点 :在于非IE下只能下载,但360等双核浏览器可以自动切换 /// html缺点:只是保存了页面不存图片和css,这样如果页面删除,则快照失效 /// </summary> public static void SaveSnapShot(M_OrderList orderMod) { try { string snapDir = "/UploadFiles/SnapDir/" + orderMod.Rename + orderMod.Userid + "/" + orderMod.OrderNo + "/"; DataTable dt = cartProBll.SelByOrderID(orderMod.id); foreach (DataRow dr in dt.Rows) { int storeid = DataConverter.CLng(dr["StoreID"]); int proid = DataConverter.CLng(dr["Proid"]); string url = SiteConfig.SiteInfo.SiteUrl + GetShopUrl(storeid, proid); new HtmlHelper().DownToMHT(url, snapDir + proid + ".mht"); } } catch (Exception ex) { ZLLog.L(Model.ZLEnum.Log.exception, "订单:" + orderMod.OrderNo + "快照保存失败,原因:" + ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { ExHelper.CheckUserAuth("cash"); if (function.isAjax()) { //string action = Request.Form["action"]; string result = ""; M_UserInfo mu = buser.GetLogin(); //直接生成新单,无效的订单一定时间自动清理(未付款) int uid = DataConvert.CLng(Request.Form["uid"]); string cart = Request.Form["cart"]; if (string.IsNullOrEmpty(cart)) { throw new Exception("未指定消费项目"); } if (string.IsNullOrEmpty(Request.Form["uid"])) { throw new Exception("未指定用户"); } //---------------------------根据信息生成订单 DataTable cartDT = JsonConvert.DeserializeObject <DataTable>(cart); M_User_StoreUser suMod = new M_User_StoreUser(); if (uid > 0) { suMod = suBll.SelModelByUid(uid, mu.SiteID); } List <M_CartPro> cpList = new List <M_CartPro>(); //----------------- M_OrderList orderMod = null; if (Mid > 0) { orderMod = orderBll.SelReturnModel(Mid); } else { orderMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Normal); } //每次均重新获取 orderMod.Userid = mu.UserID; orderMod.AddUser = mu.UserName;//收银员名称 orderMod.Receiver = suMod.UserID.ToString(); orderMod.Rename = suMod.HoneyName; orderMod.StoreID = mu.SiteID; orderMod.Ordersamount = 0; foreach (DataRow dr in cartDT.Rows) { int cid = Convert.ToInt32(dr["ID"]); M_CartPro cpMod = new M_CartPro(); if (cid > 0) { cpMod = cpBll.SelReturnModel(cid); if (cpMod.Orderlistid != Mid) { throw new Exception("购物车数据与订单不匹配"); } } else { cpMod.StoreID = mu.SiteID; } //------------------- M_Product proMod = proBll.GetproductByid(Convert.ToInt32(dr["ProID"])); cpMod.ProID = proMod.ID; cpMod.Proname = proMod.Proname; cpMod.Danwei = proMod.ProUnit; cpMod.Shijia = proMod.LinPrice; cpMod.Pronum = Convert.ToInt32(dr["Pronum"]); cpMod.AllMoney = cpMod.Shijia * cpMod.Pronum; orderMod.Ordersamount += cpMod.AllMoney; //------------------------- cpMod.Username = suMod.HoneyName; cpMod.code = DataConvert.CStr(dr["code"]); //技师ID cpMod.Attribute = DataConvert.CStr(dr["Attribute"]); //技师姓名 cpList.Add(cpMod); //city,bindpro, } if (orderMod.id > 0) { orderBll.UpdateByID(orderMod); } else { orderMod.id = orderBll.insert(orderMod); } string cpIds = ""; foreach (M_CartPro cpMod in cpList) { if (cpMod.ID > 0) { cpBll.UpdateByID(cpMod); } else { cpMod.Orderlistid = orderMod.id; cpMod.ID = cpBll.GetInsert(cpMod); } cpIds += cpMod.ID + ","; } //删除未提交的购物车信息 cpIds = cpIds.TrimEnd(','); DBCenter.DelByWhere("ZL_CartPro", "OrderListID=" + orderMod.id + " AND ID NOT IN (" + cpIds + ")"); result = orderMod.id.ToString(); //--------------------------------------------- Response.Clear(); Response.Write(result); Response.Flush(); Response.End(); return; } if (!IsPostBack) { M_UserInfo mu = buser.GetLogin(); if (Mid > 0) { M_OrderList orderMod = orderBll.SelReturnModel(Mid); if (orderMod.StoreID != mu.SiteID) { function.WriteErrMsg("你无权操作该订单"); } if (orderMod.OrderStatus != (int)M_OrderList.StatusEnum.Normal) { function.WriteErrMsg("该订单不可修改"); } DataTable cpDT = cpBll.SelByOrderID(orderMod.id); Cart_Hid.Value = JsonConvert.SerializeObject(cpDT); } } }
protected void Page_Load(object sender, EventArgs e) { ExHelper.CheckUserAuth("cash"); mu = buser.GetLogin(); M_Store_Info storeMod = ExHelper.Store_User(); orderMod = orderBll.SelReturnModel(OrderID); client = buser.SelReturnModel(DataConvert.CLng(orderMod.Receiver)); OrderHelper.CheckIsCanPay(orderMod); if (function.isAjax()) { M_Payment payMod = payBll.CreateByOrder(orderMod); payMod.UserID = mu.UserID; payMod.CStatus = true; payMod.Status = (int)M_Payment.PayStatus.HasPayed; string result = ""; try { string type = Request.Form["type"]; switch (type) { case "money": #region 现金支付/扫码支付 { double rece = DataConvert.CDouble(Request.Form["rece"]); if (rece < payMod.MoneyPay) { throw new Exception("金额不正确,不能少于应收金额"); } payMod.Remark = string.Format("应收{0},实收{1},找零{2}", payMod.MoneyPay, rece, rece - payMod.MoneyPay); payMod.MoneyTrue = rece > payMod.MoneyPay ? payMod.MoneyPay : rece; payMod.PayPlatID = (int)M_PayPlat.Plat.Offline; //现金扫码支付 } #endregion break; case "mcard": #region 会员卡支付 { if (client.IsNull) { throw new Exception("未指定会员,无法使用会员卡支付"); } else if (client.Purse < orderMod.Ordersamount) { throw new Exception("会员卡余额不足"); } else { buser.MinusVMoney(client.UserID, orderMod.Ordersamount, M_UserExpHis.SType.Purse, "会员卡支付[" + orderMod.OrderNo + "]"); //检测会员卡余额是否充足 payMod.Remark = "会员卡支付"; payMod.MoneyTrue = orderMod.Ordersamount; payMod.PayPlatID = (int)M_PayPlat.Plat.ECPSS; //会员卡支付 } } #endregion break; default: throw new Exception("支付方式[" + type + "]不存在"); } payMod.PaymentID = payBll.Add(payMod); OrderHelper.FinalStep(payMod, orderMod, null); result = "1"; } catch (Exception ex) { ZLLog.L(ZLEnum.Log.pay, "订单:" + orderMod.id + ",原因:" + ex.Message); result = ex.Message; } if (client.UserID > 0) { DBCenter.UpdateSQL(client.TbName, "UpdateTime=getdate()", "UserID=" + client.UserID); } Response.Write(result); Response.Flush(); Response.End(); } if (!IsPostBack) { StoreName_L.Text = storeMod.Title; Cart_RPT.DataSource = cpBll.SelByOrderID(orderMod.id); Cart_RPT.DataBind(); } }
public static void OrderFinish(M_OrderList mod, M_Payment pinfo) { B_OrderList orderBll = new B_OrderList(); B_CartPro cpBll = new B_CartPro(); B_User buser = new B_User(); //B_User_Card cdBll = new B_User_Card(); //B_User_StoreUser suBll = new B_User_StoreUser(); switch (mod.Ordertype) { case (int)M_OrderList.OrderEnum.Domain: { B_Shop_MoneyRegular regBll = new B_Shop_MoneyRegular(); //M_User_StoreUser suMod = suBll.SelReturnModel(Convert.ToInt32(mod.Receiver)); //M_User_Card cdMod = cdBll.SelModelByUid(suMod.ID); //cdMod.CardPurse += mod.Ordersamount; //cdBll.UpdateByID(cdMod); int regular = DataConvert.CLng(mod.Money_code); M_Shop_MoneyRegular regMod = null; if (regular > 0) { regMod = regBll.SelReturnModel(regular); } else { regMod = new M_Shop_MoneyRegular(); regMod.Min = mod.Ordersamount; } buser.AddMoney(DataConvert.CLng(mod.Receiver), regMod.Min + regMod.Purse, M_UserExpHis.SType.Purse, "充值,订单号:" + mod.OrderNo + ",充值:" + regMod.Min + ",赠送:" + regMod.Purse); if (regMod.Point > 0) { buser.AddMoney(DataConvert.CLng(mod.Receiver), regMod.Point, M_UserExpHis.SType.Point, "充值赠送积分,订单号:" + mod.OrderNo); } } break; case (int)M_OrderList.OrderEnum.Cloud: //通过微信下的预约订单 { //付款后增加预约记录,由收银员完成开单 //{ id: 0, proid: 0, proname: "", empid: 0, empname: "" }; DataTable cpDT = cpBll.SelByOrderID(mod.id); List <M_Ex_PreOrder_Item> itemList = new List <M_Ex_PreOrder_Item>(); foreach (DataRow dr in cpDT.Rows) { M_Ex_PreOrder_Item model = new M_Ex_PreOrder_Item(); model.proid = Convert.ToInt32(dr["ProID"]); model.proname = DataConvert.CStr(dr["Proname"]); model.empid = DataConvert.CLng(dr["code"]); model.empname = DataConvert.CStr(dr["Proinfo"]); itemList.Add(model); } B_Ex_PreOrder poBll = new B_Ex_PreOrder(); M_Ex_PreOrder poMod = new M_Ex_PreOrder(); poMod.ClientMobile = mod.Mobile.ToString(); poMod.ClientName = mod.Rename; poMod.ClientDate = DataConvert.CDate(mod.ExpTime); poMod.ClientNeed = JsonConvert.SerializeObject(itemList); poMod.Remark = mod.Ordermessage; poMod.Source = "微信"; poMod.OrderID = mod.id; poMod.ID = poBll.Insert(poMod); } break; default: //普通订单,计算提成,赠送积分 { B_Shop_Bonus bnBll = new B_Shop_Bonus(); DataTable cpDT = cpBll.SelByOrderID(mod.id); foreach (DataRow dr in cpDT.Rows) { int code = DataConvert.CLng(dr["code"]); int proid = DataConvert.CLng(dr["Proid"]); double allMoney = DataConvert.CDouble(dr["AllMoney"]); if (code < 1) { continue; } #region 技师计算提成 //技师绑定了何种分成方案, M_UserInfo jsMod = buser.SelReturnModel(code); M_Shop_Bonus bnMod = null; if (jsMod.VIP < 1) { bnMod = bnBll.SelModelByDefault(); } else { bnMod = bnBll.SelReturnModel(jsMod.VIP); } //无提成方案则不计算 if (bnMod != null) { //根据商品ID,看有无匹配的子数据类型 M_Shop_Bonus bnMod2 = bnBll.SelModelByProID(bnMod.ID, proid); if (bnMod2 != null) { bnMod = bnMod2; } //-------计算提成,写入CartPro中 double bonus = 0; switch (bnMod.BonusType) { case 0: bonus = allMoney * (DataConvert.CDouble(bnMod.BonusValue1) * 0.01); break; case 1: bonus = DataConvert.CDouble(bnMod.BonusValue1); break; } DBCenter.UpdateSQL("ZL_CartPro", "AllMoney_Json='" + bonus.ToString("F2") + "'", "ID=" + dr["ID"]); } #endregion } //-------赠送积分,默认每一元送一分 buser.AddMoney(DataConvert.CLng(mod.Receiver), mod.Receivablesamount, M_UserExpHis.SType.Point, "订单[" + mod.id + "]赠送积分"); } break; } }