Commit dae4e64a646988bb58d52d42a737f8bdc175ad95
1 parent
bbfff1ba
【修复】商城系统:管理后台发放优惠劵时,只能发送未修改过有效期类型的优惠券
Showing
1 changed file
with
4 additions
and
4 deletions
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java
| ... | ... | @@ -7,12 +7,12 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 7 | 7 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 8 | 8 | import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.template.CouponTemplatePageReqVO; |
| 9 | 9 | import cn.iocoder.yudao.module.promotion.dal.dataobject.coupon.CouponTemplateDO; |
| 10 | +import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTemplateValidityTypeEnum; | |
| 10 | 11 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| 11 | 12 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 12 | 13 | import org.apache.ibatis.annotations.Mapper; |
| 13 | 14 | |
| 14 | 15 | import java.time.LocalDateTime; |
| 15 | -import java.util.Collection; | |
| 16 | 16 | import java.util.List; |
| 17 | 17 | import java.util.function.Consumer; |
| 18 | 18 | |
| ... | ... | @@ -68,9 +68,9 @@ public interface CouponTemplateMapper extends BaseMapperX<CouponTemplateDO> { |
| 68 | 68 | canTakeConsumer = w -> |
| 69 | 69 | w.eq(CouponTemplateDO::getStatus, CommonStatusEnum.ENABLE.getStatus()) // 1. 状态为可用的 |
| 70 | 70 | .in(CouponTemplateDO::getTakeType, canTakeTypes) // 2. 领取方式一致 |
| 71 | - .and(ww -> ww.isNull(CouponTemplateDO::getValidEndTime) // 3. 未过期 | |
| 72 | - .or().gt(CouponTemplateDO::getValidEndTime, LocalDateTime.now())) | |
| 73 | - .apply(" take_count < total_count "); // 4. 剩余数量大于 0 | |
| 71 | + .and(ww -> ww.gt(CouponTemplateDO::getValidEndTime, LocalDateTime.now()) // 3.1 未过期 | |
| 72 | + .or().eq(CouponTemplateDO::getValidityType, CouponTemplateValidityTypeEnum.TERM.getType())) // 3.2 领取之后 | |
| 73 | + .apply(" (take_count < total_count OR total_count = -1 )"); // 4. 剩余数量大于 0,或者无限领取 | |
| 74 | 74 | } |
| 75 | 75 | return canTakeConsumer; |
| 76 | 76 | } | ... | ... |