Exemple #1
0
        /// <summary>
        /// 注册成功赠送优惠券
        /// </summary>
        /// <param name="id">会员ID</param>
        /// <param name="userName">会员登录名</param>
        /// <returns>返回赠送张数</returns>
        public static int RegisterSendCoupon(long id, string userName)
        {
            int result = 0;
            var model  = GetCouponSendByRegister();

            if (model != null && model.Status.Equals(Himall.CommonModel.CouponSendByRegisterStatus.Open) && model.total > 0) //如果活动开启,且优惠券有剩余
            {
                foreach (var item in model.CouponIds)
                {
                    if (item.inventory > 0)
                    {
                        CouponRecordInfo info = new CouponRecordInfo();
                        info.UserId   = id;
                        info.UserName = userName;
                        info.ShopId   = item.ShopId;
                        info.CouponId = item.Id;
                        _iCouponService.AddCouponRecord(info);
                        result++;
                    }
                }
            }
            return(result);
        }
        public JsonResult AcceptCoupon(long vshopid, long couponid)
        {
            if (base.CurrentUser == null)
            {
                return(Json(new { status = 1, success = false, msg = "未登录." }));
            }
            ICouponService service    = ServiceHelper.Create <ICouponService>();
            CouponInfo     couponInfo = service.GetCouponInfo(couponid);

            if (couponInfo.EndTime < DateTime.Now)
            {
                return(Json(new { status = 2, success = false, msg = "优惠券已经过期." }));
            }
            CouponRecordQuery query = new CouponRecordQuery
            {
                CouponId = new long?(couponid),
                UserId   = new long?(base.CurrentUser.Id)
            };
            PageModel <CouponRecordInfo> couponRecordList = service.GetCouponRecordList(query);

            if ((couponInfo.PerMax != 0) && (couponRecordList.Total >= couponInfo.PerMax))
            {
                return(Json(new { status = 3, success = false, msg = "达到个人领取最大张数,不能再领取." }));
            }
            query = new CouponRecordQuery
            {
                CouponId = new long?(couponid)
            };
            if (service.GetCouponRecordList(query).Total >= couponInfo.Num)
            {
                return(Json(new { status = 4, success = false, msg = "此优惠券已经领完了." }));
            }
            if ((couponInfo.ReceiveType == (CouponInfo.CouponReceiveType) 1) && (ServiceHelper.Create <IMemberService>().GetMember(base.CurrentUser.Id).AvailableIntegrals < couponInfo.NeedIntegral))
            {
                return(Json(new { status = 5, success = false, msg = "积分不足 " + couponInfo.NeedIntegral.ToString() }));
            }
            CouponRecordInfo info = new CouponRecordInfo
            {
                CouponId = couponid,
                UserId   = base.CurrentUser.Id,
                UserName = base.CurrentUser.UserName,
                ShopId   = couponInfo.ShopId
            };

            service.AddCouponRecord(info);
            return(Json(new { status = 0, success = true, msg = "领取成功", crid = info.Id }));
        }
        public JsonResult AcceptCoupon(long vshopid, long couponid)
        {
            ICouponService couponService = ServiceHelper.Create <ICouponService>();
            CouponInfo     couponInfo    = couponService.GetCouponInfo(couponid);

            if (couponInfo.EndTime < DateTime.Now)
            {
                return(Json(new { status = 2, success = false, msg = "优惠券已经过期." }));
            }
            CouponRecordQuery couponRecordQuery = new CouponRecordQuery()
            {
                CouponId = new long?(couponid),
                UserId   = new long?(base.CurrentUser.Id)
            };
            PageModel <CouponRecordInfo> couponRecordList = couponService.GetCouponRecordList(couponRecordQuery);

            if (couponInfo.PerMax != 0 && couponRecordList.Total >= couponInfo.PerMax)
            {
                return(Json(new { status = 3, success = false, msg = "达到个人领取最大张数,不能再领取." }));
            }
            couponRecordQuery = new CouponRecordQuery()
            {
                CouponId = new long?(couponid)
            };
            couponRecordList = couponService.GetCouponRecordList(couponRecordQuery);
            if (couponRecordList.Total >= couponInfo.Num)
            {
                return(Json(new { status = 4, success = false, msg = "此优惠券已经领完了." }));
            }
            if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange && ServiceHelper.Create <IMemberService>().GetMember(base.CurrentUser.Id).AvailableIntegrals < couponInfo.NeedIntegral)
            {
                int needIntegral = couponInfo.NeedIntegral;
                return(Json(new { status = 5, success = false, msg = string.Concat("积分不足 ", needIntegral.ToString()) }));
            }
            CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
            {
                CouponId = couponid,
                UserId   = base.CurrentUser.Id,
                UserName = base.CurrentUser.UserName,
                ShopId   = couponInfo.ShopId
            };
            CouponRecordInfo couponRecordInfo1 = couponRecordInfo;

            couponService.AddCouponRecord(couponRecordInfo1);
            return(Json(new { status = 0, success = true, msg = "领取成功", crid = couponRecordInfo1.Id }));
        }
        public static void WinnerSubmit(WeiActivityWinModel winModel)
        {
            //添加中奖信息记录
            WeiActivityWinInfo activityWinInfo = new WeiActivityWinInfo();

            activityWinInfo.ActivityId = winModel.activityId;
            activityWinInfo.AddDate    = DateTime.Now;
            activityWinInfo.UserId     = winModel.userId;
            activityWinInfo.IsWin      = winModel.isWin;
            if (activityWinInfo.IsWin)
            {
                if (winModel.awardType == WeiActivityAwardType.Integral)//积分
                {
                    activityWinInfo.AwardName = winModel.awardName + " 积分";
                    //新增积分记录
                    var factoryService        = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create;
                    MemberIntegralRecord info = new MemberIntegralRecord();
                    info.UserName   = _iMemberService.GetMember(activityWinInfo.UserId).UserName;
                    info.MemberId   = activityWinInfo.UserId;
                    info.RecordDate = DateTime.Now;
                    info.ReMark     = "微信活动中奖";
                    info.TypeId     = MemberIntegral.IntegralType.WeiActivity;
                    var memberIntegral = factoryService.Create(MemberIntegral.IntegralType.WeiActivity, Convert.ToInt32(winModel.awardName));//winModel.integrals为消耗积分 此处不是用户总积分
                    _iMemberIntegralService.AddMemberIntegral(info, memberIntegral);
                }
                else if (winModel.awardType == WeiActivityAwardType.Bonus)//红包
                {
                    activityWinInfo.AwardName = winModel.awardName;
                    _iBonusService.SetShareByUserId(winModel.bonusId, false, winModel.userId);//添加红包记录
                    _iBonusService.IncrReceiveCount(winModel.bonusId);
                }
                else
                {
                    activityWinInfo.AwardName = winModel.awardName;
                    //添加优惠券记录
                    CouponRecordInfo recordInfo = new CouponRecordInfo();
                    recordInfo.UserId   = winModel.userId;
                    recordInfo.UserName = _iMemberService.GetMember(winModel.userId).UserName;
                    recordInfo.ShopId   = _iCouponService.GetCouponInfo(winModel.couponId).ShopId;
                    recordInfo.CouponId = winModel.couponId;
                    _iCouponService.AddCouponRecord(recordInfo);
                }
            }
            else
            {
                activityWinInfo.AwardName = winModel.awardName;
            }
            activityWinInfo.AwardId = winModel.awardId;
            _iWeiActivityWinService.AddWinner(activityWinInfo);

            //消耗积分
            if (winModel.integrals > 0)
            {
                var factoryService        = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create;
                MemberIntegralRecord info = new MemberIntegralRecord();
                info.UserName   = _iMemberService.GetMember(activityWinInfo.UserId).UserName;
                info.MemberId   = activityWinInfo.UserId;
                info.RecordDate = DateTime.Now;
                info.ReMark     = "微信活动消耗";
                info.TypeId     = MemberIntegral.IntegralType.WeiActivity;
                var memberIntegral = factoryService.Create(MemberIntegral.IntegralType.WeiActivity, -winModel.integrals);
                _iMemberIntegralService.AddMemberIntegral(info, memberIntegral);
            }
        }
Exemple #5
0
        public JsonResult ReceiveCoupons(long couponId, long shopId)
        {
            ICouponService couponService = ServiceHelper.Create <ICouponService>();
            CouponInfo     couponInfo    = couponService.GetCouponInfo(shopId, couponId);

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

            if (couponInfo.PerMax != 0 && userReceiveCoupon >= couponInfo.PerMax)
            {
                Result result2 = new Result()
                {
                    success = false,
                    msg     = string.Concat("每人最多领取", couponInfo.PerMax, "张该类型的优惠券"),
                    status  = -3
                };
                return(Json(result2));
            }
            if (couponInfo.Himall_CouponRecord.Count >= couponInfo.Num)
            {
                Result result3 = new Result()
                {
                    success = false,
                    msg     = "优惠券已领完",
                    status  = -3
                };
                return(Json(result3));
            }
            if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange)
            {
                int availableIntegrals = base.CurrentUser.AvailableIntegrals;
                int needIntegral       = couponInfo.NeedIntegral;
            }
            CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
            {
                UserId   = base.CurrentUser.Id,
                UserName = base.CurrentUser.UserName,
                ShopId   = shopId,
                CouponId = couponId
            };

            couponService.AddCouponRecord(couponRecordInfo);
            Result result4 = new Result()
            {
                success = true,
                msg     = "领取成功",
                status  = 1
            };

            return(Json(result4));
        }
Exemple #6
0
        public JsonResult ReceiveCoupons(long couponId, long shopId)
        {
            ICouponService couponService = ServiceHelper.Create <ICouponService>();
            CouponInfo     couponInfo    = couponService.GetCouponInfo(shopId, couponId);

            if (base.CurrentUser == null)
            {
                Result result = new Result()
                {
                    success = false,
                    msg     = "Obtain it after sign in",
                    status  = -1
                };
                return(Json(result));
            }
            if (couponInfo.EndTime < DateTime.Now.Date)
            {
                Result result1 = new Result()
                {
                    success = false,
                    msg     = "This Coupon expired",
                    status  = -2
                };
                return(Json(result1));
            }
            int userReceiveCoupon = couponService.GetUserReceiveCoupon(couponId, base.CurrentUser.Id);

            if (couponInfo.PerMax != 0 && userReceiveCoupon >= couponInfo.PerMax)
            {
                Result result2 = new Result()
                {
                    success = false,
                    msg     = string.Concat("Every customer can obtain ", couponInfo.PerMax, " this type coupons"),
                    status  = -3
                };
                return(Json(result2));
            }
            if (couponInfo.Himall_CouponRecord.Count >= couponInfo.Num)
            {
                Result result3 = new Result()
                {
                    success = false,
                    msg     = "Coupons have been brought out",
                    status  = -3
                };
                return(Json(result3));
            }
            if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange)
            {
                int availableIntegrals = base.CurrentUser.AvailableIntegrals;
                int needIntegral       = couponInfo.NeedIntegral;
            }
            CouponRecordInfo couponRecordInfo = new CouponRecordInfo()
            {
                UserId   = base.CurrentUser.Id,
                UserName = base.CurrentUser.UserName,
                ShopId   = shopId,
                CouponId = couponId
            };

            couponService.AddCouponRecord(couponRecordInfo);
            Result result4 = new Result()
            {
                success = true,
                msg     = "Obtain Success",
                status  = 1
            };

            return(Json(result4));
        }