This commit is contained in:
2025-12-03 17:40:05 +08:00
7 changed files with 54 additions and 16 deletions

View File

@@ -15,6 +15,7 @@ import java.util.List;
* @since 2025-09-05
*/
public interface FileMetadataInfoMapper extends BaseMapper<FileMetadataInfo> {
List<FileMetadataInfo> listSimulationNodeFiles(@Param("parentId") Long parentId,@Param("fileIds") List<Long> fileIds);
List<FileMetadataInfo> listSimulationNodeDir(@Param("dirIds") List<Long> dirIds,@Param("filterEmptyData") boolean filterEmptyData);
List<FileMetadataInfo> listSimulationNodeFiles(@Param("parentId") Long parentId,@Param("fileIds") List<Long> fileIds, @Param("filterEmptyData") boolean isFilterEmptyData);
}

View File

@@ -12,11 +12,17 @@ public class ListSimulationNodeTreeReq extends BaseReq {
*/
@Schema(description = "数据展示维度模版ID")
@NotEmpty(message = "数据展示维度模版ID不能为空")
private Long dimensionTemplateId;
Long dimensionTemplateId;
/**
* 文件夹ID
*/
@Schema(description = "文件夹ID")
Long fileId;
/**
* 是否过滤空数据
*/
@Schema(description = "是否过滤空数据")
boolean filterEmptyData =false;
}

View File

@@ -1,8 +1,6 @@
package com.sdm.data.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sdm.data.model.dto.NodeSizeDTO;
import com.sdm.data.model.dto.UserTotalFileSizeDTO;
import com.sdm.data.model.entity.FileMetadataInfo;
import java.util.List;
@@ -16,5 +14,10 @@ import java.util.List;
* @since 2025-09-05
*/
public interface IFileMetadataInfoService extends IService<FileMetadataInfo> {
List<FileMetadataInfo> listSimulationNodeFiles(Long parentId,List<Long> fileIds);
/**
* 数据总览 需要过滤空文件夹查询文件夹
* @return
*/
List<FileMetadataInfo> listSimulationNodeDir(List<Long> dirIds,boolean filterEmptyData);
List<FileMetadataInfo> listSimulationNodeFiles(Long parentId, List<Long> fileIds, boolean isFilterEmptyData);
}

View File

@@ -241,7 +241,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
return SdmResponse.success(resultDir);
}
List<FileMetadataInfo> nodeDirInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getRelatedResourceUuid, uuids).list();
List<FileMetadataInfo> nodeDirInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getRelatedResourceUuid, uuids).orderByDesc(FileMetadataInfo::getCreateTime).list();
resultDir.addAll(nodeDirInfos);
return SdmResponse.success(resultDir);
}
@@ -269,7 +269,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
}
PageHelper.startPage(req.getCurrent(), req.getSize());
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, dirInfos).list();
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.listSimulationNodeDir(dirInfos, req.isFilterEmptyData());
PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfos);
return PageUtils.getJsonObjectSdmResponse(fileMetadataInfos, page);
@@ -293,7 +293,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
PageHelper.startPage(req.getCurrent(), req.getSize());
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.listSimulationNodeFiles(parentDirId, dirInfos);
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.listSimulationNodeFiles(parentDirId, dirInfos,req.isFilterEmptyData());
PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfos);
return PageUtils.getJsonObjectSdmResponse(fileMetadataInfos, page);

View File

@@ -2,11 +2,8 @@ package com.sdm.data.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sdm.data.dao.FileMetadataInfoMapper;
import com.sdm.data.model.dto.NodeSizeDTO;
import com.sdm.data.model.dto.UserTotalFileSizeDTO;
import com.sdm.data.model.entity.FileMetadataInfo;
import com.sdm.data.service.IFileMetadataInfoService;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -22,7 +19,12 @@ import java.util.List;
@Service
public class FileMetadataInfoServiceImpl extends ServiceImpl<FileMetadataInfoMapper, FileMetadataInfo> implements IFileMetadataInfoService {
@Override
public List<FileMetadataInfo> listSimulationNodeFiles(Long parentId, List<Long> fileIds) {
return this.baseMapper.listSimulationNodeFiles(parentId,fileIds);
public List<FileMetadataInfo> listSimulationNodeDir(List<Long> dirIds,boolean filterEmptyData) {
return this.baseMapper.listSimulationNodeDir(dirIds, filterEmptyData);
}
@Override
public List<FileMetadataInfo> listSimulationNodeFiles(Long parentId, List<Long> fileIds, boolean isFilterEmptyData) {
return this.baseMapper.listSimulationNodeFiles(parentId,fileIds,isFilterEmptyData);
}
}

View File

@@ -1,9 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sdm.data.dao.FileMetadataInfoMapper">
<select id="listSimulationNodeDir" resultType="com.sdm.data.model.entity.FileMetadataInfo">
SELECT distinct file_metadata_info.*
FROM file_metadata_info
<if test="filterEmptyData != null and filterEmptyData">
LEFT JOIN file_storage ON file_metadata_info.id = file_storage.dirId
</if>
WHERE file_metadata_info.id IN (
<foreach collection="dirIds" item="dirId" separator=",">
#{dirId}
</foreach>
)
<if test="filterEmptyData != null and filterEmptyData">
AND file_storage.fileId IS NOT NULL
</if>
</select>
<select id="listSimulationNodeFiles" resultType="com.sdm.data.model.entity.FileMetadataInfo">
<!-- 第一个子查询文件(必执行) -->
SELECT *
SELECT distinct file_metadata_info.*
FROM file_metadata_info
WHERE parentId = #{parentId}
AND dataType = 2
@@ -13,13 +31,20 @@
<if test="fileIds != null">
UNION ALL
(
SELECT *
SELECT file_metadata_info.*
FROM file_metadata_info
WHERE id IN (
<if test="filterEmptyData != null and filterEmptyData">
LEFT JOIN file_storage ON file_metadata_info.id = file_storage.dirId
</if>
WHERE file_metadata_info.id IN (
<foreach collection="fileIds" item="fileId" separator=",">
#{fileId}
</foreach>
)
<if test="filterEmptyData != null and filterEmptyData">
AND file_storage.fileId IS NOT NULL
</if>
)
</if>

View File

@@ -764,6 +764,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
List<SimulationNode> nodeList = this.lambdaQuery()
.eq(ObjectUtils.isNotEmpty(nodeId), SimulationNode::getId, nodeId)
.eq(ObjectUtils.isNotEmpty(nodeType), SimulationNode::getNodeType, nodeType)
.orderByDesc(SimulationNode::getCreateTime)
.list();
if (CollectionUtils.isEmpty(nodeList)) {
return SdmResponse.failed("未找到节点");