WebCollectionController.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System.Threading.Tasks;
  2. using GxPress.Auth;
  3. using GxPress.Common.Page;
  4. using GxPress.Request.App.Collection;
  5. using GxPress.Result.App.Collection;
  6. using GxPress.Service.Interface.Collection;
  7. using Microsoft.AspNetCore.Authorization;
  8. using Microsoft.AspNetCore.Mvc;
  9. using Microsoft.Extensions.Logging;
  10. namespace GxPress.Api.WebControllers
  11. {
  12. /// <summary>
  13. /// 收藏
  14. /// </summary>
  15. [Route("api/web/collection")]
  16. [ApiController]
  17. [Authorize]
  18. public class WebCollectionController : Controller
  19. {
  20. private readonly ILogger<WebCollectionController> _logger;
  21. private readonly ICollectionService _collectionService;
  22. private readonly ILoginContext _loginContext;
  23. public WebCollectionController(ILogger<WebCollectionController> logger, ICollectionService collectionService, ILoginContext loginContext)
  24. {
  25. _logger = logger;
  26. _collectionService = collectionService;
  27. _loginContext = loginContext;
  28. }
  29. /// <summary>
  30. /// 添加收藏
  31. /// </summary>
  32. /// <param name="request"></param>
  33. /// <returns></returns>
  34. [HttpPut("add")]
  35. public async Task<bool> Insert(CollectionInRequest request)
  36. {
  37. request.UserId = _loginContext.AccountId;
  38. return await _collectionService.Insert(request);
  39. }
  40. /// <summary>
  41. /// 收藏
  42. /// </summary>
  43. /// <param name="request"></param>
  44. /// <returns></returns>
  45. [HttpPost("search")]
  46. public async Task<PagedList<CollectionListPageResult>> PageList(CollectionPageSearchRequest request)
  47. {
  48. request.UserId = _loginContext.AccountId;
  49. return await _collectionService.PageListAsync(request);
  50. }
  51. /// <summary>
  52. /// 获取收藏详情
  53. /// </summary>
  54. /// <param name="id"></param>
  55. /// <returns></returns>
  56. [HttpGet("{id}")]
  57. public async Task<CollectionResult> GetCollectionDetail(int id)
  58. {
  59. return await _collectionService.GetCollectionDetailAsync(id);
  60. }
  61. /// <summary>
  62. /// 收藏无文件夹分页列表
  63. /// </summary>
  64. /// <param name="request"></param>
  65. /// <returns></returns>
  66. [HttpPost("list")]
  67. public async Task<PagedList<CollectionNoFolderResult>> GetCollectionNoFolderPageListAsync(CollectionPageSearchRequest request)
  68. {
  69. request.UserId = _loginContext.AccountId;
  70. return await _collectionService.GetCollectionNoFolderPageListAsync(request);
  71. }
  72. }
  73. }