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 })); }
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 }));//执行成功 }
public static void WinnerSubmit(WeiActivityWinModel winModel) { Entities.WeiActivityInfoInfo model = _iActivityInfoService.GetActivityModel(winModel.activityId); //添加中奖信息记录 Entities.WeiActivityWinInfoInfo activityWinInfo = new Entities.WeiActivityWinInfoInfo(); activityWinInfo.ActivityId = winModel.activityId; activityWinInfo.AddDate = DateTime.Now; activityWinInfo.UserId = winModel.userId; activityWinInfo.IsWin = winModel.isWin; //消耗积分 if (winModel.integrals > 0) { var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; Himall.Entities.MemberIntegralRecordInfo info = new Himall.Entities.MemberIntegralRecordInfo(); info.UserName = MemberApplication.GetMember(activityWinInfo.UserId).UserName; info.MemberId = activityWinInfo.UserId; info.RecordDate = DateTime.Now; info.ReMark = ((WeiActivityType)model.ActivityType).ToDescription() + "消耗"; info.TypeId = Entities.MemberIntegralInfo.IntegralType.WeiActivity; var memberIntegral = factoryService.Create(Himall.Entities.MemberIntegralInfo.IntegralType.WeiActivity, -winModel.integrals); MemberIntegralApplication.AddMemberIntegral(info, memberIntegral); } if (activityWinInfo.IsWin) { if (winModel.awardType == WeiActivityAwardType.Integral)//积分 { activityWinInfo.AwardName = winModel.awardName + " 积分"; //新增积分记录 var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; Entities.MemberIntegralRecordInfo info = new Entities.MemberIntegralRecordInfo(); info.UserName = MemberApplication.GetMember(activityWinInfo.UserId).UserName; info.MemberId = activityWinInfo.UserId; info.RecordDate = DateTime.Now; info.ReMark = ((WeiActivityType)model.ActivityType).ToDescription() + "中奖"; info.TypeId = Himall.Entities.MemberIntegralInfo.IntegralType.WeiActivity; var memberIntegral = factoryService.Create(Entities.MemberIntegralInfo.IntegralType.WeiActivity, Convert.ToInt32(winModel.awardName));//winModel.integrals为消耗积分 此处不是用户总积分 MemberIntegralApplication.AddMemberIntegral(info, memberIntegral); } else if (winModel.awardType == WeiActivityAwardType.Bonus)//红包 { activityWinInfo.AwardName = winModel.awardName; BonusApplication.SetShareByUserId(winModel.bonusId, false, winModel.userId);//添加红包记录 BonusApplication.IncrReceiveCount(winModel.bonusId); } else { activityWinInfo.AwardName = winModel.awardName; //添加优惠券记录 Entities.CouponRecordInfo recordInfo = new Entities.CouponRecordInfo(); recordInfo.UserId = winModel.userId; recordInfo.UserName = MemberApplication.GetMember(winModel.userId).UserName; recordInfo.ShopId = CouponApplication.GetCouponInfo(winModel.couponId).ShopId; recordInfo.CouponId = winModel.couponId; CouponApplication.AddCouponRecord(recordInfo); } } else { activityWinInfo.AwardName = winModel.awardName; } activityWinInfo.AwardId = winModel.awardId; _iWeiActivityWinService.AddWinner(activityWinInfo); }