Merge branch 'main' of http://192.168.65.198:3000/toolchaintechnologycenter/spdm-backend
# Conflicts: # project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java
This commit is contained in:
@@ -52,7 +52,7 @@ public class DataStorageAnalysisController {
|
||||
return dataStorageAnalysis.getNodeSizeByNodeType(queryNodeType, uuid, intervalMonths, targetYm);
|
||||
} catch (Exception e) {
|
||||
log.error("获取文件空间占用失败", e);
|
||||
return SdmResponse.failed("获取文件空间占用");
|
||||
return SdmResponse.failed("获取文件空间占用失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.sdm.common.entity.req.data.GetFileSimulationMappingReq;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.feign.inter.data.IFileSimulationMappingFeignClient;
|
||||
import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq;
|
||||
import com.sdm.data.model.entity.FileSimulationMapping;
|
||||
import com.sdm.data.service.IFileSimulationMappingService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -16,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -34,8 +34,8 @@ public class FileSimulationMappingController implements IFileSimulationMappingFe
|
||||
* 保存工况任务与文件绑定关系
|
||||
*/
|
||||
@PostMapping("/saveFileSimulationMapping")
|
||||
public SdmResponse saveFileSimulationMapping(@RequestBody SaveFileSimulationMappingReq saveFileSimulationMappingReq) {
|
||||
return fileSimulationMappingService.saveSimulationAndFileMapping(saveFileSimulationMappingReq);
|
||||
public SdmResponse batchSaveFileSimulationMapping(@RequestBody List<SaveFileSimulationMappingReq> saveFileSimulationMappingReq) {
|
||||
return fileSimulationMappingService.batchSaveFileSimulationMapping(saveFileSimulationMappingReq);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,5 +47,16 @@ public class FileSimulationMappingController implements IFileSimulationMappingFe
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据工况库ID,版本号批量查询文件信息
|
||||
* @param getFileSimulationMappingReq
|
||||
* @return taskFileMapping; key: 工况任务ID; value: 文件信息列表
|
||||
*/
|
||||
@PostMapping("/batchGetFileSimulationMappingBySimulationPoolIdAndVersion")
|
||||
public SdmResponse<Map<String, List<FileMetadataInfoResp>>> batchGetFileSimulationMappingBySimulationPoolIdAndVersion(@RequestBody GetFileSimulationMappingReq getFileSimulationMappingReq){
|
||||
return fileSimulationMappingService.batchGetFileSimulationMappingBySimulationPoolIdAndVersion(getFileSimulationMappingReq);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Schema(description = "文件搜索请求参数")
|
||||
@@ -70,7 +71,7 @@ public class FileSearchReq extends BaseReq {
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "文件业务类型(1:模型文件 2:仿真报告、3:计算文件、4:曲线文件、5:云图文件,6:网格文件,7:计算过程文件)",enumAsRef = true)
|
||||
private Integer fileBizType;
|
||||
private List<Integer> fileBizType;
|
||||
|
||||
/**
|
||||
* 是否过滤空数据
|
||||
|
||||
@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class QueryBigFileReq extends BaseReq {
|
||||
@@ -47,9 +48,15 @@ public class QueryBigFileReq extends BaseReq {
|
||||
private String fileSuffix;
|
||||
|
||||
@Schema(description = "文件业务类型(1:模型文件 2:仿真报告、3:计算文件、4:曲线文件、5:云图文件,6:网格文件,7:计算过程文件)")
|
||||
private Integer fileBizType;
|
||||
private List<Integer> fileBizType;
|
||||
|
||||
@Schema(description = "上传人id")
|
||||
private String uploadUserId;
|
||||
private List<Long> uploadUserId;
|
||||
|
||||
@Schema(description = "审批类型")
|
||||
private List<Integer> approveTypeList;
|
||||
|
||||
@Schema(description = "是否最新")
|
||||
Boolean isLatest=true;
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -20,10 +21,17 @@ import java.util.List;
|
||||
public interface IFileSimulationMappingService extends IService<FileSimulationMapping> {
|
||||
void saveFileSimulationMapping(Long fileId,Integer simulationPoolId,String simulationPoolVersion,List<String> simulationPoolTaskIds);
|
||||
|
||||
SdmResponse saveSimulationAndFileMapping(SaveFileSimulationMappingReq saveFileSimulationMappingReq);
|
||||
SdmResponse batchSaveFileSimulationMapping(List<SaveFileSimulationMappingReq> saveFileSimulationMappingReq);
|
||||
|
||||
/**
|
||||
* 根据工况库ID,版本号,工况任务ID查询文件信息
|
||||
*/
|
||||
SdmResponse<List<FileMetadataInfoResp>> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq);
|
||||
|
||||
/**
|
||||
* 根据工况库ID,版本号批量查询文件信息
|
||||
* @param getFileSimulationMappingReq
|
||||
* @return taskFileMapping; key: 工况任务ID; value: 文件信息列表
|
||||
*/
|
||||
SdmResponse<Map<String, List<FileMetadataInfoResp>>> batchGetFileSimulationMappingBySimulationPoolIdAndVersion(GetFileSimulationMappingReq getFileSimulationMappingReq);
|
||||
}
|
||||
|
||||
@@ -169,6 +169,12 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
|
||||
|
||||
@Override
|
||||
public SdmResponse<PageDataResp<List<FileStorage>>> listBigFile(QueryBigFileReq queryBigFileReq) {
|
||||
List<FileStorage> list = getFileStorages(queryBigFileReq);
|
||||
PageInfo<FileStorage> page = new PageInfo<>(list);
|
||||
return PageUtils.getJsonObjectSdmResponse(list, page);
|
||||
}
|
||||
|
||||
private List<FileStorage> getFileStorages(QueryBigFileReq queryBigFileReq) {
|
||||
// 将前端传入的 fileSize 和 fileSizeUnit 转换为字节(B)
|
||||
Long fileSizeInBytes = null;
|
||||
if (queryBigFileReq.getFileSize() != null && queryBigFileReq.getFileSizeUnit() != null) {
|
||||
@@ -177,8 +183,7 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
|
||||
|
||||
PageHelper.startPage(queryBigFileReq.getCurrent(), queryBigFileReq.getSize());
|
||||
List<FileStorage> list = fileStorageService.selectBigFiles(queryBigFileReq, fileSizeInBytes);
|
||||
PageInfo<FileStorage> page = new PageInfo<>(list);
|
||||
return PageUtils.getJsonObjectSdmResponse(list, page);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -273,32 +278,8 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
|
||||
* */
|
||||
@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> userIds = StringUtils.isBlank(queryBigFileReq.getUploadUserId())
|
||||
? new ArrayList<>()
|
||||
: Arrays.stream(queryBigFileReq.getUploadUserId().split(","))
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
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)
|
||||
.in(org.apache.commons.collections4.CollectionUtils.isNotEmpty(userIds), FileStorage::getUserId, userIds)
|
||||
.list().stream()
|
||||
return getFileStorages(queryBigFileReq).stream()
|
||||
.map(FileStorage::getFileId)
|
||||
.collect(Collectors.toList());
|
||||
return fileIds ;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -253,17 +253,35 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
|
||||
// 2、再查询原本的普通文件夹信息,需要isProjectDimension=true 只查询普通文件夹,不查询节点文件夹,union all 查询node的fileId 后 分页查询
|
||||
Long parentDirId;
|
||||
List<Long> dirInfos = null;
|
||||
if (ObjectUtils.isNotEmpty(req.getFileId())) {
|
||||
//fileId 不为空,是右侧点击进入文件夹下一层级查询
|
||||
parentDirId = req.getFileId();
|
||||
Optional<FileMetadataInfo> parentDirInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, parentDirId).oneOpt();
|
||||
if (!parentDirInfo.isPresent()) {
|
||||
return SdmResponse.failed("父文件夹不存在");
|
||||
}
|
||||
} else {
|
||||
if(ObjectUtils.isEmpty(req.getFileId())){
|
||||
// 第一次进入数据总览页面,右侧不展示文件和文件夹
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
if(0L==req.getFileId()){
|
||||
// 和前端规定 0=触发根目录按钮,相当于获取左侧文件树的根节点文件夹
|
||||
GetSimulationNodeTreeReq getSimulationNodeTreeReq = new GetSimulationNodeTreeReq();
|
||||
getSimulationNodeTreeReq.setDimensionTemplateId(req.getDimensionTemplateId());
|
||||
getSimulationNodeTreeReq.setFileId(null);
|
||||
SdmResponse<List<FileMetadataInfo>> nodeDirInfos = getSimulationNodeTree(getSimulationNodeTreeReq);
|
||||
if (nodeDirInfos.isSuccess() && ObjectUtils.isNotEmpty(nodeDirInfos.getData())) {
|
||||
dirInfos = nodeDirInfos.getData().stream().map(FileMetadataInfo::getId).toList();
|
||||
}
|
||||
|
||||
PageHelper.startPage(req.getCurrent(), req.getSize());
|
||||
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, dirInfos).list();
|
||||
|
||||
PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfos);
|
||||
return PageUtils.getJsonObjectSdmResponse(fileMetadataInfos, page);
|
||||
}
|
||||
|
||||
//fileId 不为空也不为0,是右侧点击进入文件夹下一层级查询
|
||||
parentDirId = req.getFileId();
|
||||
Optional<FileMetadataInfo> parentDirInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, parentDirId).oneOpt();
|
||||
if (!parentDirInfo.isPresent()) {
|
||||
return SdmResponse.failed("父文件夹不存在");
|
||||
}
|
||||
|
||||
// relatedResourceUuid和relatedResourceUuidOwnType不为空才是节点文件夹,才需要查询子节点文件夹文件
|
||||
GetSimulationNodeTreeReq getSimulationNodeTreeReq = new GetSimulationNodeTreeReq();
|
||||
getSimulationNodeTreeReq.setDimensionTemplateId(req.getDimensionTemplateId());
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.sdm.data.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.data.GetFileSimulationMappingReq;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
@@ -14,9 +13,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -30,7 +32,8 @@ import java.util.List;
|
||||
public class FileSimulationMappingServiceImpl extends ServiceImpl<FileSimulationMappingMapper, FileSimulationMapping> implements IFileSimulationMappingService {
|
||||
@Autowired
|
||||
IFileMetadataInfoService fileMetadataInfoService;
|
||||
public void saveFileSimulationMapping(Long fileId,Integer simulationPoolId,String simulationPoolVersion,List<String> simulationPoolTaskIds){
|
||||
|
||||
public void saveFileSimulationMapping(Long fileId, Integer simulationPoolId, String simulationPoolVersion, List<String> simulationPoolTaskIds) {
|
||||
// 先删除原先所有的文件绑定关系
|
||||
this.lambdaUpdate().eq(FileSimulationMapping::getFileId, fileId).remove();
|
||||
// 再新增新的文件绑定关系
|
||||
@@ -45,16 +48,21 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl<FileSimulation
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse saveSimulationAndFileMapping(SaveFileSimulationMappingReq saveFileSimulationMappingReq) {
|
||||
saveFileSimulationMappingReq.getFileIds().forEach(fileId -> {
|
||||
FileSimulationMapping fileSimulationMapping = new FileSimulationMapping();
|
||||
fileSimulationMapping.setFileId(fileId);
|
||||
fileSimulationMapping.setSimulationPoolId(saveFileSimulationMappingReq.getSimulationPoolId());
|
||||
fileSimulationMapping.setSimulationPoolVersion(saveFileSimulationMappingReq.getSimulationPoolVersion());
|
||||
fileSimulationMapping.setSimulationPoolTaskId(saveFileSimulationMappingReq.getSimulationPoolTaskId());
|
||||
this.save(fileSimulationMapping);
|
||||
});
|
||||
return SdmResponse.success();
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SdmResponse batchSaveFileSimulationMapping(List<SaveFileSimulationMappingReq> saveFileSimulationMappingReqList) {
|
||||
List<FileSimulationMapping> fileSimulationMappings = new ArrayList<>();
|
||||
for (SaveFileSimulationMappingReq fileSimulationMappingReq : saveFileSimulationMappingReqList) {
|
||||
fileSimulationMappingReq.getFileIds().forEach(fileId -> {
|
||||
FileSimulationMapping fileSimulationMapping = new FileSimulationMapping();
|
||||
fileSimulationMapping.setFileId(fileId);
|
||||
fileSimulationMapping.setSimulationPoolId(fileSimulationMappingReq.getSimulationPoolId());
|
||||
fileSimulationMapping.setSimulationPoolVersion(fileSimulationMappingReq.getSimulationPoolVersion());
|
||||
fileSimulationMapping.setSimulationPoolTaskId(fileSimulationMappingReq.getSimulationPoolTaskId());
|
||||
fileSimulationMappings.add(fileSimulationMapping);
|
||||
});
|
||||
}
|
||||
this.saveBatch(fileSimulationMappings);
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -67,7 +75,7 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl<FileSimulation
|
||||
return SdmResponse.success();
|
||||
}
|
||||
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList()).list();
|
||||
if (fileMetadataInfos.isEmpty()){
|
||||
if (fileMetadataInfos.isEmpty()) {
|
||||
return SdmResponse.success();
|
||||
}
|
||||
List<FileMetadataInfoResp> fileMetadataInfoResps = new ArrayList<>();
|
||||
@@ -78,7 +86,32 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl<FileSimulation
|
||||
});
|
||||
|
||||
return SdmResponse.success(fileMetadataInfoResps);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<Map<String, List<FileMetadataInfoResp>>> batchGetFileSimulationMappingBySimulationPoolIdAndVersion(GetFileSimulationMappingReq getFileSimulationMappingReq) {
|
||||
List<FileSimulationMapping> list = this.lambdaQuery().eq(FileSimulationMapping::getSimulationPoolId, getFileSimulationMappingReq.getSimulationPoolId())
|
||||
.eq(FileSimulationMapping::getSimulationPoolVersion, getFileSimulationMappingReq.getSimulationPoolVersion())
|
||||
.list();
|
||||
if (list.isEmpty()) {
|
||||
return SdmResponse.success();
|
||||
}
|
||||
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList()).list();
|
||||
if (fileMetadataInfos.isEmpty()) {
|
||||
return SdmResponse.success();
|
||||
}
|
||||
List<FileMetadataInfoResp> fileMetadataInfoResps = new ArrayList<>();
|
||||
fileMetadataInfos.forEach(fileMetadataInfo -> {
|
||||
FileMetadataInfoResp fileMetadataInfoResp = new FileMetadataInfoResp();
|
||||
BeanUtils.copyProperties(fileMetadataInfo, fileMetadataInfoResp);
|
||||
fileMetadataInfoResps.add(fileMetadataInfoResp);
|
||||
});
|
||||
|
||||
Map<Long, FileMetadataInfoResp> fileId2Filemeta = fileMetadataInfoResps.stream().collect(Collectors.toMap(FileMetadataInfoResp::getId, file -> file));
|
||||
// list 依据工况任务id simulationPoolTaskId 对fileId分组,用fileId2Filemeta替换分组的内容
|
||||
Map<String, List<FileMetadataInfoResp>> simulationPoolTaskId2Files = list.stream().collect(Collectors.groupingBy(FileSimulationMapping::getSimulationPoolTaskId,
|
||||
Collectors.mapping(fileSimu -> fileId2Filemeta.get(fileSimu.getFileId()), Collectors.toList())));
|
||||
|
||||
return SdmResponse.success(simulationPoolTaskId2Files);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -879,29 +879,31 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
fileMetadataInfo = fileMetadataInfoService.getById(minioFileSearchReq.getParentDirId());
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(minioFileSearchReq, queryBigFileReq);
|
||||
if (ObjectUtils.isNotEmpty(fileMetadataInfo)) {
|
||||
queryBigFileReq.setDirId(fileMetadataInfo.getId());
|
||||
queryBigFileReq.setCurrent(minioFileSearchReq.getCurrent());
|
||||
queryBigFileReq.setSize(minioFileSearchReq.getSize());
|
||||
}
|
||||
BeanUtils.copyProperties(minioFileSearchReq, queryBigFileReq);
|
||||
// 这里是知识库文件:排除新增在审批的文件
|
||||
queryBigFileReq.setApproveTypeList(fileDatdList);
|
||||
queryBigFileReq.setIsLatest(true);
|
||||
|
||||
List<Long> creatorIds = org.apache.commons.lang3.StringUtils.isBlank(minioFileSearchReq.getUploadUserId())
|
||||
? new ArrayList<>()
|
||||
: Arrays.stream(minioFileSearchReq.getUploadUserId().split(","))
|
||||
.filter(org.apache.commons.lang3.StringUtils::isNotBlank)
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
queryBigFileReq.setUploadUserId(creatorIds);
|
||||
|
||||
List<Long> fileIdList =dataStorageAnalysis.getListBigFileId(queryBigFileReq);
|
||||
if(CollectionUtils.isEmpty(fileIdList)){
|
||||
return SdmResponse.success();
|
||||
}
|
||||
// 可变查询条件
|
||||
List<Long> creatorIds = org.apache.commons.lang3.StringUtils.isBlank(queryBigFileReq.getUploadUserId())
|
||||
? new ArrayList<>()
|
||||
: Arrays.stream(queryBigFileReq.getUploadUserId().split(","))
|
||||
.filter(org.apache.commons.lang3.StringUtils::isNotBlank)
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
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)
|
||||
.in(org.apache.commons.collections4.CollectionUtils.isNotEmpty(creatorIds), FileMetadataInfo::getCreatorId, creatorIds)
|
||||
.list();
|
||||
setCreatorNames(files);
|
||||
setCidInfos(files);
|
||||
|
||||
@@ -28,6 +28,8 @@ public class ModifyFileApproveStrategy implements ApproveStrategy {
|
||||
// 最新的历史版本为
|
||||
FileMetadataInfo historyMetaData = service.lambdaQuery()
|
||||
.eq(FileMetadataInfo::getFileGroupId, metadata.getFileGroupId())
|
||||
// 当前老的还在生效的数据
|
||||
.eq(FileMetadataInfo::getIsLatest, true)
|
||||
.orderByDesc(FileMetadataInfo::getUpdateTime)
|
||||
.last("limit 1")
|
||||
.one();
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
dirId,
|
||||
SUM(fileSize) AS totalSize
|
||||
FROM file_storage
|
||||
WHERE dirId
|
||||
WHERE dirId IN
|
||||
<foreach collection="directoryIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
@@ -105,26 +105,42 @@
|
||||
left join file_metadata_info on file_storage.fileId = file_metadata_info.id
|
||||
<where>
|
||||
file_metadata_info.id is not null
|
||||
and file_metadata_info.isLatest = #{queryBigFileReq.isLatest}
|
||||
<if test="queryBigFileReq.approveTypeList != null and queryBigFileReq.approveTypeList.size()>0">
|
||||
AND file_metadata_info.approveType IN
|
||||
<foreach collection="queryBigFileReq.approveTypeList" item="approveType" open="(" separator="," close=")">
|
||||
#{approveType}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="queryBigFileReq.dirId != null">
|
||||
AND dirId = #{queryBigFileReq.dirId}
|
||||
AND file_storage.dirId = #{queryBigFileReq.dirId}
|
||||
</if>
|
||||
<if test="queryBigFileReq.fileSuffix != null and queryBigFileReq.fileSuffix != ''">
|
||||
AND fileSuffix = #{queryBigFileReq.fileSuffix}
|
||||
AND file_storage.fileSuffix = #{queryBigFileReq.fileSuffix}
|
||||
</if>
|
||||
<if test="queryBigFileReq.fileBizType != null">
|
||||
AND fileBizType = #{queryBigFileReq.fileBizType}
|
||||
<if test="queryBigFileReq.fileBizType != null and queryBigFileReq.fileBizType.size()>0">
|
||||
AND file_storage.fileBizType IN
|
||||
<foreach collection="queryBigFileReq.fileBizType" item="type" open="(" separator="," close=")">
|
||||
#{type}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="queryBigFileReq.fileName != null and queryBigFileReq.fileName != ''">
|
||||
AND fileName LIKE CONCAT('%', #{queryBigFileReq.fileName}, '%')
|
||||
AND file_storage.fileName LIKE CONCAT('%', #{queryBigFileReq.fileName}, '%')
|
||||
</if>
|
||||
<if test="queryBigFileReq.startTime != null">
|
||||
AND createTime >= #{queryBigFileReq.startTime}
|
||||
AND file_storage.createTime >= #{queryBigFileReq.startTime}
|
||||
</if>
|
||||
<if test="queryBigFileReq.endTime != null">
|
||||
AND createTime <= #{queryBigFileReq.endTime}
|
||||
AND file_storage.createTime <= #{queryBigFileReq.endTime}
|
||||
</if>
|
||||
<if test="fileSizeInBytes != null">
|
||||
AND fileSize > #{fileSizeInBytes}
|
||||
AND file_storage.fileSize > #{fileSizeInBytes}
|
||||
</if>
|
||||
<if test="queryBigFileReq.uploadUserId != null and queryBigFileReq.uploadUserId.size()>0">
|
||||
AND file_storage.userId IN
|
||||
<foreach collection="queryBigFileReq.uploadUserId" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
Reference in New Issue
Block a user