feat(singer): 添加歌手评论数和收藏数功能
- 在 SingerDetail.vue 中添加评论数和收藏数的格式化计算属性 - 更新后端 SingerServiceImpl 类,添加评论数和收藏数的查询逻辑 - 在前端页面中使用格式化的评论数和收藏数
This commit is contained in:
@@ -12,6 +12,7 @@ import com.test.musichouduan.entity.Music;
|
||||
import com.test.musichouduan.exception.BusinessException;
|
||||
import com.test.musichouduan.repository.MusicRepository;
|
||||
import com.test.musichouduan.repository.SingerRepository;
|
||||
import com.test.musichouduan.repository.CommentRepository;
|
||||
import com.test.musichouduan.repository.SingerTypeRepository;
|
||||
import com.test.musichouduan.repository.UserRepository;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
@@ -78,6 +79,9 @@ public class SingerServiceImpl implements SingerService {
|
||||
@Autowired
|
||||
private FileService fileService;
|
||||
|
||||
@Autowired
|
||||
private CommentRepository commentRepository;
|
||||
|
||||
@Override
|
||||
public SingerDTO getSingerById(Long id) {
|
||||
Singer singer = singerRepository.findById(id)
|
||||
@@ -452,12 +456,14 @@ public class SingerServiceImpl implements SingerService {
|
||||
Long musicCount = musicRepository.countBySingersContaining(singer);
|
||||
singerDTO.setMusicCount(musicCount);
|
||||
|
||||
// // 设置粉丝数量
|
||||
// Long fansCount = userSingerRepository.count();
|
||||
// singerDTO.setFansCount(fansCount);
|
||||
// 设置粉丝数量
|
||||
Long fansCount = userSingerRepository.countBySingerId(singer.getId());
|
||||
singerDTO.setFansCount(fansCount);
|
||||
singerDTO.setCollectCount(fansCount.intValue());
|
||||
|
||||
// 设置评论数
|
||||
long commentCount = commentRepository.countByTargetIdAndTargetType(singer.getId(), 3); // 3 for singer
|
||||
singerDTO.setCommentCount((int) commentCount);
|
||||
|
||||
// 检查当前登录用户是否已收藏该歌手
|
||||
if (StpUtil.isLogin()) {
|
||||
|
||||
Reference in New Issue
Block a user