From 5280158e29fc5c3b0fd5e764410a87de1a996725 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期二, 03 九月 2024 10:00:58 +0800 Subject: [PATCH] 1.优惠券-返回字段添加 2.优惠券-会员定时任务 --- src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java index 2de8630..71f0bc9 100644 --- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java @@ -32,6 +32,7 @@ import java.time.LocalDateTime; import java.time.temporal.TemporalAdjusters; import java.util.List; +import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -271,11 +272,16 @@ couponRecordDO.setEffectiveStart(firstDayStart); couponRecordDO.setEffectiveEnd(lastDayEnd); couponRecordDO.setMemberId(couponTemplateDO.getMemberId()); - // 创建信息 couponRecordDO.create(); - return couponRecordDO; - }).collect(Collectors.toList()); + if(!checkCurMonVipCouponExists(couponRecordDO.getCouponId(),couponRecordDO.getCustomerId(),firstDayStart,lastDayEnd)){ + return couponRecordDO; + }else{ + return null; + } + + }).filter(Objects::nonNull) + .collect(Collectors.toList()); // 批量保存等级下的优惠券信息 saveBatch(gradeCouponRecordList); @@ -395,4 +401,27 @@ // 将未使用的优惠券直接过期 couponRecordMapperCustom.checkCouponExpired(dto); } + + @Override + public boolean checkCurMonVipCouponExists(String couponId, Long customId, LocalDateTime startDateTime, LocalDateTime endDateTime) { + + LocalDateTime now = LocalDateTime.now(); + LocalDateTime firstDayStart = now.with(TemporalAdjusters.firstDayOfMonth()).withHour(0).withMinute(0).withSecond(0).withNano(0); + LocalDateTime lastDayEnd = now.with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59).withNano(0); + if(null==startDateTime){ + startDateTime=firstDayStart; + } + if(null==endDateTime){ + endDateTime=lastDayEnd; + } + + QueryWrapper<CouponRecordDO> queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(CouponRecordDO::getDeleted,TrueOrFalseEnum.FALSE.isFlag()) + .eq(CouponRecordDO::getCouponId,couponId) + .eq(CouponRecordDO::getCustomerId,customId) + .eq(CouponRecordDO::getEffectiveStart,startDateTime) + .eq(CouponRecordDO::getEffectiveEnd,endDateTime); + return baseMapper.selectCount(queryWrapper)>0; + + } } -- Gitblit v1.9.3