diff --git a/music-houduan/pom.xml b/music-houduan/pom.xml index da190c4..44afb67 100644 --- a/music-houduan/pom.xml +++ b/music-houduan/pom.xml @@ -33,12 +33,12 @@ - - - - - - + + org.springframework.boot + spring-boot-devtools + runtime + true + diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java index 60630d9..6404b26 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java @@ -90,10 +90,16 @@ public class PlaylistServiceImpl implements PlaylistService { // 构建查询条件 Specification spec = (root, query, cb) -> { List predicates = new ArrayList<>(); + query.distinct(true); // 添加 distinct 查询 // 关键字查询 if (StringUtils.hasText(keyword)) { - predicates.add(cb.like(root.get("name"), "%" + keyword + "%")); + // 搜索歌单名、描述、创建者用户名以及歌单内的音乐名 + Predicate p1 = cb.like(root.get("name"), "%" + keyword + "%"); + Predicate p2 = cb.like(root.get("description"), "%" + keyword + "%"); + Predicate p3 = cb.like(root.join("creator").get("username"), "%" + keyword + "%"); + Predicate p4 = cb.like(root.join("musics", jakarta.persistence.criteria.JoinType.LEFT).get("name"), "%" + keyword + "%"); + predicates.add(cb.or(p1, p2, p3, p4)); } // 类型查询 diff --git a/music-qianduan/src/views/Playlist.vue b/music-qianduan/src/views/Playlist.vue index fa6f9c9..848acf0 100644 --- a/music-qianduan/src/views/Playlist.vue +++ b/music-qianduan/src/views/Playlist.vue @@ -243,7 +243,7 @@ onMounted(() => { -
+

热门歌单

{
-

全部歌单

+

搜索结果

+

全部歌单