AdminMediaController.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System.Threading.Tasks;
  2. using GxPress.Auth;
  3. using GxPress.Common.Page;
  4. using GxPress.Repository.Interface.Media;
  5. using GxPress.Request.Media;
  6. using GxPress.Result.Media;
  7. using GxPress.Service.Interface.Media;
  8. using Microsoft.AspNetCore.Authorization;
  9. using Microsoft.AspNetCore.Mvc;
  10. // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
  11. namespace GxPress.Api.AdminControllers
  12. {
  13. [Route("api/admin/media")]
  14. [ApiController]
  15. [Authorize]
  16. public class AdminMediaController : Controller
  17. {
  18. private readonly IMediaRepository mediaRepository;
  19. private readonly ILoginContext _loginContext;
  20. private readonly IMediaService mediaService;
  21. public AdminMediaController(IMediaRepository mediaRepository, ILoginContext _loginContext, IMediaService mediaService)
  22. {
  23. this.mediaRepository = mediaRepository;
  24. this._loginContext = _loginContext;
  25. this.mediaService = mediaService;
  26. }
  27. /// <summary>
  28. /// 详情
  29. /// </summary>
  30. /// <param name="id"></param>
  31. /// <returns></returns>
  32. [HttpGet("{id}")]
  33. public async Task<MediaResult> GetAsync(int id)
  34. {
  35. return await mediaService.GetAsync(id);
  36. }
  37. /// <summary>
  38. /// 删除
  39. /// </summary>
  40. /// <param name="id"></param>
  41. /// <returns></returns>
  42. [HttpDelete("{id}")]
  43. public async Task<bool> DeleteAsync(int id)
  44. {
  45. return await mediaRepository.DeleteAsync(id);
  46. }
  47. /// <summary>
  48. /// 添加媒体
  49. /// </summary>
  50. /// <param name="result"></param>
  51. /// <returns></returns>
  52. [HttpPost]
  53. public async Task<bool> InsertAsync(MediaResult result)
  54. {
  55. result.AdminId = _loginContext.AccountId;
  56. result.Creator = _loginContext.Name;
  57. return await mediaService.InsertAsync(result);
  58. }
  59. /// <summary>
  60. /// 修改
  61. /// </summary>
  62. /// <param name="result"></param>
  63. /// <returns></returns>
  64. [HttpPut]
  65. public async Task<bool> UpdateAsync(MediaResult result)
  66. {
  67. return await mediaRepository.UpdateAsync(result);
  68. }
  69. /// <summary>
  70. /// 查询
  71. /// </summary>
  72. /// <param name="request"></param>
  73. /// <returns></returns>
  74. [HttpPost("list")]
  75. public async Task<PagedList<Entity.tede2.Media.Media>> GetAllAsync(MediaSearchRequest request)
  76. {
  77. return await mediaRepository.GetAllAsync(request);
  78. }
  79. }
  80. }