public JsonResult ClassifyList() { using (EFDB db = new EFDB()) { int Project = LCookie.Project(); return(Json(new AjaxResult(new { list = db.Classify.Where(l => l.Show == 1 && l.Project == Project).OrderByDescending(l => l.Sort).Select(l => new { l.Gid, l.Name, Count = db.Product.Where(p => p.ClassifyGid == l.Gid).Count() }).Where(l => l.Count != 0).ToList() }))); } }
public JsonResult PList() { string json = ""; using (StreamReader sr = new StreamReader(Request.InputStream)) { json = HttpUtility.UrlDecode(sr.ReadLine()); } //解析参数 JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; string Name = paramJson["Name"].ToString(); using (EFDB db = new EFDB()) { int Project = LCookie.Project(); var b = db.Product.Where(l => l.Show == 1).GroupJoin(db.Classify, l => l.ClassifyGid, j => j.Gid, (l, j) => new { l.Gid, l.Prefix, l.Name, l.Sort, l.Picture, l.Price, l.Company, l.Brand, l.ClassifyGid, j.FirstOrDefault().Project }).Where(l => l.Project == Project).AsQueryable(); if (!string.IsNullOrEmpty(Name)) { b = b.Where(l => l.Name.Contains(Name)); } string ClassifyGid = paramJson["ClassifyGid"].ToString(); if (!string.IsNullOrEmpty(ClassifyGid)) { Guid Gid = Guid.Parse(ClassifyGid); b = b.Where(l => l.ClassifyGid == Gid); } int pageindex = Int32.Parse(paramJson["pageindex"].ToString()); int pagesize = Int32.Parse(paramJson["pagesize"].ToString()); return(Json(new AjaxResult(new { other = ClassifyGid, count = b.Count(), pageindex, list = b.OrderByDescending(l => l.Sort).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList() }))); } }
/// <summary> /// 项目首页 /// </summary> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Index() { using (EFDB db = new EFDB()) { //项目数据的类型 //if (!string.IsNullOrEmpty(Request.QueryString["project"])) //{ // LCookie.AddCookie("project", Request.QueryString["project"], 30); //} //获取项目分类 //int Project = LCookie.Project(); LCookie.AddCookie("project", "2", 30); int Project = 2; //获取广告 var AD = db.AD.Where(l => l.Show == 1 && l.Project == Project && l.Sort == 1).FirstOrDefault(); if (AD != null) { ViewBag.ADTopPicture = AD.Picture; ViewBag.ADTopUrl = AD.Url; } //获取产品 var p = db.Product.Where(l => l.Show == 1).GroupJoin(db.Classify, x => x.ClassifyGid, y => y.Gid, (x, y) => new { x.Gid, x.Name, x.Picture, x.Price, x.Company, x.Stock, x.Sort, x.Prefix, y.FirstOrDefault().Project }).Where(l => l.Project == Project).OrderBy(l => l.Sort).ToList(); string phtm = ""; foreach (var dr in p) { phtm += "<li>"; phtm += "<a href = \"/Home/Detail?gid=" + dr.Gid + "\">"; phtm += "<p ><img src = \"/uploadfiles/product/" + dr.Picture + "\" /></p>"; phtm += "<p class=\"title\">" + dr.Prefix + dr.Name + "</p>"; phtm += "<p class=\"price\">" + dr.Price + "/" + dr.Stock + " " + dr.Company + "</p>"; phtm += "</a>"; phtm += "</li>"; } ViewBag.Product = phtm; } 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()); } }
public JsonResult IndexData() { string json = ""; using (StreamReader sr = new StreamReader(Request.InputStream)) { json = HttpUtility.UrlDecode(sr.ReadLine()); } JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; string City = LCookie.GetCity(); using (EFDB db = new EFDB()) { var b = db.ShopProject.GroupJoin(db.Shop, l => l.ShopGid, j => j.Gid, (l, j) => new { l.AddTime, l.Project, l.ShopGid, j.FirstOrDefault().Picture, j.FirstOrDefault().Name, j.FirstOrDefault().Sort, j.FirstOrDefault().Show, j.FirstOrDefault().State, j.FirstOrDefault().City }).Where(l => l.Show == 1 && l.State == 2).DistinctBy(l => new { l.ShopGid }).AsQueryable(); if (City != "全国") { b = b.Where(l => l.City == City); } if (paramJson["Project"].ToString() != "00") { int Project = int.Parse(paramJson["Project"].ToString()); b = b.Where(l => l.Project == Project); } 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.OrderBy(l => l.Sort).ThenByDescending(l => l.AddTime).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList() }))); } }
/// <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 DFHSQ(Guid ProductGid) { Guid ShopGid = LCookie.GetShopGid(); if (ShopGid == Guid.Parse("00000000-0000-0000-0000-000000000000")) { return(Json(new AjaxResult(300, "请先申请商家!"))); } else { using (EFDB db = new EFDB()) { int State = db.Shop.Where(l => l.Gid == ShopGid).FirstOrDefault().State; if (State == 1) { return(Json(new AjaxResult(301, "商家还在审核阶段"))); } else { int c = db.ShopClassify.Where(l => l.ShopGid == ShopGid).Count(); if (c == 0) { return(Json(new AjaxResult(302, "请先添加商家分类之后再来申请"))); } else { var d = db.DFH.Where(l => l.ShopGid == ShopGid && l.ProductGid == ProductGid).FirstOrDefault(); if (d == null) { var b = new DFH(); b.Gid = Guid.NewGuid(); b.AddTime = DateTime.Now; b.ShopGid = ShopGid; b.ProductGid = ProductGid; b.State = 1; db.DFH.Add(b); return(Json(new AjaxResult(db.SaveChanges()))); } else { return(Json(new AjaxResult(d.State == 1 ? "正在审核中" : "已申请发布过了"))); } } } } } }
/// <summary> /// 茶叶 /// </summary> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Tea() { using (EFDB db = new EFDB()) { //项目数据的类型 //if (!string.IsNullOrEmpty(Request.QueryString["project"])) //{ // LCookie.AddCookie("project", Request.QueryString["project"], 30); //} //获取项目分类 //int Project = LCookie.Project(); LCookie.AddCookie("project", "1", 30); int Project = 1; //获取广告 var AD = db.AD.Where(l => l.Show == 1 && l.Project == Project).ToList(); var ADTop = AD.Where(l => l.Sort == 1).FirstOrDefault(); if (ADTop != null) { ViewBag.ADTopPicture = ADTop.Picture; ViewBag.ADTopUrl = ADTop.Url; } var ADC = AD.Where(l => l.Sort == 2).FirstOrDefault(); if (ADC != null) { ViewBag.ADCPicture = ADC.Picture; ViewBag.ADCUrl = ADC.Url; } //获取产品 ViewBag.Product = db.Product.Where(l => l.Show == 3).GroupJoin(db.Classify, x => x.ClassifyGid, y => y.Gid, (x, y) => new { x.Gid, x.Name, x.Picture, x.Price, x.Company, y.FirstOrDefault().Project }).Where(l => l.Project == Project).Take(4).ToList(); ViewBag.HotShow = db.Product.Where(l => l.Show == 1).OrderByDescending(l => l.Number).Take(4).ToList(); ViewBag.Classify = db.Classify.Where(l => l.Project == Project).ToList(); } return(View()); }
public JsonResult ShopSearchData() { string json = ""; using (StreamReader sr = new StreamReader(Request.InputStream)) { json = HttpUtility.UrlDecode(sr.ReadLine()); } //解析参数 JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; string Name = paramJson["Name"].ToString(); if (!string.IsNullOrEmpty(Name)) { using (EFDB db = new EFDB()) { Guid ShopGid = Guid.Parse(LCookie.GetCookie("shop")); var b = db.ShopProduct.Where(l => l.Show == 1).Where(l => l.ShopGid == ShopGid).AsQueryable(); if (!string.IsNullOrEmpty(Name)) { b = b.Where(l => l.Name.Contains(Name)); } 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.Sort).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList() }))); } } else { return(Json(new AjaxResult(new { other = "", count = 0, pageindex = 1, list = new string[0] }))); } }
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> /// 用户登录信息CK /// </summary> /// <param name="gid">用户gid</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public static void UPCKUser(Guid gid) { using (EFDB db = new EFDB()) { LCookie.DelCookie("linjiansheng"); LCookie.DelCookie("city"); //会员登录信息 var u = db.member.Where(l => l.gid == gid).FirstOrDefault(); LCookie.AddCookie("linjiansheng", DESRSA.DESEnljsheng(JsonConvert.SerializeObject(new { gid = u.gid, account = u.account })), 30); //设置用户读取数据的城市 if (string.IsNullOrEmpty(LCookie.GetCookie("city"))) { LCookie.AddCookie("city", u.city, 30); } } }
/// <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", "请先登录!")); } } }
/// <summary> /// 会员登录 /// </summary> /// <param name="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Login(string account, string pwd) { ViewBag.OpenID = LCookie.GetCookie("openid"); if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd)) { return(View()); } else { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5) { using (EFDB db = new EFDB()) { string pwdMD5 = MD5.GetMD5ljsheng(pwd); var b = db.Member.Where(l => l.Account == account && l.PWD == pwdMD5).OrderBy(l => l.AddTime).FirstOrDefault(); if (b != null) { //更新登录时间戳 b.LoginIdentifier = LCommon.TimeToUNIX(DateTime.Now); db.SaveChanges(); Helper.MLogin(b.Gid); string url = LCookie.Project() == 1 ? "Tea" : "Index"; return(new RedirectResult("/Home/" + url)); } else { return(Helper.Redirect("登录失败!", "history.go(-1);", "帐号或密码错误!")); } } } else { return(Helper.Redirect("登录失败!", "history.go(-1);", "必须是11位的手机号,密码最少需要6位!")); } } }
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="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <param name="paypwd">支付密码</param> /// <param name="RealName">真实姓名</param> /// <param name="identifyingCode">注册验证码</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Register(string account, string pwd, string paypwd, string RealName, string identifyingCode) { if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(identifyingCode)) { //是否有推荐人 if (!string.IsNullOrEmpty(Request.QueryString["m"])) { LCookie.AddCookie("m", Request.QueryString["m"], 1); } return(View()); } else { //判断是否有推荐人 string m = LCookie.GetCookie("m"); Guid? MemberGid = null; if (!string.IsNullOrEmpty(m)) { MemberGid = Guid.Parse(m); } using (EFDB db = new EFDB()) { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5 && paypwd.Length == 6) { var sms = db.SMS.Where(l => l.PhoneNumber == account && l.Content == identifyingCode).OrderByDescending(l => l.AddTime).FirstOrDefault(); if (sms != null) { TimeSpan ts = DateTime.Now - sms.AddTime; if (identifyingCode == DateTime.Now.ToString("MMdd") || ts.TotalMinutes <= 10) { Guid Gid = Guid.NewGuid(); try { int MID = Helper.CreateMNumber();//注册用户的邀请码 var b = new Member(); b.Gid = Gid; b.AddTime = DateTime.Now; b.Account = account; b.RealName = RealName; b.LoginIdentifier = "0000000000"; b.IP = Helper.IP; b.Money = 0; b.Integral = 0; b.ShopIntegral = 0; b.MIntegral = 0; b.TIntegral = 0; b.ShopMoney = 0; b.ProductMoney = 0; b.StockRight = 0; b.CLMoney = 0; b.Level = 1; b.Level6 = 0; b.Level7 = 0; b.Level8 = 0; b.Level9 = 0; b.TMoney = 0; b.TNumber = 0; b.PWD = MD5.GetMD5ljsheng(pwd); b.PayPWD = MD5.GetMD5ljsheng(paypwd); b.MID = MID; b.Jurisdiction = "正常"; b.Gender = "男"; b.CLLevel = 21; b.BuyPrice = 0; b.Level22 = 0; b.Level23 = 0; b.Level24 = 0; b.Level25 = 0; b.CLTMoney = 0; b.CLTNumber = 0; if (MemberGid != null) { b.MemberGid = MemberGid; } b.APP = AppApi.AppMR(RealName, pwd, paypwd, account, MID.ToString()) ? 2 : 1; //b.Jurisdiction = Request.Form["Jurisdiction"]; //b.Gender = Request.Form["Gender"]; //b.NickName = Request.Form["NickName"]; //b.RealName = b.RealName; //b.Gender = b.Gender; //b.ContactNumber = Request.Form["ContactNumber"]; b.Province = "福建省"; b.City = "福州市"; b.Area = "鼓楼区"; //b.Address = Request.Form["Address"]; //b.Openid = b.Openid; //b.Money = decimal.Parse(Request.Form["Money"]); //b.Integral = int.Parse(Request.Form["Integral"]); //b.ProductMoney = decimal.Parse(Request.Form["ProductMoney"]); //b.StockRight = int.Parse(Request.Form["StockRight"]);); //b.Bank = Request.Form["Bank"]; //b.BankName = Request.Form["BankName"]; //b.BankNumber = Request.Form["BankNumber"]; //if (!string.IsNullOrEmpty(Picture)) //{ // b.Picture = Picture; //} if (db.Member.Where(l => l.Account == account).Count() == 0) { db.Member.Add(b); if (db.SaveChanges() == 1) { //删除重复注册数据 //db.Member.Where(l => l.Account == account && l.Gid != Gid).Delete(); //var md = db.Member.Where(l => l.Account == account && l.Gid != Gid).ToList(); //foreach (var dr in md) //{ // db.Member.Where(l => l.MemberGid == dr.MemberGid).Delete(); // db.MRelation.Where(l => l.MemberGid == dr.MemberGid).Delete(); // db.Consignor.Where(l => l.MemberGid == dr.MemberGid).Delete(); //} //增加链商城发货人 Helper.SetConsignor(b.Gid, MemberGid); //增加推荐人 if (MemberGid != null) { Helper.MRelation(Gid, (Guid)MemberGid); } LCookie.DelALLCookie(); return(Helper.Redirect("成功", "/Home/Login", "注册成功,请登录")); } else { return(Helper.Redirect("失败", "history.go(-1);", "注册失败")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "帐号已存在")); } } catch { db.Member.Where(l => l.Gid == Gid).Delete(); db.MRelation.Where(l => l.MemberGid == Gid).Delete(); db.Consignor.Where(l => l.MemberGid == Gid).Delete(); return(Helper.Redirect("失败", "history.go(-1);", "服务器请求超时")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "验证码已过期,请重新获取")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "请先获取验证码")); } } else { return(Helper.Redirect("失败", "history.go(-1);", "必须是11位的手机号,密码最少需要6位")); } } } }
/// <summary> /// 项目跳转 /// </summary> public new ActionResult Url() { string url = LCookie.Project() == 1 ? "Tea" : "Index"; return(new RedirectResult("/Home/" + url)); }
/// <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")); } } }