huliguo
2 天以前 d617e84caebaf2e7aa09c55cb2bd89c5a23ef8ac
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponEditDto.java
@@ -1,10 +1,13 @@
package com.ruoyi.member.domain.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
@@ -23,7 +26,7 @@
    @ApiModelProperty(value = "优惠券id 新增不传")
    private String couponId;
    @ApiModelProperty(value="优惠券类型1.满减2.折扣3.代金4.商品")
    @ApiModelProperty(value="优惠券类型1.满减2.折扣3.代金4.商品5.抽奖领取")
    @NotNull(message = "优惠券类型不能为空")
    private Integer couponType;
@@ -50,6 +53,7 @@
    private Integer useScope;
    @ApiModelProperty(value = "有效期类型1.时间段2.领取之日起")
    @Range(min = 1, max = 2, message = "有效期类型只能是1或2")
    private Integer validTimeType;
    @ApiModelProperty(value = "有效开始时间")
@@ -84,4 +88,40 @@
    @ApiModelProperty(value = "关联用户id集合")
    private List<Long> relUserIdList;
    @ApiModelProperty(value = "宣传海报")
    private String propagandaPoster;
    @ApiModelProperty(value = "发放限制数量")
    private Integer sendLimitNumber;
    @ApiModelProperty(value = "发放限制0否1是")
    private Integer sendLimitFlag;
    @ApiModelProperty(value = "领取限制数量 0为不限")
    private Integer limitNumber;
    @ApiModelProperty("分享文案")
    private String sharePassage;
    @ApiModelProperty("分享图片")
    private String sharePic;
    // 自定义校验逻辑
    @AssertTrue(message = "当有效期类型为时间段时,有效开始时间和有效截止时间不能为空")
    public boolean isValidTimeRange() {
        if (validTimeType == null) return true; // 由@NotNull校验
        if (validTimeType == 1) {
            return validStartTime != null && validEndTime != null;
        }
        return true;
    }
    @AssertTrue(message = "当有效期类型为领取之日起时,有效期不能为空且必须大于0")
    public boolean isValidDay() {
        if (validTimeType == null) return true;
        if (validTimeType == 2) {
            return validDay != null && validDay > 0;
        }
        return true;
    }
}