diff --git a/src/main/java/com/filesystem/service/FileService.java b/src/main/java/com/filesystem/service/FileService.java index 0fe0707..30ee59c 100644 --- a/src/main/java/com/filesystem/service/FileService.java +++ b/src/main/java/com/filesystem/service/FileService.java @@ -48,8 +48,16 @@ public class FileService { wrapper.eq(FileEntity::getUserId, userId) .eq(FileEntity::getIsDeleted, 0); - // 有搜索关键词时:忽略 folderId,查用户所有文件 - if (keyword == null || keyword.isEmpty()) { + boolean hasKeyword = keyword != null && !keyword.isEmpty(); + + if (hasKeyword) { + // 有搜索关键词:根目录搜索查所有,子目录搜索限当前目录 + if (folderId != null) { + wrapper.eq(FileEntity::getFolderId, folderId); + } + wrapper.like(FileEntity::getName, keyword); + } else { + // 无搜索关键词:正常浏览当前目录 if (folderId != null) { wrapper.eq(FileEntity::getFolderId, folderId); } else { @@ -57,10 +65,6 @@ public class FileService { } } - if (keyword != null && !keyword.isEmpty()) { - wrapper.like(FileEntity::getName, keyword); - } - wrapper.orderByDesc(FileEntity::getIsFolder) .orderByDesc(FileEntity::getCreateTime);