修改:知识库列表分页问题优化

This commit is contained in:
yangyang01000846
2025-11-19 14:59:20 +08:00
parent 2d49fa2938
commit 3515b7c3a3
3 changed files with 34 additions and 18 deletions

View File

@@ -43,4 +43,6 @@ public interface DataStorageAnalysis {
SdmResponse batchUpdateUserQuota(List<AddUserQuotaEntity> addUserQuota);
List<Long> getListBigFileId(QueryBigFileReq queryBigFileReq);
}

View File

@@ -10,9 +10,9 @@ import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.system.CIDUserResp;
import com.sdm.common.utils.FileSizeUtils;
import com.sdm.common.feign.impl.project.SimulationNodeFeignClientImpl;
import com.sdm.common.feign.impl.system.SysUserFeignClientImpl;
import com.sdm.common.utils.FileSizeUtils;
import com.sdm.common.utils.PageUtils;
import com.sdm.data.model.dto.NodeSizeDTO;
import com.sdm.data.model.dto.UserTotalFileSizeDTO;
@@ -272,4 +272,31 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
fileStorageQuotaService.saveBatch(fileStorageQuotas);
return SdmResponse.success();
}
/*
* 根据条件查询文件存储表的文件id
* */
@Override
public List<Long> getListBigFileId(QueryBigFileReq queryBigFileReq) {
// 将前端传入的 fileSize 和 fileSizeUnit 转换为字节(B)
Long fileSizeInBytes = null;
if (queryBigFileReq.getFileSize() != null && queryBigFileReq.getFileSizeUnit() != null) {
fileSizeInBytes = convertToBytes(queryBigFileReq.getFileSize(), queryBigFileReq.getFileSizeUnit());
}
List<Long> fileIds = fileStorageService.lambdaQuery()
.select(FileStorage::getFileId)
.eq(ObjectUtils.isNotEmpty(queryBigFileReq.getDirId()), FileStorage::getDirId, queryBigFileReq.getDirId())
.eq(ObjectUtils.isNotEmpty(queryBigFileReq.getFileSuffix()), FileStorage::getFileSuffix, queryBigFileReq.getFileSuffix())
.eq(ObjectUtils.isNotEmpty(queryBigFileReq.getFileBizType()), FileStorage::getFileBizType, queryBigFileReq.getFileBizType())
.like(ObjectUtils.isNotEmpty(queryBigFileReq.getFileName()), FileStorage::getFileName, queryBigFileReq.getFileName())
.gt(ObjectUtils.isNotEmpty(queryBigFileReq.getStartTime()), FileStorage::getCreateTime, queryBigFileReq.getStartTime())
.lt(ObjectUtils.isNotEmpty(queryBigFileReq.getEndTime()), FileStorage::getCreateTime, queryBigFileReq.getEndTime())
.gt(ObjectUtils.isNotEmpty(fileSizeInBytes), FileStorage::getFileSize, fileSizeInBytes)
.list().stream()
.map(FileStorage::getFileId)
.collect(Collectors.toList());
return fileIds ;
}
}

View File

@@ -638,33 +638,20 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
}
BeanUtils.copyProperties(minioFileSearchReq, queryBigFileReq);
SdmResponse<PageDataResp<List<FileStorage>>> searchResult = dataStorageAnalysis.listBigFile(queryBigFileReq);
PageDataResp<List<FileStorage>> pageDataResp = searchResult.getData();
List<FileStorage> data = pageDataResp.getData();
if(CollectionUtils.isEmpty(data)) {
return SdmResponse.success();
}
List<Long> fileIdList = data.stream().map(FileStorage::getFileId).toList();
List<Long> fileIdList =dataStorageAnalysis.getListBigFileId(queryBigFileReq);
PageHelper.startPage(minioFileSearchReq.getCurrent(), minioFileSearchReq.getSize());
List<FileMetadataInfo> files = fileMetadataInfoService
.lambdaQuery()
.in(FileMetadataInfo::getId, fileIdList)
.eq(FileMetadataInfo::getIsLatest, FileIsLastEnum.YES.getValue())
// 这里是知识库文件只展示已经审批通过的文件
// 这里是知识库文件:排除新增在审批的文件
.in(FileMetadataInfo::getApproveType,fileDatdList)
.list();
setCreatorNames(files);
setCidInfos(files);
setProjectName(files);
setAnalysisDirectionName(files);
PageDataResp<List<FileMetadataInfo>> page = new PageDataResp<>();
page.setData(files);
page.setTotal(pageDataResp.getTotal());
page.setCurrentPage(pageDataResp.getCurrentPage());
page.setPageSize(pageDataResp.getPageSize());
// 使用分页查询
PageInfo<FileMetadataInfo> page = new PageInfo<>(files);
return SdmResponse.success(page);
}