/// <summary> /// 积分支付 /// </summary> /// <param name="out_trade_no">外部订单号,商户网站订单系统中唯一的订单号</param> /// <param name="subject">订单名称</param> /// <param name="total_amout">会员帐号</param> /// <param name="OrderGid">订单Gid</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult MPay(string out_trade_no, string subject, string total_amout, Guid OrderGid) { Guid MemberGid = LCookie.GetMemberGid(); using (EFDB db = new EFDB()) { var b = db.Member.Where(l => l.Gid == MemberGid).FirstOrDefault(); decimal Price = decimal.Parse(total_amout); if (b.Integral - Price >= 0) { if (Helper.MoneyRecordAdd(OrderGid, MemberGid, 0, -Price, 1) != null) { if (db.Order.Where(l => l.OrderNo == out_trade_no).Update(l => new Order { PayStatus = 1, PayTime = DateTime.Now }) == 1) { return(new RedirectResult("/Pay/PayOK?OrderNo=" + out_trade_no)); } else { LogManager.WriteLog("积分支付成功订单更新失败", out_trade_no); } } } return(Helper.Redirect("失败", "history.go(-1);", "积分支付异常")); } }
/// <summary> /// 支付选择页面 /// </summary> public ActionResult GoPay() { using (EFDB db = new EFDB()) { //当前项目 int Project = LCookie.Project(); ViewBag.Project = Project; Guid MemberGid = LCookie.GetMemberGid(); if (MemberGid.ToString() != "00000000-0000-0000-0000-000000000000") { var b = db.Address.Where(l => l.MemberGid == MemberGid && l.Default == 2).FirstOrDefault(); if (b != null) { ViewBag.Addr = b.Addr; ViewBag.RealName = b.RealName; ViewBag.ContactNumber = b.ContactNumber; } else { ViewBag.RealName = "请设置你的收货地址"; } //获取用户积分 ViewBag.Integral = db.Member.Where(l => l.Gid == MemberGid).FirstOrDefault().Integral; //获取最低合伙人金额 //ViewBag.BuyAmount = db.Level.Where(l => l.LV == 6).FirstOrDefault().BuyAmount; return(View()); } else { return(Helper.Redirect("失败", "/Home/Login", "请先登录!")); } } }
public JsonResult CartData() { Guid MemberGid = LCookie.GetMemberGid(); using (EFDB db = new EFDB()) { var b = db.Cart.Where(l => l.MemberGid == MemberGid).Select(l => new { l.Gid, l.ShopGid, db.Shop.Where(s => s.Gid == l.ShopGid).FirstOrDefault().Name, list = db.OrderDetails.Where(o => o.OrderGid == l.Gid).GroupJoin(db.ShopProduct, x => x.ProductGid, y => y.Gid, (x, y) => new { x.Gid, x.ProductGid, x.Number, y.FirstOrDefault().Name, y.FirstOrDefault().Picture, y.FirstOrDefault().Price, y.FirstOrDefault().DFH }) }); return(Json(new AjaxResult(new { count = 888888, pageindex = 1, list = b.ToList() }))); } }
/// <summary> /// 设置推荐人 /// </summary> public object Referee(string referee) { using (EFDB db = new EFDB()) { Guid gid = LCookie.GetMemberGid(); var b = db.Member.Where(l => l.Gid == gid).FirstOrDefault(); if (b.MemberGid == null) { var m = db.Member.Where(l => l.Account == referee && l.Gid != gid).FirstOrDefault(); if (m != null) { b.MemberGid = m.Gid; if (db.SaveChanges() == 1) { Helper.MLogin(gid); List <Guid> list = new List <Guid>(); Helper.Member(gid, b.MemberGid, 1, 10, list); return(new AjaxResult("设置推荐人成功")); } else { return(new AjaxResult(300, "设置推荐人失败,请重试")); } } else { return(new AjaxResult(300, "该帐号未注册")); } } else { return(new AjaxResult(300, "推荐人不能更改")); } } }
public JsonResult AddCart(Guid ShopGid, Guid Gid, int Number, int DFH = 0) { Guid MemberGid = LCookie.GetMemberGid(); if (MemberGid == Guid.Parse("00000000-0000-0000-0000-000000000000")) { return(Json(new AjaxResult(301, "请先登录!"))); } else { //借用订单处理,待发货处理 if (DFH == 3) { using (EFDB db = new EFDB()) { var c = db.Cart.Where(l => l.MemberGid == MemberGid).ToList(); foreach (var dr in c) { db.Cart.Where(l => l.Gid == dr.Gid).Delete(); db.OrderDetails.Where(l => l.OrderGid == dr.Gid && l.State != 1).Delete(); } } } else { //有其他产品时候 删除待发货的产品 using (EFDB db = new EFDB()) { var cop = db.OrderDetails.Where(l => l.State != 1).GroupJoin(db.Cart.Where(c => c.MemberGid == MemberGid), l => l.OrderGid, j => j.Gid, (l, j) => new { l.Gid, l.ProductGid }).GroupJoin(db.ShopProduct, l => l.ProductGid, j => j.Gid, (l, j) => new { l.Gid, j.FirstOrDefault().DFH }).Where(l => l.DFH == 3).ToList(); foreach (var dr in cop) { db.OrderDetails.Where(l => l.Gid == dr.Gid).Delete(); } } } if (ShopOrder(Gid, ShopGid, MemberGid, Number)) { return(Json(new AjaxResult(Helper.OrderRMB(MemberGid)))); } else { return(Json(new AjaxResult(300, "库存不足"))); } } }
/// <summary> /// 产品详情 /// </summary> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Detail() { using (EFDB db = new EFDB()) { Guid Gid = Guid.Parse(Request.QueryString["gid"]); var b = db.Product.Where(l => l.Gid == Gid).FirstOrDefault(); if (b != null) { ViewBag.Gid = b.Gid; ViewBag.Prefix = b.Prefix; ViewBag.Name = b.Name; ViewBag.Price = b.Price; ViewBag.Company = b.Company; ViewBag.Picture = Help.Product + b.Picture; ViewBag.Brand = b.Brand; ViewBag.Content = b.Content; b.Number = b.Number + 1; db.SaveChanges(); } ViewBag.RMB = 0; ViewBag.Stock = ""; if (LCookie.Project() == 2) { string ck = LCookie.GetCookie("linjiansheng"); if (!string.IsNullOrEmpty(ck)) { Guid MemberGid = LCookie.GetMemberGid(); var m = db.Member.Where(l => l.Gid == MemberGid).FirstOrDefault(); decimal BuyPrice = 0; if (m != null) { BuyPrice = m.BuyPrice; } if (string.IsNullOrEmpty(Request.QueryString["MPGid"])) { ViewBag.Stock = b.Stock; //进货价是0就是产品价格X库存,有进货价的话就是进货价X库存 //ViewBag.Price = BuyPrice == 0 ? b.Price : BuyPrice * b.Stock; //if (BuyPrice * b.Stock > b.Price) //{ // ViewBag.Price = b.Price; //} ViewBag.Price = ViewBag.RMB = b.Price; } else { //会员出售 } } else { return(Helper.Redirect("请先登录", "/Home/Login", "登录查看你的购买价格!")); } } } return(View()); }
/// <summary> /// 购物车 /// </summary> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Cart() { Guid MemberGid = LCookie.GetMemberGid(); if (MemberGid == Guid.Parse("00000000-0000-0000-0000-000000000000")) { return(new RedirectResult("/Home/Login")); } else { ViewBag.RMB = Helper.OrderRMB(MemberGid); return(View()); } }
/// <summary> /// 线下汇款 /// </summary> public ActionResult Bank(string Type, string OrderNo, string base64Data) { using (EFDB db = new EFDB()) { if (string.IsNullOrEmpty(base64Data)) { return(View()); } else { Guid Gid = LCookie.GetMemberGid(); string picture = Helper.jsimg(Help.Voucher, base64Data); if (!string.IsNullOrEmpty(picture)) { if (Type == "1") { var b = db.Order.Where(l => l.MemberGid == Gid && l.OrderNo == OrderNo).FirstOrDefault(); b.Voucher = picture; if (db.SaveChanges() == 1) { return(new RedirectResult("/Member/Order?tab=4")); } else { return(Helper.Redirect("失败", "history.go(-1);", "失败,请重试")); } } else { var b = db.ShopOrder.Where(l => l.MemberGid == Gid && l.OrderNo == OrderNo).FirstOrDefault(); b.Voucher = picture; if (db.SaveChanges() == 1) { return(new RedirectResult("/Member/ShopOrder?tab=4&ReturnType=0")); } else { return(Helper.Redirect("失败", "history.go(-1);", "失败,请重试")); } } } else { return(Helper.Redirect("失败", "history.go(-1);", "图片上传失败")); } } } }
public JsonResult TeamIntegralData() { string json = ""; using (StreamReader sr = new StreamReader(Request.InputStream)) { json = HttpUtility.UrlDecode(sr.ReadLine()); } //解析参数 JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; //统计月份的第一天和最后一天 DateTime MonthFirst = DTime.FirstDayOfMonth(DateTime.Parse("2018-08-08")); DateTime MonthLast = DTime.LastDayOfMonth(DateTime.Now); string date = paramJson["date"].ToString(); if (!string.IsNullOrEmpty(date)) { //统计月份的第一天和最后一天 MonthFirst = DTime.FirstDayOfMonth(DateTime.Parse(date + "-" + "01")); MonthLast = DTime.LastDayOfMonth(DateTime.Parse(date + "-" + "01 23:59:59")); } using (EFDB db = new EFDB()) { Guid MGid = LCookie.GetMemberGid();; var b = db.ShopRecord.Where(l => l.MemberGid == MGid && l.Type == 3 && l.AddTime >= MonthFirst && l.AddTime <= MonthLast).GroupJoin(db.ShopOrder, l => l.OrderGid, j => j.Gid, (l, j) => new { l.AddTime, l.MIntegral, j.FirstOrDefault().OrderNo }).AsQueryable(); int pageindex = Int32.Parse(paramJson["pageindex"].ToString()); int pagesize = Int32.Parse(paramJson["pagesize"].ToString()); return(Json(new AjaxResult(new { other = "", count = b.Count(), pageindex, list = b.OrderByDescending(l => l.AddTime).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList() }))); } }
/// <summary> /// 抢单 /// </summary> /// <param name="gid">订单Gid</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object Rob(Guid gid) { using (EFDB db = new EFDB()) { Guid MemberGid = LCookie.GetMemberGid(); var b = db.Order.Where(l => l.Gid == gid).FirstOrDefault(); if (b != null && b.PayStatus == 1 && b.RobGid == null) { //扣除库存 var od = db.OrderDetails.Where(l => l.OrderGid == gid).ToList(); foreach (var j in od) { Stock s = db.Stock.Where(l => l.ProductGid == j.ProductGid && l.MemberGid == MemberGid).FirstOrDefault(); s.Number = s.Number - j.Number; } if (db.SaveChanges() != od.Count) { LogManager.WriteLog("扣除库存失败", "MemberGid=" + MemberGid.ToString() + ",OrderGid=" + gid.ToString()); return(new AjaxResult(300, "抢单扣除库存异常")); } else { //更新抢单信息 b.RobGid = LCookie.GetMemberGid(); b.RobTime = DateTime.Now; if (db.SaveChanges() == 1) { return(new AjaxResult("恭喜你,抢单成功.请录入物流信息")); } else { LogManager.WriteLog("扣除库存成功抢单失败", "MemberGid=" + MemberGid.ToString() + ",OrderGid=" + gid.ToString()); return(new AjaxResult(300, "抢单超时,请返回订单界面重新获取")); } } } else { return(new AjaxResult(300, "你手慢了,订单已失效")); } } }
/// <summary> /// 商城积分支付 /// </summary> /// <param name="OrderNo">外部订单号,商户网站订单系统中唯一的订单号</param> /// <param name="subject">订单名称</param> /// <param name="PayPrice">支付金额</param> /// <param name="Integral">用户的积分</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult MShopPay(string OrderNo, string subject, decimal PayPrice, decimal Integral, string ReturnType = "0") { Guid MemberGid = LCookie.GetMemberGid(); using (EFDB db = new EFDB()) { if (Integral >= PayPrice) { var b = db.ShopOrder.Where(l => l.OrderNo == OrderNo && l.PayStatus == 2).ToList(); if (b.Select(l => l.Price).Sum() == PayPrice) { db.ShopOrder.Where(l => l.OrderNo == OrderNo && l.PayStatus == 2).Update(l => new ShopOrder { RMB = PayPrice }); foreach (var dr in b) { if (Helper.MoneyRecordAdd(dr.Gid, MemberGid, 0, -dr.Price, 1) != null) { if (!Helper.ShopPayOrder(dr.Gid, "", 5, dr.Price)) { LogManager.WriteLog("积分支付成功更新订单失败", "订单=" + dr.Gid); } } } return(new RedirectResult("/Pay/PayOK?type=2&OrderNo=" + OrderNo + "&ReturnType=" + ReturnType)); } else { LogManager.WriteLog("合并金额和支付金额不对", "OrderNo=" + OrderNo + ",PayPrice=" + PayPrice); return(Helper.Redirect("失败", "history.go(-1);", "支付异常,请联系客服!")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "积分不足!")); } } }
/// <summary> /// 支付选择页面 /// </summary> public ActionResult ShopPay() { using (EFDB db = new EFDB()) { Guid MemberGid = LCookie.GetMemberGid(); if (MemberGid.ToString() != "00000000-0000-0000-0000-000000000000") { if (db.Cart.Where(l => l.MemberGid == MemberGid && l.State == 1).Count() > 0) { var b = db.Address.Where(l => l.MemberGid == MemberGid && l.Default == 2).FirstOrDefault(); if (b != null) { ViewBag.Addr = b.Addr; ViewBag.RealName = b.RealName; ViewBag.ContactNumber = b.ContactNumber; } else { ViewBag.RealName = "请设置你的收货地址"; } //获取用户积分 ViewBag.Integral = db.Member.Where(l => l.Gid == MemberGid).FirstOrDefault().Integral; //订单金额 ViewBag.RMB = Helper.OrderRMB(MemberGid); } else { return(Helper.Redirect("失败", "/SMall/Index", "请先添加商品!")); } return(View()); } else { return(Helper.Redirect("失败", "/Home/login", "请先登录!")); } } }
public ActionResult Pay() { string RealName = Request.Form["RealName"]; string ContactNumber = Request.Form["ContactNumber"]; string Address = Request.Form["Addr"]; string ProductList = Request.Form["shopcart"]; int PayType = int.Parse(Request.Form["PayType"]); string Remarks = Request.Form["Remarks"]; string OrderNo = Request.Form["OrderNo"]; //购买会员Gid Guid MemberGid = LCookie.GetMemberGid(); //当前项目 int Project = LCookie.Project(); ViewBag.Project = Project; //订单信息 string Order = ""; //下单返回信息 if (string.IsNullOrEmpty(OrderNo)) { Order = Helper.CLOrder(4, 0, ProductList, MemberGid, Project, PayType, Remarks, Address, RealName, ContactNumber); } else { using (EFDB db = new EFDB()) { var b = db.Order.Where(l => l.OrderNo == OrderNo).FirstOrDefault(); if (b != null && b.PayStatus == 2 && b.ShopGid != MemberGid && b.ShopGid == b.MemberGid) { b.MemberGid = MemberGid; if (db.SaveChanges() == 1) { Order = JsonConvert.SerializeObject(new { body = b.Product, b.Price, b.OrderNo, b.Gid }); } else { return(Helper.Redirect("失败", "history.go(-1);", "获取订单失败!")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "下手慢了,被人抢了!")); } } } if (!string.IsNullOrEmpty(Order)) { JObject paramJson = JsonConvert.DeserializeObject(Order) as JObject; { if (string.IsNullOrEmpty(paramJson["OrderNo"].ToString())) { return(Helper.Redirect(paramJson["Title"].ToString(), "history.go(-1);", paramJson["Error"].ToString())); } else { switch (PayType) { case 1: return(Alipay(paramJson["OrderNo"].ToString(), paramJson["body"].ToString(), paramJson["TotalPrice"].ToString(), 1)); case 2: if (!string.IsNullOrEmpty(LCookie.GetCookie("openid"))) { string beizhu = "cl"; //备注 //开始微信统一下单 JObject j = WX.WXPay.Get_RequestHtml(LCookie.GetCookie("openid"), paramJson["OrderNo"].ToString(), "彩链订单", beizhu, paramJson["TotalPrice"].ToString()); return(Json(new AjaxResult(new { OrderNo = paramJson["OrderNo"].ToString(), appId = j["appId"].ToString(), timeStamp = j["timeStamp"].ToString(), nonceStr = j["nonceStr"].ToString(), package = j["package"].ToString(), paySign = j["paySign"].ToString(), signType = j["signType"].ToString() }))); } else { return(Json(new AjaxResult(301, "微信支付,请在微信里打开重新登录进行支付"))); } case 3: return(new RedirectResult("/Home/Bank?Type=1&OrderNo=" + paramJson["OrderNo"].ToString() + "&Money=" + paramJson["TotalPrice"].ToString())); default: return(Helper.Redirect("失败", "history.go(-1);", "非法支付")); } } } } else { return(Helper.Redirect("失败", "history.go(-1);", "提交订单失败")); } }
public ActionResult PayShop() { string RealName = Request.Form["RealName"]; string ContactNumber = Request.Form["ContactNumber"]; string Address = Request.Form["Addr"]; string Remarks = Request.Form["Remarks"]; int PayType = int.Parse(Request.Form["PayType"]); //订单类型 Type=0 非借用订单 int ReturnType = int.Parse(Request.Form["ReturnType"]); string OrderNo = RandStr.CreateOrderNO(); decimal RMB = 0;//全部订单金额 using (EFDB db = new EFDB()) { Guid MGid = LCookie.GetMemberGid(); //如果是积分支付先验证支付密码 var m = db.Member.Where(l => l.Gid == MGid).FirstOrDefault(); //待发货利润 decimal DFHProfit = 0; //待发货等级比例 decimal DFHLV = db.Level.Where(l => l.LV == m.CLLevel).FirstOrDefault().EquityProfit; if (PayType == 5) { if (m.PayPWD != MD5.GetMD5ljsheng(Request.Form["PayPWD"])) { return(Helper.Redirect("失败", "history.go(-1);", "支付密码错误!")); } } //购物车转化成订单 var c = db.Cart.Where(l => l.MemberGid == MGid && l.State == 1).ToList(); if (c != null) { foreach (var dr in c) { //借用订单的产品Gid string pg = ""; decimal Price = 0;//订单金额 //扣除库存 var od = db.OrderDetails.Where(l => l.OrderGid == dr.Gid).ToList(); foreach (var d in od) { var p = db.ShopProduct.Where(l => l.Gid == d.ProductGid).FirstOrDefault(); pg = p.Gid.ToString(); if (p.DFH == 3) { DFHProfit += p.Price * DFHLV; } if (ReturnType == 0 || (ReturnType != 0 && p.Borrow == 1 && db.ShopOrder.Where(l => l.Product == pg && l.PayStatus == 1).Count() == 0)) { if (p.Stock >= d.Number) { //扣除库存 p.Stock = p.Stock - d.Number; if (db.SaveChanges() == 1) { //库存扣除状态 if (db.OrderDetails.Where(l => l.Gid == d.Gid).Update(l => new OrderDetails { State = 1 }) == 1) { RMB += d.Number * p.Price; Price += d.Number * p.Price; } else { LogManager.WriteLog("库存扣除成功更新OD失败", "Gid=" + d.Gid); } } } else { //库存不足的直接删除 db.OrderDetails.Where(l => l.Gid == d.Gid).Delete(); } } else { return(Helper.Redirect("你下手慢了", "history.go(-1);", "你下手慢了,已被借用")); } } //生成订单 var b = new ShopOrder(); b.Gid = dr.Gid; b.AddTime = DateTime.Now; b.MemberGid = MGid; b.ShopGid = dr.ShopGid; b.OrderNo = OrderNo; b.PayStatus = 2; b.PayType = PayType; b.RMB = 0; b.TotalPrice = Price; b.Price = Price; b.CouponPrice = 0; b.PayPrice = 0; b.Profit = 0; b.ConsumptionCode = RandStr.CreateValidateNumber(8); b.ReturnType = ReturnType; if (ReturnType != 0) { b.BorrowTime = b.AddTime.AddMonths(3); b.Product = pg; } b.Status = 1; b.ExpressStatus = 1; b.Remarks = Remarks; b.Address = Address; b.ContactNumber = ContactNumber; b.RealName = RealName; //待发货 b.DFHProfit = DFHProfit; b.DFHLV = DFHLV; b.DFHState = 1; b.DFH = 1; db.ShopOrder.Add(b); if (db.SaveChanges() == 1) { if (ReturnType != 0 && pg != "") { Guid PGid = Guid.Parse(pg); if (db.ShopProduct.Where(l => l.Gid == PGid).Update(l => new ShopProduct { Borrow = 2 }) != 1) { LogManager.WriteLog("借用订单状态失败", "产品Gid=" + pg + ",订单号=" + b.Gid); } } if (db.Cart.Where(l => l.Gid == dr.Gid).Delete() != 1) { LogManager.WriteLog("删除购物车订单失败", "Gid=" + dr.Gid); } } else { LogManager.WriteLog("购物车转订单失败", "Gid=" + dr.Gid); return(Helper.Redirect("失败", "history.go(-1);", "购物车转订单失败")); } } if (RMB > 0) { switch (PayType) { case 1: return(Alipay(OrderNo, "商城订单支付", RMB.ToString(), 2, Request.Form["ReturnType"])); //return MPay(paramJson["OrderNo"].ToString(), paramJson["body"].ToString(), paramJson["TotalPrice"].ToString(), Guid.Parse(paramJson["OrderGid"].ToString())); case 5: return(MShopPay(OrderNo, "商城订单支付", RMB, m.Integral, Request.Form["ReturnType"])); case 3: db.ShopOrder.Where(l => l.OrderNo == OrderNo && l.PayType == 3).Update(l => new ShopOrder { RMB = RMB }); return(new RedirectResult("/Home/Bank?Type=2&OrderNo=" + OrderNo + "&Money=" + RMB.ToString())); case 2: if (!string.IsNullOrEmpty(LCookie.GetCookie("openid"))) { string beizhu = "shop"; //备注 //开始微信统一下单 JObject j = WX.WXPay.Get_RequestHtml(LCookie.GetCookie("openid"), OrderNo, "彩链商城订单", beizhu, RMB.ToString()); return(Json(new AjaxResult(new { OrderNo, appId = j["appId"].ToString(), timeStamp = j["timeStamp"].ToString(), nonceStr = j["nonceStr"].ToString(), package = j["package"].ToString(), paySign = j["paySign"].ToString(), signType = j["signType"].ToString() }))); } else { return(Json(new AjaxResult(301, "微信支付,请在微信里打开重新登录进行支付"))); } default: return(Helper.Redirect("失败", "history.go(-1);", "非法支付")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "提交订单失败!")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "购物车发生变化!")); } } }
/// <summary> /// 抢单 /// </summary> /// <param name="Name">分类名称</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object SendCL(int MID, int Number) { using (EFDB db = new EFDB()) { var Member = db.Member.Where(l => l.MID == MID).FirstOrDefault(); if (MID.ToString().Length == 8 && Member != null) { Guid OrderGid = Guid.NewGuid(); //订单的Gid Guid MGid = Member.Gid; //接受人 Guid MemberGid = LCookie.GetMemberGid(); //转让人 string msg = "订单=" + OrderGid + ",转让人=" + MemberGid + ",接受人=" + MGid + ",MID=" + MID + ",Number=" + Number; if (Helper.IsMember(MGid, MemberGid)) { //商品Gid,有订单号为会员转让商品 Guid ProductGid = Helper.GetProductGid(); //扣除库存 if (Helper.CLStock(OrderGid, MGid, MemberGid, Number, 0, 0, Member.Account)) { //订单详情 var od = new OrderDetails(); od.Gid = Guid.NewGuid(); od.AddTime = DateTime.Now; od.OrderGid = OrderGid; od.ProductGid = ProductGid; od.Number = Number; od.Money = 0; od.Integral = 0; od.Price = 0; od.State = 1; db.OrderDetails.Add(od); if (db.SaveChanges() == 1) { //生成订单 var b = new Order(); b.Gid = OrderGid; b.AddTime = DateTime.Now; b.OrderNo = "0"; b.MemberGid = MGid; b.ShopGid = MemberGid; b.CLLevel = Member.CLLevel; b.PayStatus = 1; b.PayType = 4; b.TotalPrice = 0; b.Price = 0; b.PayPrice = 0; b.CouponPrice = 0; b.ExpressStatus = 3; b.Remarks = "个人转让"; b.Product = "个人转让"; b.Status = 2; b.Profit = 0; b.Money = 0; b.Integral = 0; b.StockRight = 0; b.Project = 2; b.Type = 5; db.Order.Add(b); if (db.SaveChanges() == 1) { if (Helper.AddCLStock(OrderGid, MGid).Contains("增加数量")) { return(new AjaxResult("转让成功")); } else { LogManager.WriteLog("个人转让扣除库存成功订单成功增加失败", msg); return(new AjaxResult(300, "扣除成功转让失败")); } } else { LogManager.WriteLog("个人转让扣除库存成功OrderDetails成功增加Order失败", msg); db.OrderDetails.Where(l => l.OrderGid == OrderGid).Delete(); } } else { LogManager.WriteLog("个人转让扣除库存成功增加OrderDetails失败", msg); } } else { return(new AjaxResult(300, "扣除库存异常")); } return(new AjaxResult(300, "转让失败")); } else { return(new AjaxResult(300, "只能转让给自己的下线")); } } else { return(new AjaxResult(300, "请输入正确的下级ID")); } } }