From 3515b7c3a39bf7334a8d9b427019bab49803430f Mon Sep 17 00:00:00 2001 From: yangyang01000846 <15195822163@163.com> Date: Wed, 19 Nov 2025 14:59:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E5=88=97=E8=A1=A8=E5=88=86=E9=A1=B5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdm/data/service/DataStorageAnalysis.java | 2 ++ .../service/impl/DataStorageAnalysisImpl.java | 29 ++++++++++++++++++- .../impl/MinioFileIDataFileServiceImpl.java | 21 +++----------- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/data/src/main/java/com/sdm/data/service/DataStorageAnalysis.java b/data/src/main/java/com/sdm/data/service/DataStorageAnalysis.java index 91e3b3ec..c13629ce 100644 --- a/data/src/main/java/com/sdm/data/service/DataStorageAnalysis.java +++ b/data/src/main/java/com/sdm/data/service/DataStorageAnalysis.java @@ -43,4 +43,6 @@ public interface DataStorageAnalysis { SdmResponse batchUpdateUserQuota(List addUserQuota); + List getListBigFileId(QueryBigFileReq queryBigFileReq); + } diff --git a/data/src/main/java/com/sdm/data/service/impl/DataStorageAnalysisImpl.java b/data/src/main/java/com/sdm/data/service/impl/DataStorageAnalysisImpl.java index a2e16430..4e15acd6 100644 --- a/data/src/main/java/com/sdm/data/service/impl/DataStorageAnalysisImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/DataStorageAnalysisImpl.java @@ -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 getListBigFileId(QueryBigFileReq queryBigFileReq) { + // 将前端传入的 fileSize 和 fileSizeUnit 转换为字节(B) + Long fileSizeInBytes = null; + if (queryBigFileReq.getFileSize() != null && queryBigFileReq.getFileSizeUnit() != null) { + fileSizeInBytes = convertToBytes(queryBigFileReq.getFileSize(), queryBigFileReq.getFileSizeUnit()); + } + List 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 ; + } + + } \ No newline at end of file diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index 9fa3b1fa..7a8ba0d2 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -638,33 +638,20 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { } BeanUtils.copyProperties(minioFileSearchReq, queryBigFileReq); - - SdmResponse>> searchResult = dataStorageAnalysis.listBigFile(queryBigFileReq); - PageDataResp> pageDataResp = searchResult.getData(); - List data = pageDataResp.getData(); - if(CollectionUtils.isEmpty(data)) { - return SdmResponse.success(); - } - List fileIdList = data.stream().map(FileStorage::getFileId).toList(); - - + List fileIdList =dataStorageAnalysis.getListBigFileId(queryBigFileReq); + PageHelper.startPage(minioFileSearchReq.getCurrent(), minioFileSearchReq.getSize()); List 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> page = new PageDataResp<>(); - page.setData(files); - page.setTotal(pageDataResp.getTotal()); - page.setCurrentPage(pageDataResp.getCurrentPage()); - page.setPageSize(pageDataResp.getPageSize()); - // 使用分页查询 + PageInfo page = new PageInfo<>(files); return SdmResponse.success(page); }