コード例 #1
0
 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()
         })));
     }
 }
コード例 #2
0
        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()
                })));
            }
        }
コード例 #3
0
 /// <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());
 }
コード例 #4
0
        /// <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());
            }
        }
コード例 #5
0
        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()
                })));
            }
        }
コード例 #6
0
 /// <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);", "图片上传失败"));
             }
         }
     }
 }
コード例 #7
0
        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 ? "正在审核中" : "已申请发布过了")));
                            }
                        }
                    }
                }
            }
        }
コード例 #8
0
 /// <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());
 }
コード例 #9
0
        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]
                })));
            }
        }
コード例 #10
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()
                })));
            }
        }
コード例 #11
0
ファイル: api.ashx.cs プロジェクト: ljsheng1984/baijia
 /// <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, "你手慢了,订单已失效"));
         }
     }
 }
コード例 #12
0
 /// <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);
         }
     }
 }
コード例 #13
0
        /// <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);", "积分不足!"));
                }
            }
        }
コード例 #14
0
 /// <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", "请先登录!"));
         }
     }
 }
コード例 #15
0
 /// <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位!"));
         }
     }
 }
コード例 #16
0
        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);", "提交订单失败"));
            }
        }
コード例 #17
0
        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);", "购物车发生变化!"));
                }
            }
        }
コード例 #18
0
 /// <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位"));
             }
         }
     }
 }
コード例 #19
0
        /// <summary>
        /// 项目跳转
        /// </summary>
        public new ActionResult Url()
        {
            string url = LCookie.Project() == 1 ? "Tea" : "Index";

            return(new RedirectResult("/Home/" + url));
        }
コード例 #20
0
ファイル: api.ashx.cs プロジェクト: ljsheng1984/baijia
 /// <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"));
         }
     }
 }