AdminThesaurusController.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using GxPress.Auth;
  6. using GxPress.Common.Page;
  7. using GxPress.Entity;
  8. using GxPress.Repository.Interface;
  9. using GxPress.Request.Admin;
  10. using GxPress.Request.AppVersion;
  11. using GxPress.Request.Thesaurus;
  12. using GxPress.Result.Admin;
  13. using Microsoft.AspNetCore.Authorization;
  14. using Microsoft.AspNetCore.Http;
  15. using Microsoft.AspNetCore.Mvc;
  16. using Microsoft.Extensions.Logging;
  17. using Microsoft.Extensions.Options;
  18. namespace GxPress.Api.AdminControllers
  19. {
  20. /// <summary>
  21. /// 词库 热词 冷词
  22. /// </summary>
  23. [Route("api/admin/thesaurus")]
  24. [ApiController]
  25. [Authorize]
  26. public class AdminThesaurusController : ControllerBase
  27. {
  28. private readonly IThesaurusRepository _thesaurusRepository;
  29. public AdminThesaurusController(IThesaurusRepository thesaurusRepository)
  30. {
  31. _thesaurusRepository = thesaurusRepository;
  32. }
  33. /// <summary>
  34. /// 添加
  35. /// </summary>
  36. /// <param name="request">参数</param>
  37. /// <returns></returns>
  38. [HttpPut("add")]
  39. [AllowAnonymous]
  40. public async Task<bool> InThesaurus([FromBody] ThesaurusInRequest request)
  41. {
  42. if (!string.IsNullOrEmpty(request.ThesaurusName) && request.ThesaurusName.Length > 500)
  43. {
  44. throw new Exception("保存失败,字符数不能超出16字");
  45. }
  46. var appVersion = new Thesaurus { ThesaurusType = request.ThesaurusType, ThesaurusName = request.ThesaurusName };
  47. return await _thesaurusRepository.InsertAsync(appVersion);
  48. }
  49. /// <summary>
  50. /// 分页查询列表
  51. /// </summary>
  52. /// <param name="request"></param>
  53. /// <returns></returns>
  54. [HttpPost("page")]
  55. [AllowAnonymous]
  56. public async Task<PagedList<Thesaurus>> GetPagedList([FromBody]ThesaurusPageSearchRequest request)
  57. {
  58. return await _thesaurusRepository.GetPageList(request);
  59. }
  60. /// <summary>
  61. /// 删除
  62. /// </summary>
  63. /// <param name="id"></param>
  64. /// <returns></returns>
  65. [HttpDelete("{id}")]
  66. public async Task<bool> Delete(int id)
  67. {
  68. return await _thesaurusRepository.DeleteAsync(id);
  69. }
  70. /// <summary>
  71. /// 详情
  72. /// </summary>
  73. /// <param name="id"></param>
  74. /// <returns></returns>
  75. [HttpGet("{id}")]
  76. public async Task<Thesaurus> Get(int id)
  77. {
  78. return await _thesaurusRepository.GetDetailAsync(id);
  79. }
  80. /// <summary>
  81. /// 修改
  82. /// </summary>
  83. /// <param name="id"></param>
  84. /// <param name="request"></param>
  85. /// <returns></returns>
  86. [HttpPut("{id}")]
  87. public async Task<bool> Update(int id, [FromBody] Thesaurus request)
  88. {
  89. if (!string.IsNullOrEmpty(request.ThesaurusName) && request.ThesaurusName.Length > 500)
  90. {
  91. throw new Exception("保存失败,字符数不能超出16字");
  92. }
  93. return await _thesaurusRepository.UpdateAsync(id, request);
  94. }
  95. }
  96. }