Пример #1
0
 /// <summary>
 /// 注册新用户
 /// </summary>
 /// <param name="user">用户</param>
 /// <param name="phoneCode">手机校验码</param>
 /// <returns></returns>
 public DAO.MemberBase Reg(DAO.MemberBase user)
 {
     DAO.MemberBase m = db.MemberBase.Add(user);
     if (db.SaveChanges() > 0)
     {
         return(m);
     }
     else
     {
         return(null);
     }
 }
Пример #2
0
 /// <summary>
 /// 验证邮箱
 /// </summary>
 /// <param name="Email"></param>
 /// <returns></returns>
 public bool VerEmail(string Email)
 {
     DAO.MemberBase user = db.Database.SqlQuery <DAO.MemberBase>(string.Format("select * from memberbase where Email='{0}' ", Email)).FirstOrDefault();
     if (user == null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #3
0
 /// <summary>
 /// 验证身份证
 /// </summary>
 /// <param name="Ucode"></param>
 /// <returns></returns>
 public bool VerUcode(string Ucode)
 {
     DAO.MemberBase user = db.Database.SqlQuery <DAO.MemberBase>(string.Format("select Mobile from memberbase where Ucode='{0}' ", Ucode)).FirstOrDefault();
     if (user == null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #4
0
 /// <summary>
 /// 验证登录名
 /// </summary>
 /// <param name="loginName"></param>
 /// <returns></returns>
 public bool VerLoginName(string loginName)
 {
     DAO.MemberBase user = db.Database.SqlQuery <DAO.MemberBase>(string.Format("select * from memberbase where loginname='{0}'", loginName)).FirstOrDefault();
     if (user == null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #5
0
 /// <summary>
 /// 检验密码是否正确
 /// </summary>
 /// <param name="loginName"></param>
 /// <param name="passWord"></param>
 /// <returns></returns>
 public bool ValidataPassWord(int uid, string passWord)
 {
     passWord = Md5Util.PwdMd5(passWord);
     DAO.MemberBase mb = db.MemberBase.Where(m => (m.ID == uid) && m.PassWord == passWord && m.State == 1).FirstOrDefault();
     if (mb == null)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Пример #6
0
 public ActionResult Login(LoginModel m)
 {
     //VerCode
     if (ModelState.IsValid)
     {
         MemberBLL      bll   = new MemberBLL();
         DAO.MemberBase model = bll.Login(m.loginName, m.passWord);
         if (model != null)
         {
             Session["memberID"] = model.ID;
             Session["mobile"]   = model.Mobile;
             Session.Timeout     = 20;
             if (Session["ControllerUrl"] != null && Session["ActionUrl"] != null)
             {
                 string action = Session["ActionUrl"].ToString();
                 string con    = Session["ControllerUrl"].ToString();
                 Dictionary <string, object> objs;
                 if (Session[con + action] != null)
                 {
                     objs = (Dictionary <string, object>)Session[con + action];
                     StringBuilder qs = new StringBuilder("/" + con + "/" + action + "?");
                     foreach (var item in objs)
                     {
                         qs.Append(item.Key + "=" + item.Value + "&&");
                     }
                     return(Redirect(qs.ToString()));
                 }
                 else
                 {
                     return(RedirectToAction(action, con));
                 }
                 //Session["ControllerUrl"] = null;
                 //Session["ActionUrl"] = null;
             }
             else
             {
                 return(RedirectToAction("MyOrder"));
             }
         }
         else
         {
             ViewBag.loginFail = "用户名或密码错误!";
             return(View(m));
         }
     }
     else
     {
         return(View(m));
     }
 }
Пример #7
0
        public bool GiveExp(DAO.MemberBase mb, decimal orderPrice, string orderNumber)
        {
            DAO.ExpRecord extModel = new DAO.ExpRecord();
            extModel.Uid        = mb.ID;
            extModel.Source     = "订单";
            extModel.OrderNum   = orderNumber;
            extModel.OrderPrice = orderPrice;
            extModel.Datetime   = DateTime.Now;
            extModel.Status     = 0;
            //判断用户注册类型 计算积分
            if (mb.UpUser == -1)
            {
                //独立注册
                decimal JF = Math.Floor(orderPrice * decimal.Parse(ConfigurationApp.XFJFXS));
                extModel.Exp = Convert.ToInt32(decimal.Parse(ConfigurationApp.SM) * JF);
                if (extModel.Exp > 0)
                {
                    db.ExpRecord.Add(extModel);
                }
            }
            else
            {
                //被推荐注册的
                decimal JF = Math.Floor(orderPrice * decimal.Parse(ConfigurationApp.XFJFXS));
                extModel.Exp = Convert.ToInt32(decimal.Parse(ConfigurationApp.CM) * JF);
                if (extModel.Exp > 0)
                {
                    db.ExpRecord.Add(extModel);
                }
                //给上级积分
                extModel.Uid      = mb.UpUser;
                extModel.Source   = "推广订单";
                extModel.LowerUid = mb.ID;
                extModel.Exp      = Convert.ToInt32(Math.Floor(orderPrice / 100));//每100得到1分
                if (extModel.Exp > 0)
                {
                    db.ExpRecord.Add(extModel);
                }
            }
            int r = db.SaveChanges();

            if (r > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #8
0
        public DAO.MemberBase UpdateUser(DAO.MemberBase user)
        {
            db.Entry(user).State = System.Data.EntityState.Modified;
            int result = db.SaveChanges();

            if (db.SaveChanges() > 0)
            {
                return(user);
            }
            else
            {
                return(null);
            }
        }
Пример #9
0
        public ActionResult Reg(string phone, string phonecode, string fcode)
        {
            //RegMsg RegUserModel model

            MemberBLL bll = new MemberBLL();

            if (!bll.VerPhone(phone))
            {
                return(Json(new { r = false, msg = "手机号已经被注册!" }));
            }
            if (bll.VerRegCode(phone, phonecode))    //验证手机号与手机验证码
            {
                FriendCodeBLL fbll = new FriendCodeBLL();

                DAO.MemberLevel levelModel = new DAO.MemberLevel();
                DAO.MemberBase  m          = new DAO.MemberBase();
                m.LoginName = phone;
                m.PassWord  = Md5Util.PwdMd5(phone.Substring(5));
                m.Mobile    = phone;
                //m.Email = "";
                m.State = 1;
                int upUser = fbll.GetUpUser(fcode);
                m.UpUser   = upUser;  //上级用户
                m.Levels   = 0;
                m.Integral = 0;
                m.Source   = "self";
                m.RegDate  = DateTime.Now;
                DAO.MemberBase u = bll.Reg(m);     //注册
                Session["memberID"] = u.ID;
                VoucherBus vbll = new VoucherBus();
                vbll.RegGiveAVoucher(u.ID);              //给一张注册优惠券
                levelModel = bll.GetLevel(u.ID, upUser); //注册初始化级别
                u.Levels   = levelModel.LevelId;
                u.Integral = levelModel.MinIntegral;
                DAO.MemberBase allu = bll.UpdateUser(u);
                if (allu != null)
                {
                    //给上级积分
                    bll.GiveUpUserInt(allu.ID, upUser);
                }

                return(Json(new { r = true, msg = "注册成功,初始密码为您手机号后四位!" }));
            }
            else
            {
                return(Json(new { r = false, msg = "手机验证码错误" }));
            }
        }
Пример #10
0
        public ActionResult RegMember(RegUserModel model)
        {
            if (ModelState.IsValid)
            {
                MemberBLL bll = new MemberBLL();
                if (bll.VerRegCode(model.PhoneNumber, model.PhoneCode))
                {
                    FriendCodeBLL fbll = new FriendCodeBLL();

                    DAO.MemberLevel levelModel = new DAO.MemberLevel();
                    DAO.MemberBase  m          = new DAO.MemberBase();
                    m.LoginName = model.loginName;
                    m.PassWord  = Md5Util.PwdMd5(model.passWord);
                    m.Mobile    = model.PhoneNumber;
                    m.Email     = model.eMail;
                    m.State     = 1;
                    int upUser = fbll.GetUpUser(model.FriendCode);
                    m.UpUser   = upUser;//上级用户
                    m.Levels   = 0;
                    m.Integral = 0;
                    m.Source   = "self";
                    m.RegDate  = DateTime.Now;
                    DAO.MemberBase u = bll.Reg(m);                    //注册
                    Session["memberID"] = u.ID;
                    levelModel          = bll.GetLevel(u.ID, upUser); //注册初始化级别
                    VoucherBus vbll = new VoucherBus();
                    vbll.RegGiveAVoucher(u.ID);                       //给一张注册优惠券
                    u.Levels   = levelModel.LevelId;
                    u.Integral = levelModel.MinIntegral;
                    DAO.MemberBase allu = bll.UpdateUser(u);
                    if (allu != null)
                    {
                        //给上级积分
                        bll.GiveUpUserInt(allu.ID, upUser);
                    }
                    return(RedirectToAction("UserHome"));
                }
                else
                {
                    ViewBag.phoneCodeValid = "手机注册码错误";
                    return(View("RegView", model));
                }
            }
            else
            {
                return(View("RegView", model));
            }
        }
Пример #11
0
 /// <summary>
 /// 邀请码验证
 /// </summary>
 /// <param name="FriendCode"></param>
 /// <returns></returns>
 public static ValidationResult FriendCodeValid(string FriendCode)
 {
     if (!string.IsNullOrEmpty(FriendCode))
     {
         MemberBLL      mbll = new MemberBLL();
         DAO.MemberBase mb   = mbll.GetUserByPhone(FriendCode);
         if (mb != null)
         {
             return(ValidationResult.Success);
         }
         else
         {
             return(new ValidationResult(ValidateMsg.FriendCodeValid));
         }
     }
     return(ValidationResult.Success);
 }
Пример #12
0
 /// <summary>
 /// code所属
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public int GetUpUser(string code)
 {
     if (string.IsNullOrEmpty(code))
     {
         return(-1);
     }
     else
     {
         MemberBLL      mbll = new MemberBLL();
         DAO.MemberBase mb   = mbll.GetUserByPhone(code);
         if (mb != null)
         {
             return(mb.ID);
         }
         else
         {
             return(-1);
         }
     }
 }
Пример #13
0
        /// <summary>
        /// 注册信息验证
        /// </summary>
        /// <param name="user"></param>
        /// <param name="phoneCode"></param>
        /// <returns></returns>
        public ReturnMsg VerUserInfo(DAO.MemberBase user, string phoneCode)
        {
            ReturnMsg msg = new ReturnMsg();

            if (!VerLoginName(user.LoginName))
            {
                msg.Status = false;
                msg.Msg    = "登录名已存在";
                return(msg);
            }
            if (!VerPhone(user.Mobile))
            {
                msg.Status = false;
                msg.Msg    = "手机号已注册";
                return(msg);
            }
            //if (!VerUcode(user.Ucode))
            //{
            //    msg.Status = false;
            //    msg.Msg = "身份证已注册";
            //    return msg;
            //}
            if (!VerEmail(user.Email))
            {
                msg.Status = false;
                msg.Msg    = "邮箱已注册";
                return(msg);
            }
            //管理员添加的用户不用验证手机验证码
            if (user.Source != "admin")
            {
                if (!VerRegCode(user.Mobile, phoneCode))
                {
                    msg.Status = false;
                    msg.Msg    = "手机验证码错误已存在";
                    return(msg);
                }
            }
            msg.Status = true;
            return(msg);
        }
Пример #14
0
        /// <summary>
        /// 提交订单
        /// </summary>
        /// <param name="shopList">商品列表</param>
        /// <param name="sendinfo">配送信息</param>
        /// <param name="uid">当前用户</param>
        /// <param name="ratio">当前用户折扣</param>
        /// <param name="orderPrice">订单金额</param>
        /// <param name="shopListTotle">商品列表总金额</param>
        /// <returns>订单号</returns>
        public string AddOrder(List <Shop> shopList, SendInfo sendinfo, string uid, decimal ratio, decimal orderPrice, decimal shopListTotle)
        {
            PartExtendBll pbll   = new PartExtendBll();
            ProductBll    proBll = new ProductBll();
            MemberBLL     memBll = new MemberBLL();

            DAO.MemberBase user  = memBll.GetUserByID(uid);
            DAO.Order      order = new DAO.Order();
            order.OrderId = CommonUtils.OrderUtil.NewOrderId;
            if (order != null)
            {
                order.Uid       = user.ID;
                order.UserName  = user.LoginName;
                order.UserPhone = user.Mobile;
            }
            order.OrderSource = "0";
            order.OrderTime   = DateTime.Now;
            order.OrderStatus = "未处理";//订单初始状态
            order.Consignee   = sendinfo.Name;
            order.Address     = sendinfo.Address;
            order.CellPhone   = sendinfo.Phone;
            order.PayStatus   = "未支付";
            order.Payment     = "";
            order.Remarks     = "";
            order.Ratio       = ratio;
            decimal disAmout = shopList.Where(h => h.Type == "-1").Sum(h => (decimal.Parse(h.Price)));

            order.DiscountAmount  = (1 - ratio) * disAmout;
            order.ShippingCost    = 0;
            order.TotalPrice      = orderPrice;
            order.SearchTag       = "";
            order.OperatorRemarks = "";
            order.OrderType       = "0";
            order.OrderFrom       = 0;//网站
            order.Prov            = sendinfo.Prov;
            order.City            = sendinfo.City;
            order.Area            = sendinfo.Area;

            db.Order.Add(order);
            DAO.Addship addShip = new DAO.Addship();
            addShip = isAddressByUid(uid);

            if (addShip != null)
            {
                upAddShip(sendinfo.Name, uid, sendinfo.City, sendinfo.Prov, sendinfo.Area, sendinfo.Address, sendinfo.Phone);
            }
            else
            {
                DAO.Addship addShipS = new DAO.Addship();
                addShipS.name     = sendinfo.Name;
                addShipS.province = sendinfo.Prov;
                addShipS.scity    = sendinfo.City;
                addShipS.region   = sendinfo.Area;
                addShipS.address  = sendinfo.Address;
                addShipS.UID      = Convert.ToInt32(uid);
                addShipS.phone    = sendinfo.Phone;
                db.Addship.Add(addShipS);
                db.SaveChanges();
            }


            //db.SaveChanges();
            foreach (Shop item in shopList)
            {
                CarProductDetail m;
                int i   = -1;
                int pid = -1;
                if (int.TryParse(item.ID, out pid))
                {
                    if (!string.IsNullOrEmpty(item.Attrs) && int.TryParse(item.Attrs, out i))
                    {
                        m = proBll.GetProDetail(pid, i, item.Type);
                    }
                    else
                    {
                        m = proBll.GetProDetail(pid, -1, item.Type);
                    }
                    if (m != null)
                    {
                        m.Qty      = int.Parse(item.Qty);
                        m.lastAttr = item.Attrs;
                        DAO.OrderProList pro = new DAO.OrderProList();
                        pro.OrderId     = order.OrderId;
                        pro.ProductID   = m.proDetail.ID;
                        pro.ProductName = m.proDetail.PartName;
                        pro.SupplyNo    = m.proDetail.PartSuppyNo;
                        pro.Num         = m.Qty;
                        pro.Price       = m.proDetail.Price;
                        pro.InputTime   = DateTime.Now;
                        pro.PType       = m.proDetail.CategoryID;
                        pro.AttrID      = i;
                        pro.IsFlag      = int.Parse(item.Type);  //活动号
                        pro.activeName  = m.activeM == null ? "" : m.activeM.Name;
                        StringBuilder sb = new StringBuilder("");
                        foreach (var ext in m.partExt)
                        {
                            sb.Append("|" + ext.AttrName + ":" + ext.AttrValue + "|");
                        }
                        pro.AttrDecribe = sb.ToString();
                        db.OrderProList.Add(pro);
                        opActiveStock(pro.IsFlag, pro.ProductID, pro.AttrID, pro.Num);

                        OrderBuss obll   = new OrderBuss();
                        int       number = Convert.ToInt32(obll.getPartStock(m.proDetail.ID).StockNUM) - 1;

                        obll.upPartStock(m.proDetail.ID, number);

                        //db.SaveChanges();
                    }
                }
            }
            int addResult = db.SaveChanges();//db.SaveChanges();

            if (addResult > 0)
            {
                return(order.OrderId.ToString());
            }
            else
            {
                return(null);
            }
        }
Пример #15
0
        public ActionResult AddOrder(string orderInfo)
        {
            Dictionary <string, object> mp = new Dictionary <string, object>();
            string UID = Session["memberID"].ToString();
            JavaScriptSerializer jss   = new JavaScriptSerializer();
            OrderInfo            oInfo = jss.Deserialize <OrderInfo>(orderInfo);

            if (oInfo != null && oInfo.shopList.Count > 0)
            {
                List <OrderModule.model.Shop> slist = new List <OrderModule.model.Shop>();
                foreach (var item in oInfo.shopList)
                {
                    OrderModule.model.Shop shop = new OrderModule.model.Shop();
                    shop.ID    = item.ID;
                    shop.Price = item.Price;
                    shop.Qty   = item.Qty;
                    shop.Attrs = item.Attrs;
                    shop.Type  = item.Type;
                    slist.Add(shop);
                    //购物车中活动产品的活动是否过期
                    if (item.Type != "-1")
                    {
                        string msg = "";
                        ActiveModule.ActiveBus abll = new ActiveModule.ActiveBus();
                        bool result = abll.ValiActivePro(int.Parse(item.Type), int.Parse(item.ID), item.Attrs, int.Parse(item.Qty), ref msg);
                        if (!result)
                        {
                            mp.Add("status", "error");
                            mp.Add("msg", msg);
                            return(Json(mp, JsonRequestBehavior.AllowGet));
                        }
                    }
                    //------
                }
                OrderBuss obll = new OrderBuss();
                //产品验证 活动产品=》活动是否过期
                //价格验证
                //增加积分1.自己 2.上级
                //给上级返利
                MemberBLL       mbmBll        = new MemberBLL();
                DAO.MemberBase  mb            = mbmBll.GetUserByID(UID);
                MemberLevelBLL  memLeveBll    = new MemberLevelBLL();
                DAO.MemberLevel memLevel      = memLeveBll.GetLeveByUid(UID);
                decimal         orderPrice    = decimal.Parse(oInfo.shopTotlePrice);
                decimal         shopListTotle = 0;
                bool            vr            = obll.OrderAmountCheck(slist, orderPrice, memLevel.Ratio, out shopListTotle);
                if (vr)
                {
                    if (ValidateSendInfo(oInfo.sendInfo))
                    {
                        OrderModule.model.SendInfo sendinfo = new OrderModule.model.SendInfo();
                        sendinfo.Address = oInfo.sendInfo.Address;
                        sendinfo.Area    = oInfo.sendInfo.Area;
                        sendinfo.City    = oInfo.sendInfo.City;
                        sendinfo.Name    = oInfo.sendInfo.Name;
                        sendinfo.Phone   = oInfo.sendInfo.Phone;
                        sendinfo.Prov    = oInfo.sendInfo.Prov;
                        //价格验证通过增加订单
                        string OrderNumber = obll.AddOrder(slist, sendinfo, UID, memLevel.Ratio, orderPrice, shopListTotle);

                        if (OrderNumber != null)
                        {
                            //订单增加成功
                            mp.Add("status", "ok");
                            mp.Add("order", OrderNumber);
                            //给当前用户增加积分,给上级增加积分,给上级返利
                            //反积分
                            ExpRecordBLL expBll = new ExpRecordBLL();
                            expBll.GiveExp(mb, orderPrice, OrderNumber);
                            //返利如果有上级
                            if (mb.UpUser != -1 && mb.UpUser != 0)
                            {
                                RebateRecordBLL rrBll = new RebateRecordBLL();
                                rrBll.GiveParentRebate(UID, mb.LoginName, mb.UpUser, OrderNumber, orderPrice);
                            }
                            return(Json(mp, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            //订单增加异常
                            mp.Add("status", "catch");
                            return(Json(mp, JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        //价格验证失败
                        mp.Add("status", "error");
                        mp.Add("msg", "配送信息验证失败!");
                        return(Json(mp, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    //价格验证失败
                    mp.Add("status", "error");
                    mp.Add("msg", "价格验证失败!");
                    return(Json(mp, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                //价格验证失败
                mp.Add("status", "error");
                mp.Add("msg", "没有产品!");
                return(Json(mp, JsonRequestBehavior.AllowGet));
            }
        }