定价规则时长重复提示修改、折扣上下限修改

This commit is contained in:
gaoqr
2025-09-03 11:33:25 +08:00
parent c1ad7a5613
commit 63a996c1a1
4 changed files with 16 additions and 5 deletions
@@ -53,8 +53,8 @@ public class ProductDetailsSaveReqVO {
private BigDecimal originalPrice;
@Schema(description = "折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.8")
@DecimalMax(value = "100", inclusive = false, message = "折扣必须小于100")
@DecimalMin(value = "0", inclusive = false, message = "折扣必须大于0")
@DecimalMax(value = "100", message = "折扣必须小于等于100")
@DecimalMin(value = "0", message = "折扣必须大于等于0")
private BigDecimal discount;
@Schema(description = "产品现价", requiredMode = Schema.RequiredMode.REQUIRED, example = "80")
@@ -55,4 +55,15 @@ public enum DurationUnitEnum implements IntArrayValuable, BaseEnum {
.findFirst()
.orElse(null);
}
/**
* 获取描述desc,否则返回null
*
* @param status
* @return
*/
public static String getDesc(Integer status) {
DurationUnitEnum unit = fromStatus(status);
return unit != null ? unit.getDesc() : null;
}
}
@@ -12,6 +12,7 @@ import com.cf.imes.module.system.dal.dataobject.funds.products.ProductsDO;
import com.cf.imes.module.system.dal.dataobject.funds.products.ProductsDetailDO;
import com.cf.imes.module.system.dal.mysql.funds.products.ProductsDetailMapper;
import com.cf.imes.module.system.dal.mysql.funds.products.ProductsMapper;
import com.cf.imes.module.system.enums.pay.DurationUnitEnum;
import com.cf.imes.module.system.enums.products.ProductStatusEnum;
import com.cf.imes.module.system.enums.products.ProductsPurchaseTypeEnum;
import org.springframework.stereotype.Service;
@@ -20,7 +21,6 @@ import org.springframework.validation.annotation.Validated;
import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@@ -197,7 +197,7 @@ public class ProductsDetailServiceImpl implements ProductsDetailService {
// 时长去重
count = productDetailsMapper.selectCountByDuration(createReqVO.getProductId(), createReqVO.getId(), duration, durationUnit);
if (count > 0) {
throw ServiceExceptionUtil.exception(PRODUCTS_DETAIL_DURATION_EXIST, duration, durationUnit);
throw ServiceExceptionUtil.exception(PRODUCTS_DETAIL_DURATION_EXIST, duration, DurationUnitEnum.getDesc(durationUnit));
}
} else if (createReqVO.getPurchaseType() == 1) {
//产量去重