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; }