package com.goomood.phm.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.goomood.common.annotation.Excel;
import com.goomood.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * 知识图谱实体关系视图对象 als_k_graph_entity_t
 *
 * @author wgk
 * @date 2025-01-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("als_k_graph_entity_t")
public class KGraphEntity extends BasePO  {
    private static final long serialVersionUID = 1L;

    /** 唯一ID */
    @TableId
    @Excel(name = "唯一ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 分句ID */
    @Excel(name = "分句ID")
    @TableField(value = "clause_id")
    private Long clauseId;

    /** 头实体 */
    @Excel(name = "头实体")
    @TableField(value = "head_entity")
    private String headEntity;

    /** 头实体类 */
    @Excel(name = "头实体类")
    @TableField(value = "head_entity_class")
    private String headEntityClass;

    /** 关系 */
    @Excel(name = "关系")
    @TableField(value = "relation")
    private String relation;

    /** 尾实体 */
    @Excel(name = "尾实体")
    @TableField(value = "tail_entity")
    private String tailEntity;

    /** 尾实体类 */
    @Excel(name = "尾实体类")
    @TableField(value = "tail_entity_class")
    private String tailEntityClass;

    /** 状态 */
    @Excel(name = "状态")
    @TableField(value = "status")
    private String status;

    /** 备注 */
    @Excel(name = "备注")
    @TableField(value = "remarks")
    private String remarks;

    /** 删除标识（1删除 0未删除） */
    @Excel(name = "删除标识", readConverterExp = "1=删除,0=未删除")
    @TableField(value = "del_flag")
    private Integer delFlag;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    @TableField(exist = false)
    private String createByName;

    /** 更新人名称 */
    @Excel(name = "更新人名称")
    @TableField(exist = false)
    private String updateByName;
}