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();
}
}
}