From 6c31cd0c4247562212a962f4da661eac0db64f32 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 17 Apr 2025 17:13:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=87=BA=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E6=97=B6=E7=94=A8=E6=88=B7=E5=88=9B=E5=BB=BA=E7=9A=84?= =?UTF-8?q?=E7=A9=BA=E6=96=87=E4=BB=B6=E5=A4=B9=E6=A0=A1=E9=AA=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/pojo/models/FileTagRelation.java | 2 ++ .../service/serviceimpl/EdFileInfoServiceImpl.java | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java index bfc55d9..543c01b 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileTagRelation.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.EqualsAndHashCode; +@EqualsAndHashCode(callSuper = true) @Data @TableName("file_tag_relations") public class FileTagRelation extends BaseModel { diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index a3ffcb7..eb58c41 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -873,6 +873,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl resFiles = new HashSet<>(maps.values()); + String prjId = resFiles.stream().findFirst().get().getFilePath().split(MYSQL_FILE_PATH_SPLIT)[0]; List prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT) @@ -886,12 +887,22 @@ public class EdFileInfoServiceImpl extends ServiceImpl files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).toList(); for (EdFileInfo edFileInfo : files) { String filePath = commonService.getFileSysPath(edFileInfo.getId()); // file String destPath = userDownloadDataDir + File.separator + EXPORT_PRJ_NAME + "_" + nowTimeStr + File.separator + EXPORT_PRJ_NAME + File.separator + edFileInfo.getId(); fileSystemService.copyFile(filePath, destPath); } + // 去除用户创建的空文件夹 + List userFolders = resFiles.stream().filter(e -> + e.getDataType().equals(EleDataTypeEnum.FOLDER.code) && DataOwnEnum.isFileCode(e.getDataOwn()) + ).toList(); + List userFolderIds = userFolders.stream().map(EdFileInfo::getId).collect(Collectors.toList()); + List fileParentIds = files.stream().map(EdFileInfo::getParentId).toList(); + userFolderIds.removeAll(fileParentIds); + resFiles = resFiles.stream().filter(e -> !userFolderIds.contains(e.getId())).collect(Collectors.toSet()); + String json = JSONUtil.toJsonStr(resFiles); String mysqlFilePath = userDownloadDataDir + File.separator + EXPORT_PRJ_NAME + "_" + nowTimeStr + File.separator + PRJ_INFO + ".json"; fileSystemService.writeStringToFile(mysqlFilePath, json);