129 lines
4.0 KiB
Java
129 lines
4.0 KiB
Java
|
|
package com.bjtds.brichat.service;
|
|||
|
|
|
|||
|
|
import com.bjtds.brichat.entity.dataset.TDatasetFiles;
|
|||
|
|
import com.bjtds.common.utils.Pagination;
|
|||
|
|
|
|||
|
|
import java.util.List;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 知识库文件/文件夹业务层接口
|
|||
|
|
*
|
|||
|
|
* @author system
|
|||
|
|
*/
|
|||
|
|
public interface DatasetFilesService {
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 根据知识库id和parent_id 分页查询 文件/文件夹
|
|||
|
|
*
|
|||
|
|
* @param difyDatasetId 知识库ID
|
|||
|
|
* @param parentId 父目录ID
|
|||
|
|
* @param orderBy 排序字段 (name, size, created_at, updated_at)
|
|||
|
|
* @param orderDirection 排序方向 (ASC, DESC)
|
|||
|
|
* @param pageNo 页码
|
|||
|
|
* @param pageSize 页大小
|
|||
|
|
* @return 分页结果
|
|||
|
|
*/
|
|||
|
|
Pagination<TDatasetFiles> getFilesByDatasetIdAndParentId(String difyDatasetId,
|
|||
|
|
Long parentId,
|
|||
|
|
String orderBy,
|
|||
|
|
String orderDirection,
|
|||
|
|
Integer pageNo,
|
|||
|
|
Integer pageSize);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 根据知识库id和name查询 文件/文件夹
|
|||
|
|
*
|
|||
|
|
* @param difyDatasetId 知识库ID
|
|||
|
|
* @param name 文件/文件夹名称(支持模糊查询)
|
|||
|
|
* @param orderBy 排序字段
|
|||
|
|
* @param orderDirection 排序方向
|
|||
|
|
* @param pageNo 页码
|
|||
|
|
* @param pageSize 页大小
|
|||
|
|
* @return 分页结果
|
|||
|
|
*/
|
|||
|
|
Pagination<TDatasetFiles> getFilesByDatasetIdAndName(String difyDatasetId,
|
|||
|
|
String name,
|
|||
|
|
String orderBy,
|
|||
|
|
String orderDirection,
|
|||
|
|
Integer pageNo,
|
|||
|
|
Integer pageSize);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 根据ID查询文件/文件夹详情
|
|||
|
|
*
|
|||
|
|
* @param id 文件/文件夹ID
|
|||
|
|
* @return 文件/文件夹信息
|
|||
|
|
*/
|
|||
|
|
TDatasetFiles getFileById(Integer id);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 创建文件/文件夹
|
|||
|
|
*
|
|||
|
|
* @param datasetFiles 文件/文件夹信息对象
|
|||
|
|
* @return 创建的文件/文件夹信息
|
|||
|
|
*/
|
|||
|
|
TDatasetFiles createFile(TDatasetFiles datasetFiles);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 删除文件/文件夹(逻辑删除)
|
|||
|
|
*
|
|||
|
|
* @param id 文件/文件夹ID
|
|||
|
|
* @return 是否删除成功
|
|||
|
|
*/
|
|||
|
|
boolean deleteFile(Integer id);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 重命名文件/文件夹
|
|||
|
|
*
|
|||
|
|
* @param id 文件/文件夹ID
|
|||
|
|
* @param newName 新名称
|
|||
|
|
* @return 是否重命名成功
|
|||
|
|
*/
|
|||
|
|
boolean renameFile(Integer id, String newName);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 检查同一父目录下是否存在同名文件/文件夹
|
|||
|
|
*
|
|||
|
|
* @param parentId 父目录ID
|
|||
|
|
* @param name 文件/文件夹名称
|
|||
|
|
* @param difyDatasetId 知识库ID
|
|||
|
|
* @param excludeId 排除的ID(用于重命名时排除自己)
|
|||
|
|
* @return 是否存在同名文件/文件夹
|
|||
|
|
*/
|
|||
|
|
boolean checkNameExists(Long parentId, String name, String difyDatasetId, Integer excludeId);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 根据路径查询文件/文件夹
|
|||
|
|
*
|
|||
|
|
* @param path 路径
|
|||
|
|
* @param difyDatasetId 知识库ID
|
|||
|
|
* @return 文件/文件夹信息
|
|||
|
|
*/
|
|||
|
|
TDatasetFiles getFileByPath(String path, String difyDatasetId);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 更新文件/文件夹信息
|
|||
|
|
*
|
|||
|
|
* @param datasetFiles 文件/文件夹信息
|
|||
|
|
* @return 是否更新成功
|
|||
|
|
*/
|
|||
|
|
boolean updateFile(TDatasetFiles datasetFiles);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 构建文件完整路径
|
|||
|
|
*
|
|||
|
|
* @param parentPath 父目录路径
|
|||
|
|
* @param fileName 文件名
|
|||
|
|
* @return 完整路径
|
|||
|
|
*/
|
|||
|
|
String buildFilePath(String parentPath, String fileName);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取父目录路径
|
|||
|
|
*
|
|||
|
|
* @param parentId 父目录ID
|
|||
|
|
* @param difyDatasetId 知识库ID
|
|||
|
|
* @return 父目录路径,如果是根目录返回空字符串
|
|||
|
|
*/
|
|||
|
|
String getParentPath(Long parentId, String difyDatasetId);
|
|||
|
|
}
|