package com.liangjian.dataplatform.member.entity.po.elasticsearch;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.elasticsearch.common.Nullable;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;

/**
 * @author 黄树文
 * @date 2020/3/10 14:57
 */
@Data
@Accessors(chain = true)
@Document(indexName = "areadatatags", type = "_doc")
@JsonIgnoreProperties(ignoreUnknown=true)
public class AreaDataTag {

    @Id
    private String id;

    @Field(name = "ObjectId")
    @JsonProperty("ObjectId")
    private String ObjectId;

    @Field(name = "TagKey")
    @JsonProperty("TagKey")
    private Integer TagKey;

    @Field(name = "TagId")
    @JsonProperty("TagId")
    private Integer TagId;

    @Field(name = "TagName")
    @JsonProperty("TagName")
    private String TagName;

    @Field(name = "ObjectId")
    @JsonProperty("TagTypeId")
    private Integer TagTypeId;

    @Field(name = "TagTypeName")
    @JsonProperty("TagTypeName")
    private String TagTypeName;

    @Field(name = "TagCrtTime")
    @JsonProperty("TagCrtTime")
    private Long TagCrtTime;

    @Nullable
    @Field(name = "Ill_Type")
    @JsonProperty("Ill_Type")
    private String Ill_Type;

    @Nullable
    @Field(name = "IsValid")
    @JsonProperty("IsValid")
    private String IsValid;

    @Nullable
    @Field(name = "TagBu")
    @JsonProperty("TagBu")
    private String TagBu;

    @Nullable
    @Field(name = "TagCode")
    @JsonProperty("TagCode")
    private String TagCode;

    @Nullable
    @Field(name = "TagDemo")
    @JsonProperty("TagDemo")
    private String TagDemo;

    @Nullable
    @Field(name = "TagDesc")
    @JsonProperty("TagDesc")
    private String TagDesc;

    @Nullable
    @Field(name = "TagFormula")
    @JsonProperty("TagFormula")
    private String TagFormula;

    @Nullable
    @Field(name = "TagFormulaDesc")
    @JsonProperty("TagFormulaDesc")
    private String TagFormulaDesc;

    @Nullable
    @Field(name = "TagPath")
    @JsonProperty("TagPath")
    private String TagPath;

    @Nullable
    @Field(name = "TagSecurityType")
    @JsonProperty("TagSecurityType")
    private String TagSecurityType;

    @Nullable
    @Field(name = "TagValidDates")
    @JsonProperty("TagValidDates")
    private Long TagValidDates;

    @Nullable
    @Field(name = "TagValidEnd")
    @JsonProperty("TagValidEnd")
    private Date TagValidEnd;

    @Nullable
    @Field(name = "TagValue")
    @JsonProperty("TagValue")
    private String TagValue;

    @Nullable
    @Field(name = "TagValueDesc")
    @JsonProperty("TagValueDesc")
    private String TagValueDesc;

}
