ArticleTopicController.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. using Microsoft.AspNetCore.Mvc;
  2. using ZR.Model.Content;
  3. using ZR.Model.Content.Dto;
  4. using ZR.Service.Content.IService;
  5. //创建时间:2024-04-29
  6. namespace ZR.Admin.WebApi.Controllers
  7. {
  8. /// <summary>
  9. /// 文章话题
  10. /// </summary>
  11. [ApiExplorerSettings(GroupName = "article")]
  12. [Route("article/ArticleTopic")]
  13. public class ArticleTopicController : BaseController
  14. {
  15. /// <summary>
  16. /// 文章话题接口
  17. /// </summary>
  18. private readonly IArticleTopicService _ArticleTopicService;
  19. public ArticleTopicController(IArticleTopicService ArticleTopicService)
  20. {
  21. _ArticleTopicService = ArticleTopicService;
  22. }
  23. /// <summary>
  24. /// 查询文章话题列表
  25. /// </summary>
  26. /// <param name="parm"></param>
  27. /// <returns></returns>
  28. [HttpGet("list")]
  29. [ActionPermissionFilter(Permission = "articletopic:list")]
  30. public IActionResult QueryArticleTopic([FromQuery] ArticleTopicQueryDto parm)
  31. {
  32. var response = _ArticleTopicService.GetList(parm);
  33. return SUCCESS(response);
  34. }
  35. /// <summary>
  36. /// 查询文章话题详情
  37. /// </summary>
  38. /// <param name="TopicId"></param>
  39. /// <returns></returns>
  40. [HttpGet("{TopicId}")]
  41. [ActionPermissionFilter(Permission = "articletopic:query")]
  42. public IActionResult GetArticleTopic(long TopicId)
  43. {
  44. var response = _ArticleTopicService.GetInfo(TopicId);
  45. var info = response.Adapt<ArticleTopicDto>();
  46. return SUCCESS(info);
  47. }
  48. /// <summary>
  49. /// 添加文章话题
  50. /// </summary>
  51. /// <returns></returns>
  52. [HttpPost]
  53. [ActionPermissionFilter(Permission = "articletopic:add")]
  54. [Log(Title = "文章话题", BusinessType = BusinessType.INSERT)]
  55. public IActionResult AddArticleTopic([FromBody] ArticleTopicDto parm)
  56. {
  57. var modal = parm.Adapt<ArticleTopic>().ToCreate(HttpContext);
  58. var response = _ArticleTopicService.AddArticleTopic(modal);
  59. return SUCCESS(response);
  60. }
  61. /// <summary>
  62. /// 更新文章话题
  63. /// </summary>
  64. /// <returns></returns>
  65. [HttpPut]
  66. [ActionPermissionFilter(Permission = "articletopic:edit")]
  67. [Log(Title = "文章话题", BusinessType = BusinessType.UPDATE)]
  68. public IActionResult UpdateArticleTopic([FromBody] ArticleTopicDto parm)
  69. {
  70. var modal = parm.Adapt<ArticleTopic>().ToUpdate(HttpContext);
  71. var response = _ArticleTopicService.UpdateArticleTopic(modal);
  72. return ToResponse(response);
  73. }
  74. /// <summary>
  75. /// 删除文章话题
  76. /// </summary>
  77. /// <returns></returns>
  78. [HttpDelete("delete/{ids}")]
  79. [ActionPermissionFilter(Permission = "articletopic:delete")]
  80. [Log(Title = "文章话题", BusinessType = BusinessType.DELETE)]
  81. public IActionResult DeleteArticleTopic([FromRoute] string ids)
  82. {
  83. var idArr = Tools.SplitAndConvert<long>(ids);
  84. return ToResponse(_ArticleTopicService.Delete(idArr));
  85. }
  86. /// <summary>
  87. /// 导出文章话题
  88. /// </summary>
  89. /// <returns></returns>
  90. [Log(Title = "文章话题", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
  91. [HttpGet("export")]
  92. [ActionPermissionFilter(Permission = "articletopic:export")]
  93. public IActionResult Export([FromQuery] ArticleTopicQueryDto parm)
  94. {
  95. parm.PageNum = 1;
  96. parm.PageSize = 100000;
  97. var list = _ArticleTopicService.ExportList(parm).Result;
  98. if (list == null || list.Count <= 0)
  99. {
  100. return ToResponse(ResultCode.FAIL, "没有要导出的数据");
  101. }
  102. var result = ExportExcelMini(list, "文章话题", "文章话题");
  103. return ExportExcel(result.Item2, result.Item1);
  104. }
  105. }
  106. }