package com.qs.mp.admin.domain; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.qs.mp.common.enums.CouponDiscountTypeEnum; import com.qs.mp.common.enums.CouponDistributeTypeEnum; import com.qs.mp.common.enums.CouponStatusEnum; import com.qs.mp.common.enums.CouponTypeEnum; import com.qs.mp.common.enums.CouponUseAreaEnum; import java.io.Serializable; import java.util.Date; import lombok.Data; /** * @describe 优惠券实体类 * @auther quanshu * @create 2022-03-07 20:43:44 */ @TableName("mp_coupon") @Data public class Coupon implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "coupon_id", type = IdType.INPUT) private String couponId; /** * 标题 */ @TableField("title") private String title; /** * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券 */ @TableField("type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponTypeEnum type; /** * 图片 */ @TableField("pic_url") private String picUrl; /** * 使用说明 */ @TableField("description") private String description; /** * 优惠类型;1代金券、2折扣券、3兑换券 */ @TableField("discount_type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponDiscountTypeEnum discountType; /** * 优惠金额(比例) */ @TableField("discount") private Integer discount; /** * 最低消费金额 */ @TableField("min_order_amt") private Integer minOrderAmt; /** * 状态;off下架 on正常 */ @TableField("status") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponStatusEnum status; /** * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围 */ @TableField("use_area") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponUseAreaEnum useArea; /** * 发放方式;1系统发放 2用户主动领取 */ @TableField("distribute_type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponDistributeTypeEnum distributeType; /** * 叠加使用;0不允许 1允许 */ @TableField("composite_use") private Integer compositeUse; /** * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期 */ @TableField("due_days") private Integer dueDays; /** * 有效期开始日 */ @TableField("valid_start") private Date validStart; /** * 有效期结束日 */ @TableField("valid_end") private Date validEnd; /** * 总量;总量为0代表不限量 */ @TableField("quantity") private Integer quantity; /** * 已发放量 */ @TableField("distribute_qty") private Integer distributeQty; /** * 创建时间 */ @TableField("created_time") private Date createdTime; /** * 更新时间 */ @TableField("updated_time") private Date updatedTime; }