package tech.easyflow.ai.entity.base;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.core.handler.FastjsonTypeHandler;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Map;


public class DocumentChunkBase implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Generator, value = "snowFlakeId")
    private BigInteger id;

    /**
     * 文档ID
     */
    @Column(comment = "文档ID")
    private BigInteger documentId;

    /**
     * 知识库ID
     */
    @Column(comment = "知识库ID")
    private BigInteger documentCollectionId;

    /**
     * 分块内容
     */
    @Column(comment = "分块内容")
    private String content;

    /**
     * 分割顺序
     */
    @Column(comment = "分割顺序")
    private Integer sorting;

    /**
     * 扩展元信息
     */
    @Column(typeHandler = FastjsonTypeHandler.class, comment = "扩展元信息")
    private Map<String, Object> options;

    public BigInteger getId() {
        return id;
    }

    public void setId(BigInteger id) {
        this.id = id;
    }

    public BigInteger getDocumentId() {
        return documentId;
    }

    public void setDocumentId(BigInteger documentId) {
        this.documentId = documentId;
    }

    public BigInteger getDocumentCollectionId() {
        return documentCollectionId;
    }

    public void setDocumentCollectionId(BigInteger documentCollectionId) {
        this.documentCollectionId = documentCollectionId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getSorting() {
        return sorting;
    }

    public void setSorting(Integer sorting) {
        this.sorting = sorting;
    }

    public Map<String, Object> getOptions() {
        return options;
    }

    public void setOptions(Map<String, Object> options) {
        this.options = options;
    }

}
