HuanMengProject/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/MusicController.cs
2024-09-29 14:30:17 +08:00

227 lines
7.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
{
}
/// <summary>
/// 获取音乐分类
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<BaseResponse<List<MusicGenresDto>>> GetMusicGenresList()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetMusicGenresList();
}
/// <summary>
/// 分类下详情列表每次只显示50个
/// </summary>
/// <param name="genresId"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<BaseResponse<List<MusicSongInfoDto>>> GetMusicGenresInfo(int genresId)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetMusicGenresInfo(genresId);
}
/// <summary>
/// 创作页面音乐标签
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<BaseResponse<List<MusicUserGenresDto>>> GetUserMusicGenresList()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetUserMusicGenresList();
}
/// <summary>
/// 创建我的音乐风格
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<BaseResponse<bool>> CreateUserMusicGenres([FromBody] MusicUserGenresRequest musicUserGenresRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.CreateUserMusicGenres(musicUserGenresRequest.GenreName);
}
/// <summary>
/// 创作音乐
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<BaseResponse<int>> CreateMusic([FromBody] MusicCreateRequest musicCreateRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.CreateMusic(musicCreateRequest);
}
/// <summary>
/// 删除音乐
/// </summary>
/// <param name="musicReviewRequest"></param>
/// <returns></returns>
[HttpPost]
public async Task<BaseResponse<bool>> DelMusic([FromBody] MusicReviewRequest musicReviewRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.DelMusic(musicReviewRequest.Id);
}
/// <summary>
/// 获取音乐生成进度
/// </summary>
/// <param name="id">创作音乐选出的Id</param>
/// <returns></returns>
[HttpGet]
public async Task<BaseResponse<bool>> GetMusicSchedule(int id)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetMusicSchedule(id);
}
/// <summary>
/// 我的音乐列表
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<BaseResponse<List<MusicSongInfoDto>>> GetMyMusicList()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetMyMusicList();
}
/// <summary>
/// 获取用户信息
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<BaseResponse<MusicUserDto>> GetUserInfo()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetUserInfo();
}
/// <summary>
/// 歌曲审核
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<BaseResponse<bool>> MusicSongsReview([FromBody] MusicReviewRequest musicReviewRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.MusicSongsReview(musicReviewRequest.Id);
}
/// <summary>
/// 取消审核
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
[HttpPost]
public async Task<BaseResponse<bool>> MusicCancelSongsReview([FromBody] MusicReviewRequest musicReviewRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.MusicCancelSongsReview(musicReviewRequest.Id);
}
/// <summary>
/// 点赞和取消点赞
/// </summary>
/// <param name="musicReviewRequest"></param>
/// <returns></returns>
[HttpPost]
public async Task<BaseResponse<bool>> MusicSongLike([FromBody] MusicReviewRequest musicReviewRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.MusicSongLike(musicReviewRequest.Id);
}
/// <summary>
/// 收藏和取消收藏
/// </summary>
/// <param name="musicReviewRequest"></param>
/// <returns></returns>
[HttpPost]
public async Task<BaseResponse<bool>> MusicSongFavorites([FromBody] MusicReviewRequest musicReviewRequest)
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.MusicSongFavorites(musicReviewRequest.Id);
}
/// <summary>
/// 商城
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<BaseResponse<MShopInfoDto>> GetShopInfoList()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetShopInfoList();
}
/// <summary>
/// 获取我的收藏
/// </summary>
/// <returns></returns>
/// <exception cref="Exception"></exception>
[HttpGet]
public async Task<BaseResponse<List<MusicSongInfoDto>>> GetMusicSongFavorites()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetMusicSongFavorites();
}
/// <summary>
/// 获取我的点赞
/// </summary>
/// <returns></returns>
/// <exception cref="Exception"></exception>
[HttpGet]
public async Task<BaseResponse<List<MusicSongInfoDto>>> GetMusicSongLikes()
{
MusicBLL musicBLL = new MusicBLL(ServiceProvider);
return await musicBLL.GetMusicSongLikes();
}
}
}