From b676641e11008cb05b4e595850dbbf617fb7da56 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期四, 29 八月 2024 17:37:06 +0800 Subject: [PATCH] 1.积分优惠券-获取全部已发布的优惠券 --- src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java | 36 +++++++++++++++++++++++++++++------- 1 files changed, 29 insertions(+), 7 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 de6d5f1..222f64b 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 @@ -9,15 +9,13 @@ import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponStatisticsBO; +import com.mzl.flower.dto.request.coupon.QueryExistCouponDTO; import com.mzl.flower.dto.response.coupon.CouponRecordVO; import com.mzl.flower.entity.coupon.CouponRecordDO; import com.mzl.flower.entity.coupon.CouponTemplateDO; import com.mzl.flower.entity.customer.Customer; import com.mzl.flower.entity.system.User; -import com.mzl.flower.enums.CouponCategoryEnum; -import com.mzl.flower.enums.CouponUsageTimeTypeEnum; -import com.mzl.flower.enums.CouponUsageTypeEnum; -import com.mzl.flower.enums.CouponUsedStatusEnum; +import com.mzl.flower.enums.*; import com.mzl.flower.mapper.coupon.CouponRecordMapper; import com.mzl.flower.mapper.coupon.CouponRecordMapperCustom; import com.mzl.flower.mapper.customer.CustomerMapper; @@ -74,14 +72,27 @@ throw new ValidationException("商户信息不存在"); } + final CouponTemplateDO couponTemplateDO = couponTemplateService.getById(dto.getCouponId()); + + // TODO 活动优惠券和积分优惠券需要根据库存来控制- 根据优惠券的发放数量来控制有没有超发 + + + // TODO 根据用户领取设置的getLimit 查看当前用户是否已经超领优惠券 + + CouponRecordDO couponRecordDO=new CouponRecordDO(); BeanUtils.copyProperties(dto,couponRecordDO); couponRecordDO.create(SecurityUtils.getUserId()); // 设置为待使用状态 couponRecordDO.setStatus(CouponUsedStatusEnum.UNUSED.getType()); + // 根据商户设置用户id + if(StringUtils.isBlank(dto.getUserId()) && StringUtils.isNotBlank(customer.getUserId())){ + couponRecordDO.setUserId(customer.getUserId()); + } + // 优惠券字段冗余 - final CouponTemplateDO couponTemplateDO = couponTemplateService.getById(dto.getCouponId()); + if(null!=couponTemplateDO){ couponRecordDO.setCategory(couponTemplateDO.getGetUserType()); couponRecordDO.setCouponCode(couponTemplateDO.getCouponCode()); @@ -125,11 +136,11 @@ } if (couponTemplateDO.getUsageTimeType().equals(CouponUsageTimeTypeEnum.HOUR.getType())) { // 小时 - couponRecordDO.setEffectiveEnd(currentTime.plusDays(couponTemplateDO.getUsageTimeNum())); + couponRecordDO.setEffectiveEnd(currentTime.plusHours(couponTemplateDO.getUsageTimeNum())); } if (couponTemplateDO.getUsageTimeType().equals(CouponUsageTimeTypeEnum.MINUTE.getType())) { // 分钟 - couponRecordDO.setEffectiveEnd(currentTime.plusDays(couponTemplateDO.getUsageTimeNum())); + couponRecordDO.setEffectiveEnd(currentTime.plusMinutes(couponTemplateDO.getUsageTimeNum())); } } @@ -285,4 +296,15 @@ public int statisCouponPointCurMonPontAmonut(QueryCouponStatisticsBO queryCouponStatisticsBO) { return couponRecordMapperCustom.statisCouponPointCurMonPointAmonut(queryCouponStatisticsBO); } + + @Override + public int getExistCouponAmount(QueryExistCouponDTO dto) { + QueryWrapper<CouponRecordDO> queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(CouponRecordDO::getDeleted, TrueOrFalseEnum.FALSE.isFlag()) + .eq(StringUtils.isNotBlank(dto.getCouponId()), CouponRecordDO::getCouponId,dto.getCouponId()) + .eq(StringUtils.isNotBlank(dto.getCustomerId()),CouponRecordDO::getCustomerId,dto.getCustomerId()) + .eq(StringUtils.isNotBlank(dto.getCategory()),CouponRecordDO::getCategory,dto.getCategory()); + + return baseMapper.selectCount(queryWrapper); + } } -- Gitblit v1.9.3