package cn.cecep.talroad.domain;


import cn.cecep.talroad.common.core.annotation.Excel;
import cn.cecep.talroad.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;


/**
 * 特征标签对象 pc_label
 *
 * @author szhpt
 * @date 2023-01-10*/
@ApiModel(value = "特征标签")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("pc_label")
public class PcLabel extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @TableId(value = "id")
    @ApiModelProperty(value = "标签类型id")
    /** 标签类型id*/
    private String id;


    @ApiModelProperty(value = "标签类型：手工、非手工")
    /** 标签类型*/
    @Excel(name = "标签类型")
    private String labelType;


    @ApiModelProperty(value = "标签类别、备注说明")
    /** 标签类别*/
    @Excel(name = "标签类别")
    private String labelCategory;


    @ApiModelProperty(value = "标签编码")
    /** 标签编码*/
    @Excel(name = "标签编码")
    private String labelCode;


    @ApiModelProperty(value = "标签名称")
    /** 标签值*/
    @Excel(name = "标签值")
    private String labelVal;


    @ApiModelProperty(value = "标签级别")
    /** 标签级别*/
    @Excel(name = "标签级别")
    private String labelLevel;


    @ApiModelProperty(value = "标签父类id")
    /** 标签父类id*/
    @Excel(name = "标签父类id")
    private String labelParamid;

    @ApiModelProperty(value = "排序")
    /** 排序*/
    private int orderNum;

    @ApiModelProperty(value = "参数是否多选(0:单选，1:多选)")
    /** 参数是否多选(0:单选，1:多选)*/
    private String labelMultipleChoice;

    @ApiModelProperty(value = "标签关联的企业实体类属性")
    private String factoryField;

    @ApiModelProperty(value = "更新时间")
    /** 更新时间 */
    private String updateTimes;

    @ApiModelProperty(value = "标签内容")
    /** 标签内容 */
    @TableField(exist = false)
    private String lablevalue;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("labelType", getLabelType())
            .append("labelCategory", getLabelCategory())
            .append("labelCode", getLabelCode())
            .append("labelVal", getLabelVal())
            .append("labelLevel", getLabelLevel())
            .append("labelParamid", getLabelParamid())
            .append("labelMultipleChoice", getLabelMultipleChoice())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
