feat: 初始化音乐项目后台管理系统- 新增后台管理相关页面和功能组件

- 实现管理员评论管理、数据统计等功能
- 添加后台布局和路由管理
-配置数据库和Redis连接
- 实现文件上传和访问路径配置
- 添加Sa-Token安全配置
This commit is contained in:
ikmkj
2025-04-26 19:32:45 +08:00
commit b275ffab5a
185 changed files with 32763 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
package com.test.musichouduan.service;
import com.test.musichouduan.dto.PageResult;
import com.test.musichouduan.dto.SingerDTO;
import com.test.musichouduan.entity.Singer;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 歌手服务接口
*/
public interface SingerService {
/**
* 根据ID获取歌手
*
* @param id 歌手ID
* @return 歌手DTO
*/
SingerDTO getSingerById(Long id);
/**
* 分页获取歌手列表
*
* @param page 页码
* @param size 每页大小
* @param keyword 关键字
* @param typeId 类型ID
* @return 分页结果
*/
PageResult<SingerDTO> getSingerList(Integer page, Integer size, String keyword, Long typeId);
/**
* 获取最新歌手列表
*
* @param limit 限制数量
* @return 歌手列表
*/
List<SingerDTO> getLatestSinger(Integer limit);
/**
* 获取热门歌手列表
*
* @param limit 限制数量
* @return 歌手列表
*/
List<SingerDTO> getHotSinger(Integer limit);
/**
* 添加歌手
*
* @param singerDTO 歌手DTO
* @param avatar 头像文件
* @return 歌手DTO
*/
SingerDTO addSinger(SingerDTO singerDTO, MultipartFile avatar);
/**
* 更新歌手
*
* @param id 歌手ID
* @param singerDTO 歌手DTO
* @param avatar 头像文件
* @return 歌手DTO
*/
SingerDTO updateSinger(Long id, SingerDTO singerDTO, MultipartFile avatar);
/**
* 删除歌手
*
* @param id 歌手ID
* @return 是否成功
*/
boolean deleteSinger(Long id);
/**
* 收藏歌手
*
* @param id 歌手ID
* @return 是否成功
*/
boolean collectSinger(Long id);
/**
* 取消收藏歌手
*
* @param id 歌手ID
* @return 是否成功
*/
boolean uncollectSinger(Long id);
/**
* 获取用户收藏的歌手列表
*
* @param page 页码
* @param size 每页大小
* @return 分页结果
*/
PageResult<SingerDTO> getCollectedSinger(Integer page, Integer size);
/**
* 添加音乐到歌手
* @param singerId 歌手ID
* @param musicId 音乐ID
* @return 是否成功
*/
boolean addMusicToSinger(Long singerId, Long musicId);
/**
* 从歌手移除音乐
* @param singerId 歌手ID
* @param musicId 音乐ID
* @return 是否成功
*/
boolean removeMusicFromSinger(Long singerId, Long musicId);
/**
* 根据ID获取歌手实体
*
* @param id 歌手ID
* @return 歌手实体
*/
Singer getById(Long id);
}