package com.yonge.cooleshow.biz.dal.entity;

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.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 音乐标签表
 */
@TableName("music_tag")
@ApiModel(value = "MusicTag对象", description = "音乐标签表")
public class MusicTag implements Serializable {
	private static final long serialVersionUID = 1L;
    @ApiModelProperty("标签id ")
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("父级标签id ")
	@TableField(value = "parent_tag_id_")
    private Long parentTagId;

    @ApiModelProperty(value = "标签名称 ",required = true)
	@TableField(value = "name_")
    private String name;

    @TableField(value = "state_")
    @ApiModelProperty(value = "标签状态（0：禁用，1：启用）")
    private YesOrNoEnum state;

	@TableField(value = "del_flag_")
    @ApiModelProperty(value = "假删标识（0：正常，1：删除）")
    private Boolean delFlag= false;

	@TableField(value = "create_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;


    @TableField("create_by_")
    @ApiModelProperty(value = "创建人(后台平台用户)")
    private Long createBy;  //创建人(老师或者是后台平台用户)

	@TableField(value = "update_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;


    @TableField("update_by_")
    @ApiModelProperty(value = "更新人(后台平台用户)")
    private Long updateBy;  //更新人(老师或者是后台平台用户)

	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

	public Long getParentTagId() {
        return parentTagId;
    }

    public void setParentTagId(Long parentTagId) {
        this.parentTagId = parentTagId;
    }

	public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Boolean getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Boolean delFlag) {
        this.delFlag = delFlag;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

	public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public YesOrNoEnum getState() {
        return state;
    }

    public void setState(YesOrNoEnum state) {
        this.state = state;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public Long getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }
}