feat: 知识库添加 knowledgeBaseName

This commit is contained in:
2026-01-22 19:19:57 +08:00
parent a4a4eed05a
commit b37bcaa2d5
4 changed files with 26 additions and 1 deletions

View File

@@ -119,6 +119,9 @@ public class FileMetadataInfoResp extends BaseResp implements Serializable {
@Schema(description = "权限值") @Schema(description = "权限值")
private Integer permissionValue; private Integer permissionValue;
@Schema(description = "知识库名称")
private String knowledgeBaseName;
private String approvalStatus; private String approvalStatus;
private String approveType; private String approveType;
private String tempMetadata; private String tempMetadata;

View File

@@ -85,6 +85,14 @@ public class DataFileController implements IDataFeignClient {
return IDataFileService.approveDataFile(req); return IDataFileService.approveDataFile(req);
} }
//判断是否为空文件夹
@GetMapping("/isDirEmpty")
@Operation(summary = "判断是否为空文件夹", description = "根据请求参数判断指定文件夹是否为空")
public SdmResponse isDirEmpty(@RequestParam("dirId") Long dirId) {
return IDataFileService.isDirEmpty(dirId);
}
/** /**
* 删除文件夹 * 删除文件夹
* *

View File

@@ -40,6 +40,10 @@ public interface IDataFileService {
return null; return null;
} }
default SdmResponse isDirEmpty(Long dirId) {
return null;
}
/** /**
* 删除目录 * 删除目录
* @param req 删除目录请求参数 * @param req 删除目录请求参数

View File

@@ -494,6 +494,13 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
} }
} }
@Override
public SdmResponse isDirEmpty(Long dirId) {
return SdmResponse.success(fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getParentId, dirId)
.exists());
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public SdmResponse delDir(DelDirReq req) { public SdmResponse delDir(DelDirReq req) {
@@ -655,7 +662,6 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
// 文件夹 // 文件夹
FileMetadataInfo dirMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, deleteFileMetadataInfo.getParentId()).eq(FileMetadataInfo::getDataType, DataTypeEnum.DIRECTORY.getValue()).one(); FileMetadataInfo dirMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, deleteFileMetadataInfo.getParentId()).eq(FileMetadataInfo::getDataType, DataTypeEnum.DIRECTORY.getValue()).one();
String deleteFileMinioObejctKey = deleteFileMetadataInfo.getObjectKey();
/*boolean hasDeletePermission = fileUserPermissionService.hasFilePermission(deleteFileMetadataInfo.getId(), ThreadLocalContext.getUserId(), FilePermissionEnum.DELETE); /*boolean hasDeletePermission = fileUserPermissionService.hasFilePermission(deleteFileMetadataInfo.getId(), ThreadLocalContext.getUserId(), FilePermissionEnum.DELETE);
if (!hasDeletePermission) { if (!hasDeletePermission) {
@@ -782,6 +788,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
//计算当前用户对该文件的综合权限位 //计算当前用户对该文件的综合权限位
// 对于列表查询,如果层级很深,频繁递归会有性能问题。 // 对于列表查询,如果层级很深,频繁递归会有性能问题。
dto.setPermissionValue(fileUserPermissionService.getMergedPermission(dto.getId(), ThreadLocalContext.getUserId())); dto.setPermissionValue(fileUserPermissionService.getMergedPermission(dto.getId(), ThreadLocalContext.getUserId()));
dto.setKnowledgeBaseName(extractRelativePath(fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, dto.getParentId()).one()));
return dto; return dto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
PageDataResp<List<FileStorage>> pageDataResp = searchResult.getData(); PageDataResp<List<FileStorage>> pageDataResp = searchResult.getData();
@@ -851,6 +858,8 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
setSimulationPoolAndTaskInfo(list); setSimulationPoolAndTaskInfo(list);
PageInfo<FileMetadataInfo> page = new PageInfo<>(list); PageInfo<FileMetadataInfo> page = new PageInfo<>(list);
long total = page.getTotal(); long total = page.getTotal();
FileMetadataInfo dirMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, parentId).one();
String knowledgeBaseName = extractRelativePath(dirMetadataInfo);
List<FileMetadataInfoResp> dtoList = list.stream().map(entity -> { List<FileMetadataInfoResp> dtoList = list.stream().map(entity -> {
FileMetadataInfoResp dto = new FileMetadataInfoResp(); FileMetadataInfoResp dto = new FileMetadataInfoResp();
BeanUtils.copyProperties(entity, dto); BeanUtils.copyProperties(entity, dto);
@@ -858,6 +867,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
//计算当前用户对该文件的综合权限位 //计算当前用户对该文件的综合权限位
// 对于列表查询,如果层级很深,频繁递归会有性能问题。 // 对于列表查询,如果层级很深,频繁递归会有性能问题。
dto.setPermissionValue(fileUserPermissionService.getMergedPermission(entity.getId(), ThreadLocalContext.getUserId())); dto.setPermissionValue(fileUserPermissionService.getMergedPermission(entity.getId(), ThreadLocalContext.getUserId()));
dto.setKnowledgeBaseName(knowledgeBaseName);
return dto; return dto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
PageInfo<FileMetadataInfoResp> page1 = new PageInfo<>(dtoList); PageInfo<FileMetadataInfoResp> page1 = new PageInfo<>(dtoList);