package com.aegis.knowledge.domain;

import com.aegis.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 知识库文档实体类 knowledge_document
 *
 * @author
 */
@Getter
@Setter
@ToString(callSuper = true)
@TableName("knowledge_document")
public class KnowledgeDocument extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 文档ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 文档标题 */
    private String title;

    /** 分类ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long categoryId;

    /** 文件ID（关联文件表file_info.id） */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long fileId;

    /** 原始文件名 */
    private String fileName;

    /** 文件大小（字节） */
    private Long fileSize;

    /** 文件类型（PDF、DOC、DOCX等） */
    private String fileType;

    /** 标签（逗号分隔，如：交通,应急,法规） */
    private String tags;

    /** 关键词（逗号分隔，用于搜索和自动调取） */
    private String keywords;

    /** 摘要/描述 */
    private String summary;

    /** 查看次数 */
    private Integer viewCount;

    /** 下载次数 */
    private Integer downloadCount;

    /** 是否推荐 */
    private Boolean isFeatured;

    /** 删除标志 */
    private String delFlag;
}

