package com.fs.aicall.mapper;

import com.fs.aicall.domain.CcLlmKb;
import com.fs.common.annotation.DataSource;
import com.fs.common.enums.DataSourceType;

import java.util.List;

/**
 * 知识库内容Mapper接口
 * 
 * @author ruoyi
 * @date 2026-01-19
 */
public interface CcLlmKbMapper 
{
    /**
     * 查询知识库内容
     * 
     * @param id 知识库内容主键
     * @return 知识库内容
     */
    @DataSource(DataSourceType.EASYCALL)
    public CcLlmKb selectCcLlmKbById(Long id);

    /**
     * 查询知识库内容列表
     * 
     * @param ccLlmKb 知识库内容
     * @return 知识库内容集合
     */
    @DataSource(DataSourceType.EASYCALL)
    public List<CcLlmKb> selectCcLlmKbList(CcLlmKb ccLlmKb);

    /**
     * 新增知识库内容
     * 
     * @param ccLlmKb 知识库内容
     * @return 结果
     */
    @DataSource(DataSourceType.EASYCALL)
    public int insertCcLlmKb(CcLlmKb ccLlmKb);

    /**
     * 修改知识库内容
     * 
     * @param ccLlmKb 知识库内容
     * @return 结果
     */
    @DataSource(DataSourceType.EASYCALL)
    public int updateCcLlmKb(CcLlmKb ccLlmKb);

    /**
     * 删除知识库内容
     * 
     * @param id 知识库内容主键
     * @return 结果
     */
    @DataSource(DataSourceType.EASYCALL)
    public int deleteCcLlmKbById(Long id);

    /**
     * 批量删除知识库内容
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    @DataSource(DataSourceType.EASYCALL)
    public int deleteCcLlmKbByIds(String[] ids);

    @DataSource(DataSourceType.EASYCALL)
    Integer selectCountByCatId(Long catId);

    @DataSource(DataSourceType.EASYCALL)
    void deleteCcLlmKbByCatId(Long catId);

    @DataSource(DataSourceType.EASYCALL)
    void insertBatch(List<CcLlmKb> ccLlmKbList);
}
