package com.aegis.knowledge.domain;

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

/**
 * 知识库分类实体类 knowledge_category
 *
 * @author
 */
@Getter
@Setter
@ToString(callSuper = true)
@TableName("knowledge_category")
public class KnowledgeCategory extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /** 分类名称（如：法律法规、政策规定、标准规范） */
    private String name;

    /** 分类代码 */
    private String code;

    /** 父分类ID（支持多级分类） */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long parentId;

    /** 排序 */
    private Integer sortOrder;

    /** 描述 */
    private String description;

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

    /** 子分类列表 */
    @TableField(exist = false)
    private List<KnowledgeCategory> children;
}

