会员精准发券,更改改分页进行发送
This commit is contained in:
parent
b4240ae2c0
commit
5f93ce3851
@ -46,13 +46,15 @@ public class CouponActivityExecute implements EveryMinuteExecute {
|
|||||||
.eq(CouponActivity::getPromotionStatus,PromotionStatusEnum.NEW.name()));
|
.eq(CouponActivity::getPromotionStatus,PromotionStatusEnum.NEW.name()));
|
||||||
//如果有符合要求的优惠券活动,发送优惠券
|
//如果有符合要求的优惠券活动,发送优惠券
|
||||||
if(couponActivities.size()>0){
|
if(couponActivities.size()>0){
|
||||||
for (CouponActivity CouponActivity:couponActivities) {
|
for (CouponActivity couponActivity:couponActivities) {
|
||||||
couponActivityService.specify(CouponActivity.getId());
|
couponActivityService.specify(couponActivity.getId());
|
||||||
}
|
|
||||||
//修改精准发券优惠券活动状态
|
//修改精准发券优惠券活动状态
|
||||||
couponActivityService.update(new LambdaUpdateWrapper<CouponActivity>()
|
couponActivityService.update(new LambdaUpdateWrapper<CouponActivity>()
|
||||||
.eq(CouponActivity::getCouponActivityType, CouponActivityTypeEnum.SPECIFY.name())
|
.eq(CouponActivity::getCouponActivityType, CouponActivityTypeEnum.SPECIFY.name())
|
||||||
|
.eq(CouponActivity::getId,couponActivity.getId())
|
||||||
.set(CouponActivity::getPromotionStatus,PromotionStatusEnum.END.name()));
|
.set(CouponActivity::getPromotionStatus,PromotionStatusEnum.END.name()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper,
|
|||||||
this.updateById(couponActivityDTO);
|
this.updateById(couponActivityDTO);
|
||||||
//删除优惠券活动关联的优惠券
|
//删除优惠券活动关联的优惠券
|
||||||
couponActivityItemService.remove(new LambdaQueryWrapper<CouponActivityItem>()
|
couponActivityItemService.remove(new LambdaQueryWrapper<CouponActivityItem>()
|
||||||
.eq(CouponActivityItem::getActivityId,couponActivityDTO.getId()));
|
.eq(CouponActivityItem::getActivityId, couponActivityDTO.getId()));
|
||||||
//重新添加优惠券活动关联优惠券
|
//重新添加优惠券活动关联优惠券
|
||||||
this.addCouponActivityItems(couponActivityDTO);
|
this.addCouponActivityItems(couponActivityDTO);
|
||||||
return couponActivityDTO;
|
return couponActivityDTO;
|
||||||
@ -83,11 +83,24 @@ public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper,
|
|||||||
//获取优惠券
|
//获取优惠券
|
||||||
CouponActivity couponActivity = this.getById(couponActivityId);
|
CouponActivity couponActivity = this.getById(couponActivityId);
|
||||||
//获取活动优惠券发送范围
|
//获取活动优惠券发送范围
|
||||||
List<Map<String, Object>> memberList = this.getMemberList(couponActivity);
|
List<Map<String, Object>> member = this.getMemberList(couponActivity);
|
||||||
|
|
||||||
|
//会员拆成多个小组进行发送
|
||||||
|
List<List<Map<String, Object>>> 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<CouponActivityItem> couponActivityItems = couponActivityItemService.getCouponActivityList(couponActivity.getId());
|
List<CouponActivityItem> couponActivityItems = couponActivityItemService.getCouponActivityList(couponActivity.getId());
|
||||||
//发送优惠券
|
//发送优惠券
|
||||||
sendCoupon(memberList, couponActivityItems);
|
for (List<Map<String, Object>> memberList : memberGroup) {
|
||||||
|
sendCoupon(memberList, couponActivityItems);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -110,7 +123,7 @@ public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateCouponActivityStatus(String id, PromotionStatusEnum promotionStatus) {
|
public boolean updateCouponActivityStatus(String id, PromotionStatusEnum promotionStatus) {
|
||||||
CouponActivity couponActivity=this.getById(id);
|
CouponActivity couponActivity = this.getById(id);
|
||||||
couponActivity.setPromotionStatus(promotionStatus.name());
|
couponActivity.setPromotionStatus(promotionStatus.name());
|
||||||
return this.updateById(couponActivity);
|
return this.updateById(couponActivity);
|
||||||
}
|
}
|
||||||
@ -191,11 +204,12 @@ public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加优惠券活动关联优惠券
|
* 添加优惠券活动关联优惠券
|
||||||
|
*
|
||||||
* @param couponActivityDTO 优惠券活动DTO
|
* @param couponActivityDTO 优惠券活动DTO
|
||||||
*/
|
*/
|
||||||
private void addCouponActivityItems(CouponActivityDTO couponActivityDTO){
|
private void addCouponActivityItems(CouponActivityDTO couponActivityDTO) {
|
||||||
//创建优惠券活动子列表
|
//创建优惠券活动子列表
|
||||||
for(CouponActivityItem couponActivityItem:couponActivityDTO.getCouponActivityItems()){
|
for (CouponActivityItem couponActivityItem : couponActivityDTO.getCouponActivityItems()) {
|
||||||
couponActivityItem.setActivityId(couponActivityDTO.getId());
|
couponActivityItem.setActivityId(couponActivityDTO.getId());
|
||||||
}
|
}
|
||||||
couponActivityItemService.saveBatch(couponActivityDTO.getCouponActivityItems());
|
couponActivityItemService.saveBatch(couponActivityDTO.getCouponActivityItems());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user