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.TableLogic; 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 io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @describe 优惠券实体类 * @auther quanshu * @create 2022-03-07 20:43:44 */ @TableName("mp_coupon") @Data @ApiModel("优惠券实体类") public class Coupon implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @ApiModelProperty("优惠券id") @TableId(value = "coupon_id", type = IdType.AUTO) private Long couponId; /** * 标题 */ @ApiModelProperty("标题") @TableField("title") private String title; /** * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券 */ @ApiModelProperty("类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券") @TableField("type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponTypeEnum type; @ApiModelProperty("是否新用户注册发放:0否,1是") @TableField("is_new_user_coupon") private Integer isNewUserCoupon; /** * 图片 */ @ApiModelProperty("图片") @TableField("pic_url") private String picUrl; /** * 使用说明 */ @ApiModelProperty("使用说明") @TableField("description") private String description; /** * 优惠类型;1代金券、2折扣券、3兑换券 */ @ApiModelProperty("优惠类型;1代金券、2折扣券、3兑换券") @TableField("discount_type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponDiscountTypeEnum discountType; /** * 优惠金额(比例) */ @ApiModelProperty("优惠金额(比例)") @TableField("discount") private Integer discount; /** * 最低消费金额 */ @ApiModelProperty("最低消费金额") @TableField("min_order_amt") private Integer minOrderAmt; /** * 渠道代金券,渠道承担比例 */ @ApiModelProperty("渠道代金券,渠道承担比例") @TableField("channel_shared_rate") private Integer channelSharedRate; /** * 状态;off下架 on正常 */ @ApiModelProperty("状态;off下架 on正常") @TableField("status") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponStatusEnum status; /** * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围 * 0:进票门店 1、指定盲票 2:所有门票 */ @ApiModelProperty("使用范围;0通用, 1指定范围, 2门店消费,发放时动态指定范围, 3线上票, 4线下票") @TableField("use_area") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponUseAreaEnum useArea; /** * 发放方式;1系统发放 2用户主动领取 */ @ApiModelProperty("发放方式;1系统发放 2用户主动领取") @TableField("distribute_type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private CouponDistributeTypeEnum distributeType; /** * 叠加使用;0不允许 1允许 */ @ApiModelProperty("叠加使用;0不允许 1允许") @TableField("composite_use") private Integer compositeUse; /** * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期 */ @ApiModelProperty("有效期天数;从领券后开始多少天有效,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("is_deleted") @TableLogic private Integer isDeleted; /** * 创建时间 */ @TableField("created_time") private Date createdTime; /** * 更新时间 */ @TableField("updated_time") private Date updatedTime; /** * 优惠卷详情 */ @TableField("coupon_detail") private String couponDetail; }