package com.mzl.flower.dto.request.coupon;
|
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.springframework.format.annotation.DateTimeFormat;
|
|
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotNull;
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
|
@Data
|
public class CreateCouponTemplateDTO {
|
|
@ApiModelProperty(value = "id")
|
private String id;
|
|
/**
|
* 优惠券名称
|
*/
|
@ApiModelProperty(value = "couponName")
|
@NotEmpty(message = "优惠券名称不能为空")
|
private String couponName;
|
|
/**
|
* 优惠券类型(COUPON_TYPE)满减和无门槛
|
*/
|
@ApiModelProperty(value = "优惠券类型")
|
@NotEmpty(message = "优惠券类型不能为空")
|
private String couponDiscountType;
|
|
/**
|
* 领取渠道(COUPON_GET_TYPE)首页弹窗、活动入口、领券中心
|
*/
|
@ApiModelProperty(value = "领取渠道")
|
@NotEmpty(message = "领取渠道不能为空")
|
private String getType;
|
|
|
/**
|
* 优惠券描述(使用规则)
|
*/
|
@ApiModelProperty(value = "使用规则")
|
@NotEmpty(message = "使用规则不能为空")
|
private String couponDescription;
|
|
|
/**
|
* 领取开始时间
|
*/
|
@ApiModelProperty(value = "领取开始时间")
|
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
|
@DateTimeFormat
|
@NotNull(message = "领取开始时间不能为空")
|
private LocalDateTime getStartDate;
|
|
/**
|
* 领取结束时间
|
*/
|
@ApiModelProperty(value = "领取结束时间")
|
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
|
@DateTimeFormat
|
@NotNull(message = "领取结束时间不能为空")
|
private LocalDateTime getEndDate;
|
|
|
/**
|
* 使用时间类型(COUPON_USAGE_TIME_TYPE)与领取时间一致、固定时间、领取后有效
|
*/
|
@ApiModelProperty(value = "使用时间类型")
|
@NotEmpty(message = "使用时间类型不能为空")
|
private String usageType;
|
|
|
/**
|
* 领取后有效类型(COUPON_usage_time_type)天、小时、分钟
|
*/
|
@ApiModelProperty(value = "领取后有效类型 天、小时、分钟")
|
private String usageTimeType;
|
|
/**
|
* 领取后有效时间整数,比如90(天,小时,分钟)
|
*/
|
@ApiModelProperty(value = "领取后有效时间整数")
|
private Integer usageTimeNum;
|
|
|
/**
|
* 使用开始时间
|
*/
|
@ApiModelProperty(value = "使用时间-固定时间-开始日期")
|
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
|
@DateTimeFormat
|
private LocalDateTime usageStartDate;
|
|
/**
|
* 使用结束时间
|
*/
|
@ApiModelProperty(value = "使用时间-固定时间-结束日期")
|
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
|
@DateTimeFormat
|
private LocalDateTime usageEndDate;
|
|
|
/**
|
* 使用条件,最小订单金额(可选)=》使用条件
|
*/
|
@ApiModelProperty(value = "使用条件,满多少钱")
|
@NotNull(message = "使用条件不能为空")
|
private BigDecimal minOrderAmount;
|
|
/**
|
* 优惠券面值 折扣值(百分比或金额)
|
*/
|
@ApiModelProperty(value = "优惠券面值")
|
@NotNull(message = "优惠券面值不能为空")
|
private BigDecimal couponDiscountValue;
|
|
|
|
/**
|
* 发放数量
|
*/
|
@ApiModelProperty(value = "发放数量")
|
@NotNull(message = "发放数量不能为空")
|
private Integer couponAmount;
|
|
|
/**
|
* 每人限领
|
*/
|
@ApiModelProperty(value = "每人限领")
|
@NotNull(message = "每人限领不能为空")
|
private Integer getLimit;
|
|
|
|
}
|