diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java index 46e29ea..616f9b6 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java @@ -86,6 +86,16 @@ public class MusicDTO { */ private List typeNames; + /** + * 音乐类型名称(字符串) + */ + private String typeName; + + /** + * 发行日期 + */ + private LocalDateTime releaseDate; + /** * 是否已收藏 */ diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java index f173094..d13c330 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/SingerDTO.java @@ -33,9 +33,14 @@ public class SingerDTO { private String introduction; /** - * 歌手类型 + * 歌手类型ID */ - private SingerTypeDTO type; + private Long typeId; + + /** + * 歌手类型名称 + */ + private String typeName; /** * 音乐数量 diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/MusicServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/MusicServiceImpl.java index 0728a0d..b9ab3fb 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/MusicServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/MusicServiceImpl.java @@ -650,10 +650,15 @@ public class MusicServiceImpl implements MusicService { // 设置类型ID和名称列表 if (!CollectionUtils.isEmpty(music.getTypes())) { + List typeNames = music.getTypes().stream().map(MusicType::getName).collect(Collectors.toList()); musicDTO.setTypeIds(music.getTypes().stream().map(MusicType::getId).collect(Collectors.toList())); - musicDTO.setTypeNames(music.getTypes().stream().map(MusicType::getName).collect(Collectors.toList())); + musicDTO.setTypeNames(typeNames); + musicDTO.setTypeName(String.join("、", typeNames)); } + // 设置发行日期 + musicDTO.setReleaseDate(music.getCreateTime()); + // 设置歌手ID和名称列表 if (!CollectionUtils.isEmpty(music.getSingers())) { musicDTO.setSingerIds(music.getSingers().stream().map(Singer::getId).collect(Collectors.toList())); diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/SingerServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/SingerServiceImpl.java index 7b93e60..93bb2d8 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/SingerServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/SingerServiceImpl.java @@ -217,8 +217,8 @@ public class SingerServiceImpl implements SingerService { singer.setCollectCount(0); // 设置歌手类型 - if (singerDTO.getType() != null && singerDTO.getType().getId() != null) { - SingerType type = singerTypeRepository.findById(singerDTO.getType().getId()) + if (singerDTO.getTypeId() != null) { + SingerType type = singerTypeRepository.findById(singerDTO.getTypeId()) .orElseThrow(() -> new BusinessException("歌手类型不存在")); singer.setType(type); } @@ -259,8 +259,8 @@ public class SingerServiceImpl implements SingerService { singer.setIntroduction(singerDTO.getIntroduction()); // 更新歌手类型 - if (singerDTO.getType() != null && singerDTO.getType().getId() != null) { - SingerType type = singerTypeRepository.findById(singerDTO.getType().getId()) + if (singerDTO.getTypeId() != null) { + SingerType type = singerTypeRepository.findById(singerDTO.getTypeId()) .orElseThrow(() -> new BusinessException("歌手类型不存在")); singer.setType(type); } @@ -441,9 +441,8 @@ public class SingerServiceImpl implements SingerService { // 设置类型信息 if (singer.getType() != null) { - SingerTypeDTO typeDTO = new SingerTypeDTO(); - BeanUtils.copyProperties(singer.getType(), typeDTO); - singerDTO.setType(typeDTO); + singerDTO.setTypeId(singer.getType().getId()); + singerDTO.setTypeName(singer.getType().getName()); } // 设置音乐数量 diff --git a/music-qianduan/src/views/SingerDetail.vue b/music-qianduan/src/views/SingerDetail.vue index 277cf30..8d52fd0 100644 --- a/music-qianduan/src/views/SingerDetail.vue +++ b/music-qianduan/src/views/SingerDetail.vue @@ -404,21 +404,6 @@ const formatFans = (count) => { } } -// 获取歌手类型名称 -const getSingerTypeName = (type) => { - const typeMap = { - 1: '华语男歌手', - 2: '华语女歌手', - 3: '华语组合', - 4: '欧美男歌手', - 5: '欧美女歌手', - 6: '欧美组合', - 7: '日韩男歌手', - 8: '日韩女歌手', - 9: '日韩组合' - } - return typeMap[type] || '未知' -} // WebSocket 订阅实例 let commentSubscription = null; @@ -480,7 +465,7 @@ onUnmounted(() => {

{{ singer.name }}

-
类型:{{ getSingerTypeName(singer.type) }}
+
类型:{{ singer.typeName }}
{{ singer.musicCount }}