MomentsController.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using Microsoft.AspNetCore.Mvc;
  2. using ZR.Model.Content;
  3. using ZR.Model.Content.Dto;
  4. using ZR.Model.Enum;
  5. using ZR.Service.Content.IService;
  6. namespace ZR.Admin.WebApi.Controllers
  7. {
  8. [Route("moment")]
  9. [ApiExplorerSettings(GroupName = "article")]
  10. public class MomentsController : BaseController
  11. {
  12. /// <summary>
  13. /// 动态接口
  14. /// </summary>
  15. private readonly IArticleService _ArticleService;
  16. /// <summary>
  17. ///
  18. /// </summary>
  19. /// <param name="ArticleService"></param>
  20. public MomentsController(
  21. IArticleService ArticleService)
  22. {
  23. _ArticleService = ArticleService;
  24. }
  25. /// <summary>
  26. /// 查询我的(后台)
  27. /// </summary>
  28. /// <returns></returns>
  29. [HttpGet("mylist")]
  30. public IActionResult QueryMyList([FromQuery] ArticleQueryDto parm)
  31. {
  32. parm.UserId = HttpContext.GetUId();
  33. parm.ArticleType = (int)ArticleTypeEnum.Monent;
  34. var response = _ArticleService.GetMyList(parm);
  35. return SUCCESS(response);
  36. }
  37. /// <summary>
  38. /// 查询动态列表
  39. /// </summary>
  40. /// <returns></returns>
  41. [HttpGet("momentList")]
  42. [AllowAnonymous]
  43. public IActionResult QueryMonentList([FromQuery] ArticleQueryDto parm)
  44. {
  45. parm.UserId = HttpContext.GetUId();
  46. parm.ArticleType = (int)ArticleTypeEnum.Monent;
  47. parm.QueryMyJoin = parm.TabId == 100;//查询关注的圈子动态
  48. return SUCCESS(_ArticleService.GetMonentList(parm));
  49. }
  50. /// <summary>
  51. /// 动态发布
  52. /// </summary>
  53. /// <returns></returns>
  54. [HttpPost("publishMoment")]
  55. [ActionPermissionFilter(Permission = "common")]
  56. public IActionResult PublishMoment([FromBody] ArticleDto parm)
  57. {
  58. if (parm == null) { return ToResponse(ResultCode.PARAM_ERROR); }
  59. var addModel = parm.Adapt<Article>().ToCreate(context: HttpContext);
  60. addModel.Tags = parm.TopicName;
  61. addModel.ArticleType = ArticleTypeEnum.Monent;
  62. return SUCCESS(_ArticleService.Publish(addModel));
  63. }
  64. /// <summary>
  65. /// 动态信息
  66. /// </summary>
  67. /// <returns></returns>
  68. [HttpGet("getInfo")]
  69. public IActionResult GetInfo()
  70. {
  71. var userId = HttpContext.GetUId();
  72. var monentNum = _ArticleService.Queryable()
  73. .Count(f => f.UserId == userId && f.ArticleType == ArticleTypeEnum.Monent);
  74. return SUCCESS(new { monentNum, commentNum = 0 });
  75. }
  76. }
  77. }