From 5f93ce38510bf0c1c125f7daa5cbfe37f69111f5 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 26 May 2021 08:42:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E7=B2=BE=E5=87=86=E5=8F=91?= =?UTF-8?q?=E5=88=B8=EF=BC=8C=E6=9B=B4=E6=94=B9=E6=94=B9=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/coupon/CouponActivityExecute.java | 8 +++--- .../CouponActivityServiceImpl.java | 26 ++++++++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java index 0bca3df4..b4f6cc19 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java @@ -46,13 +46,15 @@ public class CouponActivityExecute implements EveryMinuteExecute { .eq(CouponActivity::getPromotionStatus,PromotionStatusEnum.NEW.name())); //如果有符合要求的优惠券活动,发送优惠券 if(couponActivities.size()>0){ - for (CouponActivity CouponActivity:couponActivities) { - couponActivityService.specify(CouponActivity.getId()); - } + for (CouponActivity couponActivity:couponActivities) { + couponActivityService.specify(couponActivity.getId()); + //修改精准发券优惠券活动状态 couponActivityService.update(new LambdaUpdateWrapper() .eq(CouponActivity::getCouponActivityType, CouponActivityTypeEnum.SPECIFY.name()) + .eq(CouponActivity::getId,couponActivity.getId()) .set(CouponActivity::getPromotionStatus,PromotionStatusEnum.END.name())); + } } } diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java index fbe337d9..8bf5734f 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java @@ -65,7 +65,7 @@ public class CouponActivityServiceImpl extends ServiceImpl() - .eq(CouponActivityItem::getActivityId,couponActivityDTO.getId())); + .eq(CouponActivityItem::getActivityId, couponActivityDTO.getId())); //重新添加优惠券活动关联优惠券 this.addCouponActivityItems(couponActivityDTO); return couponActivityDTO; @@ -83,11 +83,24 @@ public class CouponActivityServiceImpl extends ServiceImpl> memberList = this.getMemberList(couponActivity); + List> member = this.getMemberList(couponActivity); + + //会员拆成多个小组进行发送 + List>> memberGroup = new ArrayList<>(); + + //循环分组 + for (int i = 0; i < (member.size() / 100 + (member.size() % 100 == 0 ? 0 : 1)); i++) { + int endPoint = Math.min((100 + (i * 100)), member.size()); + memberGroup.add(member.subList((i * 100), endPoint)); + } + //优惠优惠券活动的优惠券列表 List couponActivityItems = couponActivityItemService.getCouponActivityList(couponActivity.getId()); //发送优惠券 - sendCoupon(memberList, couponActivityItems); + for (List> memberList : memberGroup) { + sendCoupon(memberList, couponActivityItems); + } + } @Override @@ -110,7 +123,7 @@ public class CouponActivityServiceImpl extends ServiceImpl