feat(music): 增加歌单和歌手的收藏数和评论数字段

- 在 PlaylistDTO 和 SingerDTO 中添加 collectCount 和 commentCount 字段
- 更新前端 Singer 组件,使用 getSingerById API 获取歌手信息
This commit is contained in:
ikmkj
2025-07-26 13:00:38 +08:00
parent 678149df79
commit 5b30905577
3 changed files with 27 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
package com.test.musichouduan.dto;
import jakarta.persistence.Column;
import lombok.Data;
import java.time.LocalDateTime;
@@ -51,6 +52,17 @@ public class PlaylistDTO {
*/
private Long playCount;
/**
* 收藏数
*/
private Integer collectCount;
/**
* 评论数
*/
private Integer commentCount;
/**
* 歌单中的音乐
*/

View File

@@ -1,5 +1,6 @@
package com.test.musichouduan.dto;
import jakarta.persistence.Column;
import lombok.Data;
import java.time.LocalDateTime;
@@ -46,6 +47,16 @@ public class SingerDTO {
*/
private Long fansCount;
/**
* 收藏数
*/
private Integer collectCount;
/**
* 评论数
*/
private Integer commentCount;
/**
* 是否已收藏
*/

View File

@@ -1,7 +1,7 @@
<script setup>
import { ref, onMounted, computed } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { getSingerList, addSinger as apiAddSinger, updateSinger, deleteSinger } from '../../api/singer'
import { getSingerList, addSinger as apiAddSinger, updateSinger, deleteSinger, getSingerById } from '../../api/singer'
import { getSingerTypeList } from '../../api/admin/type'
import { getMusicList } from '../../api/music'
import { addMusicToSinger, removeMusicFromSinger } from '../../api/singer'
@@ -194,9 +194,9 @@ const fetchMusicList = async () => {
// 获取歌手关联的音乐
const fetchSingerMusic = async (singerId) => {
try {
const res = await getSingerList(1, 1, '', singerId)
if (res.code === 200 && res.data.list[0].musics) {
selectedMusicIds.value = res.data.list[0].musics.map(m => m.id)
const res = await getSingerById(singerId)
if (res.code === 200 && res.data.musics) {
selectedMusicIds.value = res.data.musics.map(m => m.id)
}
} catch (error) {
console.error('获取歌手音乐失败:', error)