package com.platomix.userprofile.model;

import java.io.Serializable;

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 lombok.Data;

/**
 * 标签表(AdsUserprofileTag)表实体类
 * ads_userprofile_tag_dev 生产上的临时开发
 * ads_userprofile_tag 生产
 * @author limeng
 * @since 2021-07-07 08:57:30
 */
@Data
@TableName("ads_userprofile_tag")
public class UserprofileTag implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	@TableField("tag_id")
	private String tagId;
	
	@TableField("tag_value")
	private String tagValue;
	
	//标签名
	@TableField("tag_name")
	private String tagName;
	
	//一级分类ID
	@TableField("level_1_id")
	private String level1Id;
	
	//一级分类名称(比如：大网标签/产品标签/算法标签等)
	@TableField("level_1_name")
	private String level1Name;
	
	//二级分类ID
	@TableField("level_2_id")
	private String level2Id;
	
	@TableField("level_2_name")
	private String level2Name;
	// 英文名
	private String englishName;
	// 是否互斥标签
	private String exclusion = "1";
	// 标签类型
	private String tagType = "1";
	// 开发方式
	private String developType = "2";
	// 更新频率
	private String updateType = "月";
	// 是否上线
	private String isOnline = "1";
	// 用户类型 userid/cookieid
	private String userType = "userid";
	// 标签描述
	private String tagDesc;
	// 对应表名
	private String tagTable;
	
	// 对应列的属性[string/array] 
	// string -> 对应clickhouse大宽表的字段名为_C/_V/_E
	// array  -> 对应clickhouse大宽表的字段名为.C/.V/.E
	@TableField("tag_c_type")
	private String tagCType;
	
	// 0:不展示历史 1:展示曲线（柱状）图 2：罗列展示值
	private Integer showHis = 0;
	
	// 查询时 是否已下拉列表展示 0：无可选项 1:有可选项
	private Integer hasDict = 0;
	
	// 查询时 查值的形式 string number datetime bool
	private String searchType;
	
	private Integer tagOrder;
	
	//分桶左侧值
	private String bucketLeft;
	//分桶右侧值
	private String bucketRight;
	//分桶规则公式
	private String bucketFormula;

	/**
	 * @param tagId
	 * @param tagValue
	 * @param tagName
	 * @param level1Id
	 * @param level1Name
	 * @param level2Id
	 * @param level2Name
	 * @param englishName
	 */
	public UserprofileTag(String tagId, String tagName,String tagValue, String level1Id, String level1Name,
			String level2Id, String level2Name, String englishName,String isOnline,Integer showHis,String tagCType,String searchType,
			String tagDesc) {
		super();
		this.tagId = tagId;
		this.tagName = tagName;
		this.tagValue = tagValue;
		this.level1Id = level1Id;
		this.level1Name = level1Name;
		this.level2Id = level2Id;
		this.level2Name = level2Name;
		this.englishName = englishName;

		this.isOnline = isOnline;
		this.showHis = showHis;
		this.tagCType = tagCType;
		this.searchType = searchType;
		this.tagDesc = tagDesc;
	}


	/**
	 * 
	 */
	public UserprofileTag() {
		super();
	}
}
