package com.qs.mp.admin.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.*;
import com.qs.mp.common.enums.TicketPrizeTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @describe 营销活动奖项对应奖品设置实体类
 * @auther quanshu
 * @create 2022-05-16 14:29:31
 */
@TableName("mp_marketing_awards_prize")
@Data
@ApiModel("营销活动奖项对应奖品设置实体类")
public class MarketingAwardsPrize implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 奖品ID
     */
    @ApiModelProperty("奖品ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 营销活动id
     */
    @ApiModelProperty("营销活动id")
    @TableField("marketing_id")
    private Long marketingId;

    /**
     * 奖项ID
     */
    @ApiModelProperty("奖项ID")
    @TableField("awards_id")
    private Long awardsId;

    /**
     * 奖品ID（GOODS_ID或TEMPL_ID)
     */
    @ApiModelProperty("奖品ID（GOODS_ID或TEMPL_ID)")
    @TableField("ref_id")
    private String refId;

    /**
     * 奖品图片
     */
    @ApiModelProperty("奖品图片")
    @TableField("pic_url")
    private String picUrl;

    /**
     * 奖品名称
     */
    @ApiModelProperty("奖品名称")
    @TableField("title")
    private String title;

    /**
     * 奖品类型 goods 实物商品 coupon优惠券 coin平台代币 coupon_pkg券包
     */
    @ApiModelProperty("奖品类型 goods 实物商品 coupon优惠券 coin平台代币 coupon_pkg券包")
    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
    @TableField("prize_type")
    private TicketPrizeTypeEnum prizeType;

    /**
     * 奖品数
     */
    @ApiModelProperty("奖品数")
    @TableField("quantity")
    private Integer quantity;

    /**
     * 奖品价值
     */
    @ApiModelProperty("奖品价值")
    @TableField("value")
    private Integer value;

    /**
     * 排序权重，值越大越靠前
     */
    @ApiModelProperty("权重排序,值越大越靠前")
    @TableField("sort_weight")
    private Integer sortWeight;

    /**
     * 逻辑删除标识
     */
    @ApiModelProperty("逻辑删除标识")
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField("created_time")
    private Date createdTime;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @TableField("updated_time")
    private Date updatedTime;


}