Ejemplo n.º 1
0
        public ActionResult Index()
        {
            SignInDetailModel model = new SignInDetailModel();

            model.isCurSign = false;
            int signday = SignIn();

            if (signday > 0)
            {
                model.isCurSign = true;
            }
            model.SignConfig = signConfig;
            var signinfo = _iMemberSignInService.GetSignInInfo(CurrentUser.Id);

            model.CurSignDurationDay = signinfo.DurationDay;
            model.CurSignDaySum      = signinfo.SignDaySum;
            var member = _iMemberService.GetMember(CurrentUser.Id);

            model.UserInfo = member;
            var userInte = MemberIntegralApplication.GetMemberIntegral(member.Id);

            if (userInte != null)
            {
                model.MemberAvailableIntegrals = userInte.AvailableIntegrals;
            }
            return(View("Detail", model));
        }
        public ActionResult Coupon(int page = 1)
        {
            int pagesize = 12;
            ObsoletePageModel <CouponInfo> coupons = _iCouponService.GetIntegralCoupons(page, pagesize);
            List <CouponInfo> datalist             = coupons.Models.ToList();

            #region 分页控制
            PagingInfo info = new PagingInfo
            {
                CurrentPage  = page,
                ItemsPerPage = pagesize,
                TotalItems   = coupons.Total
            };
            ViewBag.pageInfo = info;

            #endregion

            int MemberAvailableIntegrals = 0;
            var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
            if (userInte != null)
            {
                MemberAvailableIntegrals = userInte.AvailableIntegrals;
            }
            ViewBag.MemberAvailableIntegrals = MemberAvailableIntegrals;
            return(View(datalist));
        }
Ejemplo n.º 3
0
        public ActionResult Coupon(int page = 1)
        {
            if (CurrentUser == null)
            {
                string url       = Request.GetDisplayUrl();
                string returnurl = System.Web.HttpUtility.HtmlEncode(url);
                return(RedirectToAction("", "Login", new { area = "Web", returnUrl = returnurl }));
            }
            int pagesize = 12;
            QueryPageModel <Entities.CouponInfo> coupons  = _iCouponService.GetIntegralCoupons(page, pagesize);
            List <Entities.CouponInfo>           datalist = coupons.Models.ToList();

            #region 分页控制
            PagingInfo info = new PagingInfo
            {
                CurrentPage  = page,
                ItemsPerPage = pagesize,
                TotalItems   = coupons.Total
            };
            ViewBag.pageInfo = info;

            #endregion

            int MemberAvailableIntegrals = 0;
            var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
            if (userInte != null)
            {
                MemberAvailableIntegrals = userInte.AvailableIntegrals;
            }
            ViewBag.MemberAvailableIntegrals = MemberAvailableIntegrals;
            ViewBag.Keyword = SiteSettings.Keyword;
            return(View(datalist));
        }
Ejemplo n.º 4
0
        public object GetUserInfo()
        {
            CheckUserLogin();
            if (CurrentUser != null)
            {
                UserMemberInfo memberInfo = CurrentUser;
                var            userInte   = MemberIntegralApplication.GetMemberIntegral(memberInfo.Id);
                var            userGrade  = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals);

                if (!string.IsNullOrEmpty(memberInfo.Photo))
                {
                    if (memberInfo.Photo.StartsWith("http"))
                    {
                        memberInfo.Photo = memberInfo.Photo.Replace("http://wzp.duoyunfenxiao.com", "");
                    }
                }

                var data = new
                {
                    Id        = memberInfo.Id,
                    Photo     = memberInfo.Photo,
                    Nick      = memberInfo.Nick,
                    GradeName = userGrade.GradeName,
                    Sex       = memberInfo.Sex,
                    CellPhone = memberInfo.CellPhone,
                    Hobby     = memberInfo.Hobby
                };

                return(Json(new { Success = true, Data = data }));
            }
            else
            {
                return(Json(new { Success = false, Message = "未登录" }));
            }
        }
Ejemplo n.º 5
0
        public JsonResult GetCouponList(int page = 1, int pagesize = 10)
        {
            QueryPageModel <CouponInfo> coupons = _iCouponService.GetIntegralCoupons(page, pagesize);

            Mapper.CreateMap <CouponInfo, CouponGetIntegralCouponModel>();
            QueryPageModel <CouponGetIntegralCouponModel> result = new QueryPageModel <CouponGetIntegralCouponModel>();

            result.Total = coupons.Total;
            if (result.Total > 0)
            {
                var datalist = coupons.Models.ToList();
                var objlist  = new List <CouponGetIntegralCouponModel>();
                foreach (var item in datalist)
                {
                    var tmp = Mapper.Map <CouponGetIntegralCouponModel>(item);
                    tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(item.IntegralCover);
                    var vshopobj = _iVShopService.GetVShopByShopId(tmp.ShopId);
                    if (vshopobj != null)
                    {
                        tmp.VShopId = vshopobj.Id;
                        //优惠价封面为空时,取微店Logo,微店Logo为空时,取商城微信Logo
                        if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover))
                        {
                            if (!string.IsNullOrWhiteSpace(vshopobj.WXLogo))
                            {
                                tmp.ShowIntegralCover = Core.HimallIO.GetRomoteImagePath(vshopobj.WXLogo);
                            }
                        }
                    }
                    if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover))
                    {
                        var siteset = SiteSettingApplication.SiteSettings;
                        tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(siteset.WXLogo);
                    }
                    objlist.Add(tmp);
                }
                result.Models = objlist.ToList();
            }

            int MemberAvailableIntegrals = 0;

            //用户积分与等级
            if (CurrentUser != null)
            {
                //登录后处理会员积分
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                MemberAvailableIntegrals = userInte.AvailableIntegrals;
            }

            var _result = new
            {
                success = true,
                MemberAvailableIntegrals = MemberAvailableIntegrals,
                data = result.Models
            };

            return(Json(_result, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 6
0
        public JsonResult ReceiveCoupons(long couponId, long shopId)
        {
            var service = _iCouponService;
            var model   = service.GetCouponInfo(shopId, couponId);

            if (CurrentUser == null)
            {
                return(Json(new Result {
                    success = false, msg = "请登录后领取", status = -1
                }));
            }
            if (model.EndTime < DateTime.Now.Date)
            {
                return(Json(new Result {
                    success = false, msg = "此优惠券已过期", status = -2
                }));
            }
            var max = service.GetUserReceiveCoupon(couponId, CurrentUser.Id);

            if (model.PerMax != 0 && max >= model.PerMax)
            {
                return(Json(new Result {
                    success = false, msg = "每人最多领取" + model.PerMax + "张该类型的优惠券", status = -3
                }));
            }
            var record = service.GetRecordCountByCoupon(couponId);

            if (record >= model.Num)
            {
                return(Json(new Result {
                    success = false, msg = "优惠券已领完", status = -3
                }));
            }

            if (model.ReceiveType == Entities.CouponInfo.CouponReceiveType.IntegralExchange)
            {
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                if (userInte.AvailableIntegrals < model.NeedIntegral)
                {
                    return(Json(new Result {
                        success = false, msg = "积分不足", status = -4
                    }));
                }
            }
            Entities.CouponRecordInfo info = new Entities.CouponRecordInfo();
            info.UserId   = CurrentUser.Id;
            info.UserName = CurrentUser.UserName;
            info.ShopId   = shopId;
            info.CouponId = couponId;
            service.AddCouponRecord(info);
            return(Json(new Result {
                success = true, msg = "领取成功", status = 1
            }));
        }
Ejemplo n.º 7
0
        public JsonResult Coupon()
        {
            int  memberIntegral = 0; List <Coupon> baseCoupons = new List <Coupon>();
            long shopId = CurrentSellerManager != null ? CurrentSellerManager.ShopId : 0;

            if (CurrentUser != null)
            {
                memberIntegral = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id).AvailableIntegrals;

                //优惠卷
                var coupons = CouponApplication.GetAllUserCoupon(CurrentUser.Id).ToList();
                coupons = coupons == null ? new List <UserCouponInfo>() : coupons;
                if (coupons != null)
                {
                    baseCoupons.AddRange(coupons.Select(p => new Coupon()
                    {
                        BasePrice    = p.Price,
                        BaseShopId   = p.ShopId,
                        BaseShopName = p.ShopName,
                        BaseType     = p.BaseType,
                        OrderAmount  = p.OrderAmount
                    }));
                }

                //红包
                var shopBonus = ShopBonusApplication.GetCanUseDetailByUserId(CurrentUser.Id);
                shopBonus = shopBonus == null ? new List <ShopBonusReceiveInfo>() : shopBonus;
                if (shopBonus != null)
                {
                    baseCoupons.AddRange(shopBonus.Select(p => {
                        var grant = _iShopBonusService.GetGrant(p.BonusGrantId);
                        var bonus = _iShopBonusService.GetShopBonus(grant.ShopBonusId);
                        var shop  = ShopApplication.GetShop(bonus.ShopId);

                        return(new Coupon()
                        {
                            BasePrice = p.Price,
                            BaseShopId = shop.Id,
                            BaseShopName = shop.ShopName,
                            BaseType = p.BaseType,
                            UseState = bonus.UseState,
                            UsrStatePrice = bonus.UsrStatePrice
                        });
                    }));
                }
            }
            return(Json(new
            {
                memberIntegral = memberIntegral,
                baseCoupons = baseCoupons,
                shopId = shopId
            }, true));
        }
Ejemplo n.º 8
0
        //领取优惠券
        public object PostAcceptCoupon(CouponAcceptCouponModel value)
        {
            CheckUserLogin();
            long vshopId       = value.vshopId;
            long couponId      = value.couponId;
            var  couponService = ServiceProvider.Instance <ICouponService> .Create;
            var  couponInfo    = couponService.GetCouponInfo(couponId);

            if (couponInfo.EndTime < DateTime.Now)
            {//已经失效
                return(Json(new { Status = 2, Success = "false", ErrorMsg = "优惠券已经过期." }));
            }
            CouponRecordQuery crQuery = new CouponRecordQuery();

            crQuery.CouponId = couponId;
            crQuery.UserId   = CurrentUser.Id;
            ObsoletePageModel <CouponRecordInfo> pageModel = couponService.GetCouponRecordList(crQuery);

            if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax)
            {//达到个人领取最大张数
                return(Json(new { Status = 3, Success = "false", ErrorMsg = "达到个人领取最大张数,不能再领取." }));
            }
            crQuery = new CouponRecordQuery()
            {
                CouponId = couponId
            };
            pageModel = couponService.GetCouponRecordList(crQuery);
            if (pageModel.Total >= couponInfo.Num)
            {//达到领取最大张数
                return(Json(new { Status = 4, Success = "false", ErrorMsg = "此优惠券已经领完了." }));
            }
            if (couponInfo.ReceiveType == Himall.Model.CouponInfo.CouponReceiveType.IntegralExchange)
            {
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId);
                if (userInte.AvailableIntegrals < couponInfo.NeedIntegral)
                {
                    //积分不足
                    return(Json(new { Status = 5, Success = "false", ErrorMsg = "积分不足 " + couponInfo.NeedIntegral.ToString() }));
                }
            }
            CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
            {
                CouponId = couponId,
                UserId   = CurrentUser.Id,
                UserName = CurrentUser.UserName,
                ShopId   = couponInfo.ShopId
            };

            couponService.AddCouponRecord(couponRecordInfo);
            return(Json(new { Status = 1, Success = "true" }));//执行成功
        }
Ejemplo n.º 9
0
        public JsonResult AcceptCoupon(long vshopid, long couponid)
        {
            var couponService = _iCouponService;
            var couponInfo    = couponService.GetCouponInfo(couponid);

            if (couponInfo.EndTime < DateTime.Now)
            {//已经失效
                return(ErrorResult("优惠券已经过期.", 2, true));
            }
            CouponRecordQuery crQuery = new CouponRecordQuery();

            crQuery.CouponId = couponid;
            crQuery.UserId   = CurrentUser.Id;
            var pageModel = couponService.GetCouponRecordList(crQuery);

            if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax)
            {//达到个人领取最大张数
                return(Json(new { code = 3, success = false, msg = "达到个人领取最大张数,不能再领取." }));
            }
            crQuery = new CouponRecordQuery()
            {
                CouponId = couponid
            };
            pageModel = couponService.GetCouponRecordList(crQuery);
            if (pageModel.Total >= couponInfo.Num)
            {//达到领取最大张数
                return(Json(new { code = 4, success = false, msg = "此优惠券已经领完了." }));
            }
            int MemberAvailableIntegrals = 0;

            if (couponInfo.ReceiveType == Entities.CouponInfo.CouponReceiveType.IntegralExchange)
            {
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                if (userInte.AvailableIntegrals < couponInfo.NeedIntegral)
                {
                    //积分不足
                    return(Json(new { code = 5, success = false, msg = "积分不足 " + couponInfo.NeedIntegral.ToString() }));
                }
                MemberAvailableIntegrals = userInte.AvailableIntegrals;
            }
            Entities.CouponRecordInfo couponRecordInfo = new Entities.CouponRecordInfo()
            {
                CouponId = couponid,
                UserId   = CurrentUser.Id,
                UserName = CurrentUser.UserName,
                ShopId   = couponInfo.ShopId
            };
            couponService.AddCouponRecord(couponRecordInfo);

            return(Json(new { code = 0, success = true, msg = "领取成功", crid = couponRecordInfo.Id, Integral_balance = MemberAvailableIntegrals }));//执行成功
        }
Ejemplo n.º 10
0
        public object GetCanBuy(long id, int count)
        {
            CheckUserLogin();
            var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
            //礼品信息
            var giftdata = GiftApplication.GetById(id);

            if (giftdata == null)
            {
                return(Json(ErrorResult <bool>("礼品不存在!", code: -2)));
            }
            if (giftdata.GetSalesStatus != Mall.Entities.GiftInfo.GiftSalesStatus.Normal)
            {
                return(Json(ErrorResult <bool>("礼品已失效!", code: -2)));
            }
            //库存判断
            if (count > giftdata.StockQuantity)
            {
                return(Json(ErrorResult <bool>("礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!", code: -3)));
            }
            //积分数
            if (giftdata.NeedIntegral < 1)
            {
                return(Json(ErrorResult <bool>("礼品关联等级信息有误或礼品积分数据有误!", code: -5)));
            }
            //限购数量
            if (giftdata.LimtQuantity > 0)
            {
                int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id);
                if (ownbuynumber + count > giftdata.LimtQuantity)
                {
                    return(Json(ErrorResult <bool>("超过礼品限兑数量!", code: -4)));
                }
            }
            if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
            {
                return(Json(ErrorResult <bool>("积分不足!", code: -6)));
            }
            //等级判定
            if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade))
            {
                return(Json(ErrorResult <bool>("用户等级不足!", code: -6)));
            }
            return(Json(new { success = true, msg = "可以购买!", code = 1 }));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 积分商城
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            IntegralMallPageModel result = new IntegralMallPageModel();

            //Logo
            ViewBag.Logo = SiteSettings.Logo;

            //优惠券数据
            result.CouponPageSize = 6;
            QueryPageModel <Entities.CouponInfo> coupons = _iCouponService.GetIntegralCoupons(1, result.CouponPageSize);

            result.CouponList    = coupons.Models.ToList();
            result.CouponTotal   = coupons.Total;
            result.CouponMaxPage = GetMaxPage(result.CouponTotal, result.CouponPageSize);

            //礼品数据
            result.GiftPageSize = 12;
            GiftQuery query = new GiftQuery();

            query.skey     = "";
            query.status   = GiftInfo.GiftSalesStatus.Normal;
            query.PageSize = result.GiftPageSize;
            query.PageNo   = 1;
            QueryPageModel <GiftModel> gifts = _iGiftService.GetGifts(query);

            result.GiftList    = gifts.Models.ToList();
            result.GiftTotal   = gifts.Total;
            result.GiftMaxPage = GetMaxPage(result.GiftTotal, result.GiftPageSize);

            if (CurrentUser != null)
            {
                //登录后处理会员积分
                var userInte  = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals);
                result.MemberAvailableIntegrals = userInte.AvailableIntegrals;
                result.MemberGradeName          = userGrade.GradeName;
            }
            ViewBag.Keyword = SiteSettings.Keyword;

            return(View(result));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 是否可领取优惠券
        /// </summary>
        /// <param name="vshopId"></param>
        /// <param name="couponId"></param>
        /// <returns></returns>
        private int Receive(long vshopId, long couponId)
        {
            if (CurrentUser != null && CurrentUser.Id > 0)//未登录不可领取
            {
                var couponService = ServiceProvider.Instance <ICouponService> .Create;
                var couponInfo    = couponService.GetCouponInfo(couponId);
                if (couponInfo.EndTime < DateTime.Now)
                {
                    return(2);                                  //已经失效
                }
                CouponRecordQuery crQuery = new CouponRecordQuery();
                crQuery.CouponId = couponId;
                crQuery.UserId   = CurrentUser.Id;
                QueryPageModel <CouponRecordInfo> pageModel = couponService.GetCouponRecordList(crQuery);
                if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax)
                {
                    return(3);                                                               //达到个人领取最大张数
                }
                crQuery = new CouponRecordQuery()
                {
                    CouponId = couponId
                };
                pageModel = couponService.GetCouponRecordList(crQuery);
                if (pageModel.Total >= couponInfo.Num)
                {
                    return(4);                                  //达到领取最大张数
                }
                if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange)
                {
                    var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId);
                    if (userInte.AvailableIntegrals < couponInfo.NeedIntegral)
                    {
                        return(5);                                                      //积分不足
                    }
                }

                return(1);//可正常领取
            }
            return(0);
        }
Ejemplo n.º 13
0
        private user_list_model UserMemberInfoMapDTO(Entities.MemberInfo data)
        {
            user_list_model result = null;

            if (data != null)
            {
                result = new user_list_model();
                var ui = MemberIntegralApplication.GetMemberIntegral(data.Id);
                if (ui == null)
                {
                    ui = new Himall.Entities.MemberIntegralInfo
                    {
                        MemberId           = data.Id,
                        AvailableIntegrals = 0,
                        HistoryIntegrals   = 0
                    };
                }
                result.uid          = (int)data.Id;
                result.user_name    = data.UserName;
                result.created      = data.CreateDate;
                result.real_name    = data.RealName;
                result.mobile       = data.CellPhone;
                result.email        = data.Email;
                result.avatar       = Himall.Core.HimallIO.GetRomoteImagePath(data.Photo);
                result.sex          = data.Sex.ToDescription();
                result.birthday     = data.BirthDay;
                result.state        = "";
                result.city         = "";
                result.district     = "";
                result.town         = "";
                result.address      = "";
                result.points       = ui.AvailableIntegrals;
                result.trade_count  = data.OrderNumber;
                result.trade_amount = data.NetAmount;
            }
            return(result);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 礼品详情
        /// </summary>
        /// <returns></returns>
        public ActionResult Detail(long id)
        {
            GiftDetailPageModel result = new Models.GiftDetailPageModel();
            var data = _iGiftService.GetById(id);

            if (data == null)
            {
                throw new HimallException("礼品信息无效!");
            }
            Mapper.CreateMap <GiftInfo, GiftModel>();
            result.GiftData = Mapper.Map <GiftModel>(data);

            int       hotnum = 10;
            GiftQuery query  = new GiftQuery();

            query.skey     = "";
            query.status   = GiftInfo.GiftSalesStatus.Normal;
            query.PageSize = hotnum;
            query.PageNo   = 1;
            query.Sort     = "SalesNumber";
            query.IsAsc    = false;
            QueryPageModel <GiftModel> hotgifts = _iGiftService.GetGifts(query);

            result.HotGifts = hotgifts.Models.ToList();

            #region 礼品是否可兑
            result.GiftCanBuy = true;
            //礼品信息
            if (result.GiftCanBuy)
            {
                if (result.GiftData.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
                {
                    result.GiftCanBuy   = false;
                    result.CanNotBuyDes = "礼品" + result.GiftData.ShowSalesStatus;
                    if (result.GiftData.GetSalesStatus == GiftInfo.GiftSalesStatus.HasExpired)
                    {
                        result.CanNotBuyDes = "活动已结束";//统一app名称而加
                    }
                }
            }

            if (result.GiftCanBuy)
            {
                //库存判断
                if (result.GiftData.StockQuantity < 1)
                {
                    result.GiftCanBuy   = false;
                    result.CanNotBuyDes = "已兑完";
                }
            }

            if (result.GiftCanBuy)
            {
                //积分数
                if (result.GiftData.NeedIntegral < 1)
                {
                    result.GiftCanBuy   = false;
                    result.CanNotBuyDes = "礼品信息错误";
                }
            }
            #endregion

            #region 用户信息判断

            if (result.GiftCanBuy && CurrentUser != null)
            {
                //限购数量
                if (result.GiftData.LimtQuantity > 0)
                {
                    int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                    if (ownbuynumber >= result.GiftData.LimtQuantity)
                    {
                        result.GiftCanBuy   = false;
                        result.CanNotBuyDes = "限兑数量已满";
                    }
                }
                if (result.GiftCanBuy)
                {
                    var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                    if (userInte.AvailableIntegrals < result.GiftData.NeedIntegral)
                    {
                        result.GiftCanBuy   = false;
                        result.CanNotBuyDes = "积分不足";
                    }
                }
            }
            #endregion

            ViewBag.Keyword = SiteSettings.Keyword;
            return(View(result));
        }
Ejemplo n.º 15
0
        public JsonResult OrderSubmit(long id, long regionId, int count)
        {
            Result result = new Result()
            {
                success = false, msg = "未知错误", status = 0
            };
            bool isdataok = true;

            if (count < 1)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "错误的兑换数量!";
                result.status  = -8;

                return(Json(result));
            }
            //Checkout
            List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>();

            #region 礼品信息判断
            //礼品信息
            GiftInfo giftdata = _iGiftService.GetById(id);
            if (giftdata == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品不存在!";
                result.status  = -2;

                return(Json(result));
            }

            if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品已失效!";
                result.status  = -2;

                return(Json(result));
            }

            //库存判断
            if (count > giftdata.StockQuantity)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!";
                result.status  = -3;

                return(Json(result));
            }

            //积分数
            if (giftdata.NeedIntegral < 1)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品关联等级信息有误或礼品积分数据有误!";
                result.status  = -5;

                return(Json(result));
            }
            #endregion

            #region 用户信息判断
            //限购数量
            if (giftdata.LimtQuantity > 0)
            {
                int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                if (ownbuynumber + count > giftdata.LimtQuantity)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "超过礼品限兑数量!";
                    result.status  = -4;

                    return(Json(result));
                }
            }
            var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
            if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "积分不足!";
                result.status  = -6;

                return(Json(result));
            }
            if (giftdata.NeedGrade > 0)
            {
                //等级判定
                if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade))
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "用户等级不足!";
                    result.status  = -6;
                    return(Json(result));
                }
            }
            #endregion

            Entities.ShippingAddressInfo shipdata = GetShippingAddress(regionId);
            if (shipdata == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "错误的收货人地址信息!";
                result.status  = -6;

                return(Json(result));
            }

            if (isdataok)
            {
                gorditemlist.Add(new GiftOrderItemModel {
                    GiftId = giftdata.Id, Counts = count
                });
                GiftOrderModel createorderinfo = new GiftOrderModel();
                createorderinfo.Gifts          = gorditemlist;
                createorderinfo.CurrentUser    = CurrentUser;
                createorderinfo.ReceiveAddress = shipdata;
                Himall.Entities.GiftOrderInfo orderdata = _iGiftsOrderService.CreateOrder(createorderinfo);
                result.success = true;
                result.msg     = orderdata.Id.ToString();
                result.status  = 1;
            }

            return(Json(result));
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 首页
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            //轮播图
            GiftsIndexModel result  = new GiftsIndexModel();
            var             slidads = SlideApplication.GetSlidAds(0, Entities.SlideAdInfo.SlideAdType.AppGifts).ToList();

            foreach (var item in slidads)
            {
                item.ImageUrl = HimallIO.GetRomoteImagePath(item.ImageUrl);
            }
            result.SlideAds = slidads;

            //大转盘刮刮卡
            var robj = _iGiftService.GetAdInfo(IntegralMallAdInfo.AdActivityType.Roulette, IntegralMallAdInfo.AdShowPlatform.APP);

            if (robj != null)
            {
                robj.LinkUrl = "/m-wap/BigWheel/index/" + robj.ActivityId;
                result.WeiActives.Add(robj);
            }
            var cobj = _iGiftService.GetAdInfo(IntegralMallAdInfo.AdActivityType.ScratchCard, IntegralMallAdInfo.AdShowPlatform.APP);

            if (cobj != null)
            {
                cobj.LinkUrl = "/m-wap/ScratchCard/index/" + cobj.ActivityId;
                result.WeiActives.Add(cobj);
            }

            //首页礼品
            GiftQuery query = new GiftQuery();

            query.skey     = "";
            query.status   = GiftInfo.GiftSalesStatus.Normal;
            query.PageSize = 4;
            query.PageNo   = 1;
            QueryPageModel <GiftModel> gifts = _iGiftService.GetGifts(query);

            result.HomeGiftses  = gifts.Models.ToList();
            result.HasMoreGifts = gifts.Total > 4;
            foreach (var item in result.HomeGiftses)
            {
                item.DefaultShowImage = HimallIO.GetRomoteImagePath(item.GetImage(ImageSize.Size_350));
            }

            //积分优惠券
            var coupons = _iCouponService.GetIntegralCoupons(1, 3);

            Mapper.CreateMap <CouponInfo, CouponGetIntegralCouponModel>();
            if (coupons.Models.Count > 0)
            {
                var datalist = coupons.Models.ToList();
                var objlist  = new List <CouponGetIntegralCouponModel>();
                foreach (var item in datalist)
                {
                    var tmp = Mapper.Map <CouponGetIntegralCouponModel>(item);
                    tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(item.IntegralCover);
                    var vshopobj = _iVShopService.GetVShopByShopId(tmp.ShopId);
                    if (vshopobj != null)
                    {
                        tmp.VShopId = vshopobj.Id;
                        //优惠价封面为空时,取微店Logo,微店Logo为空时,取商城微信Logo
                        if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover))
                        {
                            if (!string.IsNullOrWhiteSpace(vshopobj.WXLogo))
                            {
                                tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(vshopobj.WXLogo);
                            }
                        }
                    }
                    if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover))
                    {
                        var siteset = SiteSettingApplication.SiteSettings;
                        tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(siteset.WXLogo);
                    }
                    objlist.Add(tmp);
                }
                result.IntegralCoupons        = objlist.ToList();
                result.HasMoreIntegralCoupons = coupons.Total > 3;
            }

            result.HasLogined = false;

            //用户积分与等级
            if (CurrentUser != null)
            {
                //登录后处理会员积分
                var userInte  = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals);
                result.MemberAvailableIntegrals = userInte.AvailableIntegrals;
                result.MemberGradeName          = userGrade.GradeName;
                result.HasLogined = true;
            }

            return(View(result));
        }
Ejemplo n.º 17
0
        public JsonResult CanBuy(long id, int count)
        {
            Result result   = new Result();
            bool   isdataok = true;

            if (CurrentUser == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "您还未登录!";
                result.status  = -1;
                return(Json(result));
            }


            #region 礼品信息判断
            //礼品信息
            GiftInfo giftdata = _iGiftService.GetById(id);
            if (isdataok)
            {
                if (giftdata == null)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "礼品不存在!";
                    result.status  = -2;
                }
            }

            if (isdataok)
            {
                if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "礼品已失效!";
                    result.status  = -2;
                }
            }

            if (isdataok)
            {
                //库存判断
                if (count > giftdata.StockQuantity)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!";
                    result.status  = -3;
                }
            }

            if (isdataok)
            {
                //积分数
                if (giftdata.NeedIntegral < 1)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "礼品关联等级信息有误或礼品积分数据有误!";
                    result.status  = -5;
                    return(Json(result));
                }
            }

            #endregion

            #region 用户信息判断

            if (isdataok)
            {
                //限购数量
                if (giftdata.LimtQuantity > 0)
                {
                    int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                    if (ownbuynumber + count > giftdata.LimtQuantity)
                    {
                        isdataok       = false;
                        result.success = false;
                        result.msg     = "超过礼品限兑数量!";
                        result.status  = -4;
                    }
                }
            }

            if (isdataok)
            {
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "积分不足!";
                    result.status  = -6;
                }
            }

            if (isdataok && giftdata.NeedGrade > 0)
            {
                //等级判定
                if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade))
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "用户等级不足!";
                    result.status  = -6;
                }
            }
            #endregion

            if (isdataok)
            {
                result.success = true;
                result.msg     = "可以购买!";
                result.status  = 1;
            }

            return(Json(result));
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 提交并处理预约单
        /// </summary>
        /// <param name="id"></param>
        /// <param name="regionId"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public Result SubmitOrder(GiftConfirmOrder value)
        {
            Result result = new Result()
            {
                success = false, msg = "未知错误", status = 0
            };
            bool isdataok = true;
            long id       = value.ID;
            var  regionId = value.RegionId;

            if (regionId < 1)
            {
                result.success = false;
                result.msg     = "错误的收货地址!";
                result.status  = -8;
                return(result);
            }
            int count = value.Count;

            if (count < 1)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "错误的兑换数量!";
                result.status  = -8;
                return(result);
            }
            if (CurrentUser == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "用户未登录!";
                result.status  = -6;
                return(result);
            }
            //Checkout
            List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>();
            var curUser = _iMemberService.GetMember(CurrentUser.Id);

            if (curUser == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "用户登录错误!";
                result.status  = -6;
                return(result);
            }
            var userInte = MemberIntegralApplication.GetMemberIntegral(curUser.Id);

            #region 礼品信息判断
            //礼品信息
            GiftInfo giftdata = _iGiftService.GetById(id);
            if (giftdata == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品不存在!";
                result.status  = -2;

                return(result);
            }

            if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品已失效!";
                result.status  = -2;

                return(result);
            }

            //库存判断
            if (count > giftdata.StockQuantity)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!";
                result.status  = -3;

                return(result);
            }

            //积分数
            if (giftdata.NeedIntegral < 1)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "礼品关联等级信息有误或礼品积分数据有误!";
                result.status  = -5;

                return(result);
            }
            #endregion

            #region 用户信息判断
            //限购数量
            if (giftdata.LimtQuantity > 0)
            {
                int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                if (ownbuynumber + count > giftdata.LimtQuantity)
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "超过礼品限兑数量!";
                    result.status  = -4;

                    return(result);
                }
            }
            if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "积分不足!";
                result.status  = -6;

                return(result);
            }
            if (giftdata.NeedGrade > 0)
            {
                var memgradeid = _iMemberGradeService.GetMemberGradeByUserId(curUser.Id);
                //等级判定
                if (!_iMemberGradeService.IsOneGreaterOrEqualTwo(memgradeid, giftdata.NeedGrade))
                {
                    isdataok       = false;
                    result.success = false;
                    result.msg     = "用户等级不足!";
                    result.status  = -6;

                    return(result);
                }
            }
            #endregion

            ShippingAddressInfo shipdata = GetShippingAddress(regionId);
            if (shipdata == null)
            {
                isdataok       = false;
                result.success = false;
                result.msg     = "错误的收货人地址信息!";
                result.status  = -6;

                return(result);
            }

            if (isdataok)
            {
                gorditemlist.Add(new GiftOrderItemModel {
                    GiftId = giftdata.Id, Counts = count
                });
                GiftOrderModel createorderinfo = new GiftOrderModel();
                createorderinfo.Gifts          = gorditemlist;
                createorderinfo.CurrentUser    = curUser;
                createorderinfo.ReceiveAddress = shipdata;
                GiftOrderInfo orderdata = _iGiftsOrderService.CreateOrder(createorderinfo);
                result.success = true;
                result.msg     = orderdata.Id.ToString();
                result.status  = 1;
            }

            return(result);
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 礼品详情
        /// </summary>
        /// <returns></returns>
        public ActionResult Detail(long id)
        {
            GiftsDetailModel result = new GiftsDetailModel();
            var data = _iGiftService.GetById(id);

            Mapper.CreateMap <GiftInfo, GiftsDetailModel>();
            result = Mapper.Map <GiftsDetailModel>(data);
            if (result == null)
            {
                throw new Exception("礼品信息无效!");
            }
            string tmpdefaultimg = result.GetImage(ImageSize.Size_100);

            result.DefaultShowImage = HimallIO.GetRomoteImagePath(tmpdefaultimg);
            result.Images           = new List <string>();
            result.Description      = result.Description.Replace("src=\"/Storage/", "src=\"" + Core.HimallIO.GetRomoteImagePath("/Storage/") + "/");

            //补充图片信息
            for (var _n = 1; _n < 6; _n++)
            {
                string _imgpath = data.ImagePath + "/" + _n.ToString() + ".png";
                if (HimallIO.ExistFile(_imgpath))
                {
                    var tmp = HimallIO.GetRomoteImagePath(result.GetImage(ImageSize.Size_500, _n));
                    result.Images.Add(tmp);
                }
            }

            #region 礼品是否可兑
            result.CanBuy = true;
            //礼品信息
            if (result.CanBuy)
            {
                if (result.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
                {
                    result.CanBuy       = false;
                    result.CanNotBuyDes = "礼品" + result.ShowSalesStatus;
                    if (result.GetSalesStatus == GiftInfo.GiftSalesStatus.HasExpired)
                    {
                        result.CanNotBuyDes = "活动已结束";//统一app名称而加
                    }
                }
            }

            if (result.CanBuy)
            {
                //库存判断
                if (result.StockQuantity < 1)
                {
                    result.CanBuy       = false;
                    result.CanNotBuyDes = "已兑完";
                }
            }

            if (result.CanBuy)
            {
                //积分数
                if (result.NeedIntegral < 1)
                {
                    result.CanBuy       = false;
                    result.CanNotBuyDes = "礼品信息错误";
                }
            }
            #endregion

            #region 用户信息判断

            if (result.CanBuy && CurrentUser != null)
            {
                //限购数量
                if (result.LimtQuantity > 0)
                {
                    int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                    if (ownbuynumber >= result.LimtQuantity)
                    {
                        result.CanBuy       = false;
                        result.CanNotBuyDes = "限兑数量已满";
                    }
                }
                if (result.CanBuy)
                {
                    var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                    if (userInte.AvailableIntegrals < result.NeedIntegral)
                    {
                        result.CanBuy       = false;
                        result.CanNotBuyDes = "积分不足";
                    }
                }
            }
            #endregion
            return(View(result));
        }
Ejemplo n.º 20
0
        public object PostSubmitOrder(GiftConfirmOrderModel value)
        {
            CheckUserLogin();
            long id        = value.ID;
            var  addressId = value.AddressId;

            if (addressId < 1)
            {
                return(Json(ErrorResult <bool>("错误的收货地址!", code: -8)));
            }
            int count = value.Count;

            if (count < 1)
            {
                return(Json(ErrorResult <bool>("错误的兑换数量!", code: -8)));
            }
            List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>();
            var curUser = MemberApplication.GetMember(CurrentUser.Id);

            if (curUser == null)
            {
                return(Json(ErrorResult <bool>("用户登录错误!", code: -6)));
            }
            var userInte = MemberIntegralApplication.GetMemberIntegral(curUser.Id);

            //礼品信息
            var giftdata = GiftApplication.GetById(id);

            if (giftdata == null)
            {
                return(Json(ErrorResult <bool>("礼品不存在!", code: -2)));
            }

            if (giftdata.GetSalesStatus != Entities.GiftInfo.GiftSalesStatus.Normal)
            {
                return(Json(ErrorResult <bool>("礼品已失效!", code: -2)));
            }

            //库存判断
            if (count > giftdata.StockQuantity)
            {
                return(Json(ErrorResult <bool>("礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!", code: -3)));
            }

            //积分数
            if (giftdata.NeedIntegral < 1)
            {
                return(Json(ErrorResult <bool>("礼品关联等级信息有误或礼品积分数据有误!", code: -5)));
            }
            //限购数量
            if (giftdata.LimtQuantity > 0)
            {
                int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id);
                if (ownbuynumber + count > giftdata.LimtQuantity)
                {
                    return(Json(ErrorResult <bool>("超过礼品限兑数量!", code: -4)));
                }
            }
            if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
            {
                return(Json(ErrorResult <bool>("积分不足!", code: -6)));
            }

            //等级判定
            if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade))
            {
                return(Json(ErrorResult <bool>("用户等级不足!", code: -6)));
            }
            Entities.ShippingAddressInfo shipdata = GetShippingAddress(addressId);
            if (shipdata == null)
            {
                return(Json(ErrorResult <bool>("错误的收货人地址信息!", code: -6)));
            }
            gorditemlist.Add(new GiftOrderItemModel {
                GiftId = giftdata.Id, Counts = count
            });
            GiftOrderModel createorderinfo = new GiftOrderModel();

            createorderinfo.Gifts          = gorditemlist;
            createorderinfo.CurrentUser    = curUser;
            createorderinfo.ReceiveAddress = shipdata;
            var orderdata = GiftsOrderApplication.CreateOrder(createorderinfo);

            return(Json(new { success = true, msg = orderdata.Id.ToString(), code = 1 }));
        }
Ejemplo n.º 21
0
        /// <summary>
        /// 领取优惠券
        /// </summary>
        /// <returns></returns>
        public JsonResult <Result <int> > GetUserCoupon(string openId, long couponId)
        {
            CheckUserLogin();
            bool   status  = true;
            string message = "";
            //long vshopId = vspId;// value.vshopId; 店铺Id
            //long couponId = couponId;// value.couponId; 优惠劵Id
            var couponInfo = CouponApplication.GetCouponInfo(couponId);

            if (couponInfo.EndTime < DateTime.Now)
            {//已经失效
                status  = false;
                message = "优惠券已经过期";
            }
            CouponRecordQuery crQuery = new CouponRecordQuery();

            crQuery.CouponId = couponId;
            crQuery.UserId   = CurrentUser.Id;
            QueryPageModel <CouponRecordInfo> pageModel = CouponApplication.GetCouponRecordList(crQuery);

            if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax)
            {//达到个人领取最大张数
                status  = false;
                message = "达到领取最大张数";
            }
            crQuery = new CouponRecordQuery()
            {
                CouponId = couponId
            };
            pageModel = CouponApplication.GetCouponRecordList(crQuery);
            if (pageModel.Total >= couponInfo.Num)
            {//达到领取最大张数
                status  = false;
                message = "此优惠券已经领完了";
            }
            if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange)
            {
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId);
                if (userInte.AvailableIntegrals < couponInfo.NeedIntegral)
                {
                    //积分不足
                    status  = false;
                    message = "积分不足 ";
                }
            }
            if (status)
            {
                CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
                {
                    CouponId = couponId,
                    UserId   = CurrentUser.Id,
                    UserName = CurrentUser.UserName,
                    ShopId   = couponInfo.ShopId
                };
                CouponApplication.AddCouponRecord(couponRecordInfo);
                return(JsonResult <int>(msg: "领取成功"));//执行成功
            }
            else
            {
                return(Json(ErrorResult <int>(message)));
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 领取优惠券
        /// </summary>
        /// <returns></returns>
        public object GetUserCoupon(string openId, long couponId)
        {
            CheckUserLogin();
            bool   status  = true;
            string message = "";
            //long vshopId = vspId;// value.vshopId; 店铺Id
            //long couponId = couponId;// value.couponId; 优惠劵Id
            var couponService = ServiceProvider.Instance <ICouponService> .Create;
            var couponInfo    = couponService.GetCouponInfo(couponId);

            if (couponInfo.EndTime < DateTime.Now)
            {//已经失效
                status  = false;
                message = "优惠券已经过期";
            }
            CouponRecordQuery crQuery = new CouponRecordQuery();

            crQuery.CouponId = couponId;
            crQuery.UserId   = CurrentUser.Id;
            ObsoletePageModel <CouponRecordInfo> pageModel = couponService.GetCouponRecordList(crQuery);

            if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax)
            {//达到个人领取最大张数
                status  = false;
                message = "达到领取最大张数";
            }
            crQuery = new CouponRecordQuery()
            {
                CouponId = couponId
            };
            pageModel = couponService.GetCouponRecordList(crQuery);
            if (pageModel.Total >= couponInfo.Num)
            {//达到领取最大张数
                status  = false;
                message = "此优惠券已经领完了";
            }
            if (couponInfo.ReceiveType == Himall.Model.CouponInfo.CouponReceiveType.IntegralExchange)
            {
                var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId);
                if (userInte.AvailableIntegrals < couponInfo.NeedIntegral)
                {
                    //积分不足
                    status  = false;
                    message = "积分不足 ";
                }
            }
            if (status)
            {
                CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
                {
                    CouponId = couponId,
                    UserId   = CurrentUser.Id,
                    UserName = CurrentUser.UserName,
                    ShopId   = couponInfo.ShopId
                };
                couponService.AddCouponRecord(couponRecordInfo);
                return(Json(new { Status = "OK", Message = "领取成功" }));//执行成功
            }
            else
            {
                return(Json(new { Status = "NO", Message = message }));
            }
        }
Ejemplo n.º 23
0
        public ActionResult Center()
        {
            MemberCenterModel model = new MemberCenterModel();
            var orders  = _iOrderService.GetTopOrders(int.MaxValue, CurrentUser.Id);
            var setting = _iDistributionService.GetDistributionSetting();

            model.CanDistribution = false;
            if (setting != null && setting.Enable)
            {
                model.CanDistribution = true;
            }
            //待评价
            //var queryModel = new OrderQuery()
            //{
            //    Status = Model.OrderInfo.OrderOperateStatus.Finish,
            //    UserId = CurrentUser.Id,
            //    PageSize = int.MaxValue,
            //    PageNo = 1,
            //    Commented = false
            //};
            //ViewBag.WaitingForComments = _iOrderService.GetOrders<OrderInfo>(queryModel).Total;

            var member = _iMemberService.GetMember(CurrentUser.Id);

            model.Member            = member;
            model.AllOrders         = orders.Count();
            model.WaitingForRecieve = orders.Count(item => item.UserId == CurrentUser.Id && (item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitReceiving || item.OrderStatus == OrderInfo.OrderOperateStatus.WaitSelfPickUp)); //获取待收货订单数
            model.WaitingForPay     = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitPay);                                                                                                             //获取待支付订单数
            var waitdelordnum   = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitDelivery);                                                                                                            //获取待发货订单数
            var fgwaitdelordnum = _iOrderService.GetFightGroupOrderByUser(CurrentUser.Id);

            model.WaitingForDelivery = waitdelordnum - fgwaitdelordnum;
            model.WaitingForComments = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.Finish && item.OrderCommentInfo.Count == 0);

            //拼团
            model.CanFightGroup         = FightGroupApplication.IsOpenMarketService();
            model.BulidFightGroupNumber = FightGroupApplication.CountJoiningOrder(CurrentUser.Id);

            RefundQuery query = new RefundQuery()
            {
                UserId   = CurrentUser.Id,
                PageNo   = 1,
                PageSize = int.MaxValue
            };
            var      refundPage = _iRefundService.GetOrderRefunds(query);
            DateTime endsrtime  = DateTime.Now.Date;

            if (CurrentSiteSetting.SalesReturnTimeout > 0)
            {
                endsrtime = endsrtime.AddDays(-CurrentSiteSetting.SalesReturnTimeout).Date;
            }
            model.RefundOrders = refundPage.Models.Where(e => e.ManagerConfirmStatus == OrderRefundInfo.OrderRefundConfirmStatus.UnConfirm ||
                                                         (e.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.UnAudit && e.OrderItemInfo.OrderInfo.FinishDate >= endsrtime)).Count();
            var     capital = _iMemberCapitalService.GetCapitalInfo(CurrentUser.Id);
            decimal cap;

            if (capital != null)
            {
                cap = capital.Balance.HasValue ? capital.Balance.Value : 0;
            }
            else
            {
                cap = 0;
            }
            model.Capital = cap;
            var CouponsCount = _iCouponService.GetAllUserCoupon(CurrentUser.Id).Count();

            CouponsCount      += _iShopBonusService.GetCanUseDetailByUserId(CurrentUser.Id).Count();
            model.CouponsCount = CouponsCount;

            var userInte  = MemberIntegralApplication.GetMemberIntegral(UserId);
            var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals);

            model.GradeName = userGrade.GradeName;
            model.MemberAvailableIntegrals = userInte.AvailableIntegrals;
            model.CollectionShop           = _iVShopService.GetUserConcernVShops(CurrentUser.Id, 1, int.MaxValue).Count();

            model.CanSignIn      = _iMemberSignInService.CanSignInByToday(CurrentUser.Id);
            model.SignInIsEnable = _iMemberSignInService.GetConfig().IsEnable;
            model.userMemberInfo = CurrentUser;
            return(View(model));
        }
Ejemplo n.º 24
0
        public ActionResult Center()
        {
            var userId = CurrentUser.Id;
            MemberCenterModel model = new MemberCenterModel();

            var statistic = StatisticApplication.GetMemberOrderStatistic(userId, true);

            var member = _iMemberService.GetMember(userId);

            model.Member               = member;
            model.AllOrders            = statistic.OrderCount;
            model.WaitingForRecieve    = statistic.WaitingForRecieve + OrderApplication.GetWaitConsumptionOrderNumByUserId(UserId);
            model.WaitingForPay        = statistic.WaitingForPay;
            model.WaitingForDelivery   = statistic.WaitingForDelivery;
            model.WaitingForComments   = statistic.WaitingForComments;
            model.RefundOrders         = statistic.RefundCount;
            model.FavoriteProductCount = FavoriteApplication.GetFavoriteCountByUser(userId);

            //拼团
            model.CanFightGroup         = FightGroupApplication.IsOpenMarketService();
            model.BulidFightGroupNumber = FightGroupApplication.CountJoiningOrder(userId);

            model.Capital      = MemberCapitalApplication.GetBalanceByUserId(userId);
            model.CouponsCount = MemberApplication.GetAvailableCouponCount(userId);
            var integral = MemberIntegralApplication.GetMemberIntegral(userId);

            model.GradeName = MemberGradeApplication.GetMemberGradeByUserIntegral(integral.HistoryIntegrals).GradeName;
            model.MemberAvailableIntegrals = MemberIntegralApplication.GetAvailableIntegral(userId);

            model.CollectionShop = ShopApplication.GetUserConcernShopsCount(userId);

            model.CanSignIn             = _iMemberSignInService.CanSignInByToday(userId);
            model.SignInIsEnable        = _iMemberSignInService.GetConfig().IsEnable;
            model.userMemberInfo        = CurrentUser;
            model.IsOpenRechargePresent = SiteSettings.IsOpenRechargePresent;

            model.DistributionOpenMyShopShow = SiteSettings.DistributorRenameOpenMyShop;
            model.DistributionMyShopShow     = SiteSettings.DistributorRenameMyShop;

            if (PlatformType == PlatformType.WeiXin)
            {
                //分销
                model.IsShowDistributionOpenMyShop = SiteSettings.DistributionIsEnable;
                var duser = DistributionApplication.GetDistributor(CurrentUser.Id);
                if (duser != null && duser.DistributionStatus != (int)DistributorStatus.UnApply)
                {
                    model.IsShowDistributionOpenMyShop = false;
                    //拒绝的分销员显示“我要开店”
                    if (duser.DistributionStatus == (int)DistributorStatus.Refused || duser.DistributionStatus == (int)DistributorStatus.UnAudit)
                    {
                        model.IsShowDistributionOpenMyShop = true && SiteSettings.DistributionIsEnable;
                    }

                    model.IsShowDistributionMyShop = true && SiteSettings.DistributionIsEnable;
                    if (duser.DistributionStatus == (int)DistributorStatus.NotAvailable || duser.DistributionStatus == (int)DistributorStatus.Refused || duser.DistributionStatus == (int)DistributorStatus.UnAudit)
                    {
                        model.IsShowDistributionMyShop = false;
                    }
                }
            }
            _iMemberService.AddIntegel(member); //给用户加积分//执行登录后初始化相关操作
            return(View(model));
        }