CollectionController.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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.AppControllers
  11. {
  12. /// <summary>
  13. /// 收藏
  14. /// </summary>
  15. [Route("api/app/collection")]
  16. [ApiController]
  17. [Authorize]
  18. public class CollectionController : ControllerBase
  19. {
  20. private readonly ILogger<CollectionController> _logger;
  21. private readonly ICollectionService _collectionService;
  22. private readonly ILoginContext _loginContext;
  23. public CollectionController(ILogger<CollectionController> 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. }
  62. }