package com.mzl.flower.dto.response.coupon; import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.AbstractTransDTO; import com.mzl.flower.base.annotation.DictTrans; import com.mzl.flower.entity.menber.Member; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @Data public class CouponTemplateVO extends AbstractTransDTO { @ApiModelProperty(value = "主键") @DictTrans(target = "id",codeType = "id") private String id; /** * 优惠券种类(活动优惠券、用户优惠券、会员优惠券,积分优惠券) */ @ApiModelProperty(value = "优惠券种类") @DictTrans(target = "categoryName",codeType = "COUPON_CATEGORY") private String category; /** * 优惠券代码(唯一) */ @ApiModelProperty(value = "优惠券代码") private String couponCode; /** * 优惠券名称 */ @ApiModelProperty(value = "优惠券名称") private String couponName; /** * 优惠券描述(使用规则) */ @ApiModelProperty(value = "优惠券描述(使用规则)") private String couponDescription; /** * 发放数量 */ @ApiModelProperty(value = "发放数量") private Integer couponAmount; /** * 优惠券类型(COUPON_TYPE)满减和无门槛 */ @ApiModelProperty(value = "优惠券类型 ") @DictTrans(target = "couponDiscountTypeName",codeType = "COUPON_TYPE") private String couponDiscountType; /** * 优惠券面值 折扣值(百分比或金额) */ @ApiModelProperty(value = "优惠券面值") private BigDecimal couponDiscountValue; /** * 使用条件,最小订单金额(可选)=》使用条件 */ @ApiModelProperty(value = "使用条件") private BigDecimal minOrderAmount; /** * 最大折扣金额(可选,仅对百分比折扣类型适用) */ private BigDecimal maxDiscountAmount; /** * 领取渠道(COUPON_GET_TYPE)首页弹窗、活动入口、领券中心 */ @ApiModelProperty(value = "领取渠道(COUPON_GET_TYPE)") @DictTrans(target = "getTypeName",codeType = "COUPON_GET_TYPE") private String getType; /** * 领取用户类型(COUPON_GET_USER_TYPE)全部用户,指定用户 */ @ApiModelProperty(value = "领取用户类型(COUPON_GET_USER_TYPE)") @DictTrans(target = "getUserTypeName",codeType = "COUPON_GET_USER_TYPE") private String getUserType; /** * 领取开始时间 */ @ApiModelProperty(value = "领取开始时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime getStartDate; /** * 领取结束时间 */ @ApiModelProperty(value = "领取结束时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime getEndDate; /** * 每人限领 */ @ApiModelProperty(value = "每人限领") private Integer getLimit; /** * 使用时间类型(COUPON_USAGE_TYPE)与领取时间一致、固定时间、领取后有效 */ @ApiModelProperty(value = "使用时间类型(COUPON_USAGE_TYPE)") @DictTrans(target = "usageTypeName",codeType = "COUPON_USAGE_TYPE") private String usageType; /** * 使用次数限制 */ @ApiModelProperty(value = "使用次数限制") private Integer usageLimit; /** * 每个用户的使用次数限制 */ @ApiModelProperty(value = "每个用户的使用次数限制") private Integer usagePerUser; /** * 使用开始时间 */ @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; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; /** * 优惠券状态(COUPON_STATUS) */ @ApiModelProperty(value = "优惠券状态(COUPON_STATUS)") @DictTrans(target = "statusName",codeType = "COUPON_STATUS") private String status; /** * 兑换积分 */ @ApiModelProperty(value = "兑换积分") private Integer point; /** * 优惠券类型名称 COUPON_TYPE)满减和无门槛 */ @ApiModelProperty(value = "优惠券类型名称 ") private String couponDiscountTypeName; /** * 领取渠道(COUPON_GET_TYPE)首页弹窗、活动入口、领券中心 */ @ApiModelProperty(value = "领取渠道(COUPON_GET_TYPE)") private String getTypeName; /** * 领取用户类型(COUPON_GET_USER_TYPE)全部用户,指定用户 */ @ApiModelProperty(value = "领取用户类型") private String getUserTypeName; /** * 已经领取数 */ @ApiModelProperty(value = "已经领取数") private Integer getNum; /** * 未领取数 */ @ApiModelProperty(value = "未领取数") private Integer unGetNum; @ApiModelProperty(value = "优惠券种类名称") private String categoryName; /** * 状态名称 */ @ApiModelProperty(value = "状态名称") private String statusName; @ApiModelProperty(value = "领取后有效类型") private String usageTimeTypeName; @ApiModelProperty(value = "使用时间类型") private String usageTypeName; /** * 创建人名称 */ @ApiModelProperty(value = "创建人名称") private String createByName; /** * 更新人名称 */ @ApiModelProperty(value = "更新人名称") private String updateByName; @ApiModelProperty(value = "会员等级") private Integer memberId; @ApiModelProperty(value = "会员等级名称") private String memberName; @ApiModelProperty(value = "商户列表") List customerList; @ApiModelProperty(value = "会员等级对象") private Member member; @ApiModelProperty(value = "发放时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime createTime; @ApiModelProperty(value = "优惠券图片") private String imageUrl; }