package shop.alien.entity.store;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;

/**
 * 标签
 */
@Data
@JsonInclude
@TableName("tag_category")
@ApiModel(value = "tag_category", description = "tag_category")
public class TagCategory extends Model<TagCategory> {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "标签名称")
    @TableField("tag_name")
    @JsonProperty("label")
    private String tagName;

    @ApiModelProperty(value = "标签排序")
    @TableField("tag_sort")
    private Integer tagSort;

    @ApiModelProperty(value = "删除标识")
    @TableLogic
    @TableField("delete_flag")
    private Integer  deleteFlag;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "created_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    @ApiModelProperty(value = "创建人ID")
    @TableField("created_user_id")
    private Integer createdUserId;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    @ApiModelProperty(value = "修改人ID")
    @TableField("updated_user_id")
    private Integer updatedUserId;

    @ApiModelProperty(value = "标签类型")
    @TableField("label_type")
    private String labelType;

    @ApiModelProperty(value = "标签按钮类型")
    @TableField("label_button_type")
    private String labelButtonType;


    @ApiModelProperty(value = "按钮名称1")
    @TableField("label_button_option_one")
    private String labelButtonOptionOne;

    @ApiModelProperty(value = "按钮名称2")
    @TableField("label_button_option_two")
    private String labelButtonOptionTwo;

    @ApiModelProperty(value = "标签描述")
    @TableField("label_describe")
    private String labelDescribe;

    @ApiModelProperty(value = "预留字段1")
    @JsonProperty("field_1")
    @TableField("field_one")
    private String fieldOne;

    @ApiModelProperty(value = "预留字段2")
    @JsonProperty("field_2")
    @TableField("field_two")
    private String fieldTwo;
}
