using HuanMeng.DotNetCore.Base; using HuanMeng.MiaoYu.Code.Cache; using HuanMeng.MiaoYu.Code.Cache.Special; using HuanMeng.MiaoYu.Code.Music; using HuanMeng.MiaoYu.Code.Users; using HuanMeng.MiaoYu.Model.DbSqlServer.Db_MiaoYu; using HuanMeng.MiaoYu.Model.Dto.Character; using HuanMeng.MiaoYu.Model.Dto.Music; using HuanMeng.MiaoYu.Model.Dto.Shop; using HuanMeng.MiaoYu.Model.EnumModel.Product; using HuanMeng.MiaoYu.Model.EnumModel.User; using HuanMeng.MiaoYu.WebApi.Base; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; namespace HuanMeng.MiaoYu.WebApi.Controllers { [Route("api/[controller]/[action]")] [ApiController] [Authorize] public class MusicController : MiaoYuControllerBase { public MusicController(IServiceProvider _serviceProvider) : base(_serviceProvider) { } /// /// 获取音乐分类 /// /// [HttpGet] [AllowAnonymous] public async Task>> GetMusicGenresList() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetMusicGenresList(); } /// /// 分类下详情列表,每次只显示50个 /// /// /// [HttpGet] [AllowAnonymous] public async Task>> GetMusicGenresInfo(int genresId) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetMusicGenresInfo(genresId); } /// /// 创作页面音乐标签 /// /// [HttpGet] [AllowAnonymous] public async Task>> GetUserMusicGenresList() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetUserMusicGenresList(); } /// /// 创建我的音乐风格 /// /// [HttpPost] public async Task> CreateUserMusicGenres([FromBody] MusicUserGenresRequest musicUserGenresRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.CreateUserMusicGenres(musicUserGenresRequest.GenreName); } /// /// 创作音乐 /// /// [HttpPost] public async Task> CreateMusic([FromBody] MusicCreateRequest musicCreateRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.CreateMusic(musicCreateRequest); } /// /// 删除音乐 /// /// /// [HttpPost] public async Task> DelMusic([FromBody] MusicReviewRequest musicReviewRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.DelMusic(musicReviewRequest.Id); } /// /// 获取音乐生成进度 /// /// 创作音乐选出的Id /// [HttpGet] public async Task> GetMusicSchedule(int id) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetMusicSchedule(id); } /// /// 我的音乐列表 /// /// [HttpGet] public async Task>> GetMyMusicList() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetMyMusicList(); } /// /// 获取用户信息 /// /// [HttpGet] public async Task> GetUserInfo() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetUserInfo(); } /// /// 歌曲审核 /// /// /// [HttpPost] public async Task> MusicSongsReview([FromBody] MusicReviewRequest musicReviewRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.MusicSongsReview(musicReviewRequest.Id); } /// /// 取消审核 /// /// /// /// [HttpPost] public async Task> MusicCancelSongsReview([FromBody] MusicReviewRequest musicReviewRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.MusicCancelSongsReview(musicReviewRequest.Id); } /// /// 点赞和取消点赞 /// /// /// [HttpPost] public async Task> MusicSongLike([FromBody] MusicReviewRequest musicReviewRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.MusicSongLike(musicReviewRequest.Id); } /// /// 收藏和取消收藏 /// /// /// [HttpPost] public async Task> MusicSongFavorites([FromBody] MusicReviewRequest musicReviewRequest) { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.MusicSongFavorites(musicReviewRequest.Id); } /// /// 商城 /// /// [HttpGet] [AllowAnonymous] public async Task> GetShopInfoList() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetShopInfoList(); } /// /// 获取我的收藏 /// /// /// [HttpGet] public async Task>> GetMusicSongFavorites() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetMusicSongFavorites(); } /// /// 获取我的点赞 /// /// /// [HttpGet] public async Task>> GetMusicSongLikes() { MusicBLL musicBLL = new MusicBLL(ServiceProvider); return await musicBLL.GetMusicSongLikes(); } } }