【缺陷修复】商城:优惠劵在不限制时,无法发送的问题

This commit is contained in:
YunaiV 2024-10-27 20:33:49 +08:00
parent b1ad2f8176
commit 8d4cc35cde
3 changed files with 9 additions and 2 deletions

View File

@ -30,6 +30,11 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
public class CouponTemplateDO extends BaseDO {
/**
* 不限制领取数量
*/
public static final Integer TIME_LIMIT_COUNT_MAX = -1;
// ========== 基本信息 BEGIN ==========
/**
* 模板编号自增唯一

View File

@ -269,7 +269,8 @@ public class CouponServiceImpl implements CouponService {
throw exception(COUPON_TEMPLATE_NOT_EXISTS);
}
// 校验剩余数量
if (couponTemplate.getTakeCount() + userIds.size() > couponTemplate.getTotalCount()) {
if (ObjUtil.notEqual(couponTemplate.getTakeLimitCount(), CouponTemplateDO.TIME_LIMIT_COUNT_MAX) // 非不限制
&& couponTemplate.getTakeCount() + userIds.size() > couponTemplate.getTotalCount()) {
throw exception(COUPON_TEMPLATE_NOT_ENOUGH);
}
// 校验"固定日期"的有效期类型是否过期

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.promotion.service.coupon;
import cn.hutool.core.util.ObjUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.product.api.category.ProductCategoryApi;
@ -59,7 +60,7 @@ public class CouponTemplateServiceImpl implements CouponTemplateService {
CouponTemplateDO couponTemplate = validateCouponTemplateExists(updateReqVO.getId());
// 校验发放数量不能过小仅在 CouponTakeTypeEnum.USER 用户领取时
if (CouponTakeTypeEnum.isUser(couponTemplate.getTakeType())
&& updateReqVO.getTotalCount() > 0 // 大于 0 的原因是因为 -1 不限制
&& ObjUtil.notEqual(couponTemplate.getTakeLimitCount(), CouponTemplateDO.TIME_LIMIT_COUNT_MAX) // 不限制
&& updateReqVO.getTotalCount() < couponTemplate.getTakeCount()) {
throw exception(COUPON_TEMPLATE_TOTAL_COUNT_TOO_SMALL, couponTemplate.getTakeCount());
}