fix:文件查询

This commit is contained in:
2025-11-25 10:15:59 +08:00
parent d5a37d8132
commit 6e224fa30d
7 changed files with 66 additions and 26 deletions

View File

@@ -122,7 +122,7 @@ public class DataFileController implements IDataFeignClient {
*/
@PostMapping("/queryDir")
@Operation(summary = "获取文件夹下子文件夹和文件内容信息", description = "查询指定文件夹的内容信息")
public SdmResponse<PageDataResp<List<FileMetadataInfo>>> queryDir(@RequestBody @Validated QueryDirReq req) {
public SdmResponse<PageDataResp<List<FileMetadataInfoResp>>> queryDir(@RequestBody @Validated QueryDirReq req) {
return IDataFileService.queryDir(req);
}
@@ -380,8 +380,8 @@ public class DataFileController implements IDataFeignClient {
@GetMapping("/queryFileMetadataInfo")
@Operation(summary = "根据节点uuid获取节点文件夹信息", description = "获取节点文件夹信息")
public SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(@RequestParam(value = "uuid") String uuid, @RequestParam(value = "uuidOwnType") String uuidOwnType) {
return IDataFileService.queryFileMetadataInfo(uuid, uuidOwnType);
public SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(@RequestParam(value = "uuid") String uuid, @RequestParam(value = "uuidOwnType") String uuidOwnType, @RequestParam(value = "dirId") Integer dirId) {
return IDataFileService.queryFileMetadataInfo(uuid, uuidOwnType, dirId);
}
/**

View File

@@ -12,6 +12,7 @@ import com.sdm.data.model.req.*;
import com.sdm.data.model.resp.KKFileViewURLFromMinioResp;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
@@ -47,7 +48,7 @@ public interface IDataFileService {
* @param req 查询目录请求参数
* @return 目录信息响应
*/
SdmResponse<PageDataResp<List<FileMetadataInfo>>> queryDir(QueryDirReq req);
SdmResponse<PageDataResp<List<FileMetadataInfoResp>>> queryDir(QueryDirReq req);
/**
* 当前目录下的下一层级目录树查询
@@ -314,7 +315,7 @@ public interface IDataFileService {
default SdmResponse approveDataFile(LaunchApproveReq req){return null;};
SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType);
SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType, Integer dirId);
SdmResponse<ChunkUploadMinioFileResp> chunkUploadToMinio(ChunkUploadMinioFileReq req);

View File

@@ -32,10 +32,7 @@ import com.sdm.common.utils.CidSysUserUtil;
import com.sdm.common.utils.PageUtils;
import com.sdm.common.utils.ProjectUtil;
import com.sdm.data.model.bo.ApprovalFileDataContentsModel;
import com.sdm.data.model.entity.FileMetadataExtension;
import com.sdm.data.model.entity.FileMetadataInfo;
import com.sdm.data.model.entity.FileStorage;
import com.sdm.data.model.entity.FileUserPermission;
import com.sdm.data.model.entity.*;
import com.sdm.data.model.req.*;
import com.sdm.data.model.resp.KKFileViewURLFromMinioResp;
import com.sdm.data.service.*;
@@ -208,10 +205,16 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
}
@Override
public SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType) {
FileMetadataInfo entity = fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getRelatedResourceUuid,uuid)
.eq(FileMetadataInfo::getRelatedResourceUuidOwnType,uuidOwnType).one();
public SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType, Integer dirId) {
LambdaQueryWrapper<FileMetadataInfo> queryWrapper = new LambdaQueryWrapper<>();
if (dirId != null) {
queryWrapper.eq(FileMetadataInfo::getId,dirId);
} else {
queryWrapper.eq(FileMetadataInfo::getRelatedResourceUuid,uuid);
queryWrapper.eq(FileMetadataInfo::getRelatedResourceUuidOwnType,uuidOwnType);
}
FileMetadataInfo entity = fileMetadataInfoService.getBaseMapper().selectOne(queryWrapper);
FileMetadataInfoResp dto = new FileMetadataInfoResp();
BeanUtils.copyProperties(entity, dto);
return SdmResponse.success(dto);
@@ -307,9 +310,9 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
String fileMinioObjectKey = getFileMinioObjectKey(dirMetadataInfo.getObjectKey() + modifiedFileName);
// 检查此文件夹下是否有历史同名文件 提示
if (CollectionUtils.isNotEmpty(fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getObjectKey, fileMinioObjectKey).list())) {
return SdmResponse.failed("该文件夹下存在同名文件:" + fileReq.getFileName() + ",请确认是否覆盖");
}
// if (CollectionUtils.isNotEmpty(fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getObjectKey, fileMinioObjectKey).list())) {
// return SdmResponse.failed("该文件夹下存在同名文件:" + fileReq.getFileName() + ",请确认是否覆盖");
// }
boolean hasUploadPermission = fileUserPermissionService.hasFilePermission(dirMetadataInfo.getId(), ThreadLocalContext.getUserId(), FilePermissionEnum.UPLOAD);
if (!hasUploadPermission) {
@@ -891,7 +894,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
}
@Override
public SdmResponse<PageDataResp<List<FileMetadataInfo>>> queryDir(QueryDirReq req) {
public SdmResponse<PageDataResp<List<FileMetadataInfoResp>>> queryDir(QueryDirReq req) {
PageHelper.startPage(req.getCurrent(), req.getSize());
Long parentId;
if (ObjectUtils.isNotEmpty(req.getFileId())) {
@@ -927,8 +930,13 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
setCidInfos(list);
setProjectName(list);
setAnalysisDirectionName(list);
PageInfo<FileMetadataInfo> page = new PageInfo<>(list);
return PageUtils.getJsonObjectSdmResponse(list, page);
List<FileMetadataInfoResp> dtoList = list.stream().map(entity -> {
FileMetadataInfoResp dto = new FileMetadataInfoResp();
BeanUtils.copyProperties(entity, dto);
return dto;
}).collect(Collectors.toList());
PageInfo<FileMetadataInfoResp> page = new PageInfo<>(dtoList);
return PageUtils.getJsonObjectSdmResponse(dtoList, page);
}
@Override

View File

@@ -1276,7 +1276,7 @@ public class SystemFileIDataFileServiceImpl implements IDataFileService {
}
@Override
public SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType) {
public SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType, Integer dirId) {
return null;
}