package com.ruoyi.promotion.controller.management.dto;
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.ruoyi.common.core.enums.CouponTypeEnum;
|
import com.ruoyi.common.core.enums.DistributionMethodEnum;
|
import com.ruoyi.system.api.validate.InsertGroup;
|
import com.ruoyi.system.api.validate.UpdateGroup;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import java.io.Serializable;
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import lombok.Data;
|
|
/**
|
* @author mitao
|
* @date 2024/6/9
|
*/
|
@Data
|
@ApiModel(value = "管理后台-优惠券数据传输对象", description = "管理后台-优惠券数据传输对象")
|
public class MgtCouponDTO implements Serializable {
|
|
private static final long serialVersionUID = 471073836029292058L;
|
|
@ApiModelProperty(value = "优惠券id", notes = "添加不传,更新必传")
|
@NotNull(message = "优惠券id不能为空", groups = {UpdateGroup.class})
|
private Long id;
|
|
@ApiModelProperty(value = "优惠券名称")
|
@NotBlank(message = "优惠券名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
|
private String couponName;
|
|
@ApiModelProperty(value = "优惠券类型 1=满减券 2=代金券 3=折扣券")
|
@NotNull(message = "优惠券类型不能为空", groups = {InsertGroup.class})
|
private CouponTypeEnum couponType;
|
|
@ApiModelProperty(value = "满减金额,例如:满100元")
|
private BigDecimal fullReductionAmount;
|
|
@ApiModelProperty(value = "减少金额,例如:减50元")
|
private BigDecimal reductionAmount;
|
|
@ApiModelProperty(value = "代金券金额,例如:50元")
|
private BigDecimal voucherAmount;
|
|
@ApiModelProperty(value = "折扣额度,例如:8折")
|
private Double discountRate;
|
|
@ApiModelProperty(value = "最高可抵扣金额,例如:200元")
|
private BigDecimal maxDiscount;
|
|
@ApiModelProperty(value = "优惠券说明")
|
@NotBlank(message = "优惠券说明不能为空", groups = {InsertGroup.class, UpdateGroup.class})
|
private String description;
|
|
@ApiModelProperty(value = "有效期起")
|
@NotNull(message = "有效期起不能为空", groups = {InsertGroup.class})
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
private LocalDateTime startDate;
|
|
@ApiModelProperty(value = "有效期止")
|
@NotNull(message = "有效期止不能为空", groups = {InsertGroup.class})
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
private LocalDateTime endDate;
|
|
@ApiModelProperty(value = "发放方式 全部会员 指定会员等级 指定会员")
|
@NotNull(message = "发放方式不能为空", groups = {InsertGroup.class})
|
private DistributionMethodEnum distributionMethod;
|
|
@ApiModelProperty(value = "会员等级,多等级以 , 隔开")
|
private String memberLevel;
|
|
@ApiModelProperty(value = "发放张数")
|
@NotNull(message = "发放张数不能为空", groups = {InsertGroup.class})
|
private Integer issuedQuantity;
|
|
@ApiModelProperty(value = "会员id列表")
|
private List<Long> memberIdList;
|
|
}
|