修改:知识库列表分页问题优化
This commit is contained in:
@@ -43,4 +43,6 @@ public interface DataStorageAnalysis {
|
||||
|
||||
SdmResponse batchUpdateUserQuota(List<AddUserQuotaEntity> addUserQuota);
|
||||
|
||||
List<Long> getListBigFileId(QueryBigFileReq queryBigFileReq);
|
||||
|
||||
}
|
||||
|
||||
@@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user