Example #1
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(ErrorResult("优惠券已经过期.", 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(ErrorResult("达到个人领取最大张数,不能再领取.", 3));
            }
            crQuery = new CouponRecordQuery()
            {
                CouponId = couponId
            };
            pageModel = couponService.GetCouponRecordList(crQuery);
            if (pageModel.Total >= couponInfo.Num)
            {
                //达到领取最大张数
                return(ErrorResult("此优惠券已经领完了.", 4));
            }
            if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange)
            {
                var integral = MemberIntegralApplication.GetAvailableIntegral(CurrentUserId);
                if (integral < couponInfo.NeedIntegral)
                {
                    return(ErrorResult("积分不足 " + couponInfo.NeedIntegral.ToString(), 5));
                }
            }
            CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
            {
                CouponId = couponId,
                UserId   = CurrentUser.Id,
                UserName = CurrentUser.UserName,
                ShopId   = couponInfo.ShopId
            };

            couponService.AddCouponRecord(couponRecordInfo);
            return(SuccessResult("", 1));
        }
        //领取优惠券
        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" }));//执行成功
        }