fix: 搜索时folderId条件始终生效,根目录folderId为null则搜全部,子目录搜本目录

This commit is contained in:
2026-04-03 18:04:20 +08:00
parent 70c69e16cc
commit 242a4347df

View File

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