ElasticsSearchController.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Threading.Tasks;
  2. using GxPress.Auth;
  3. using GxPress.Common.Page;
  4. using GxPress.Common.Tools;
  5. using GxPress.Request.App.ElasticSearch;
  6. using Microsoft.AspNetCore.Authorization;
  7. using Microsoft.AspNetCore.Mvc;
  8. namespace GxPress.Api.AppControllers
  9. {
  10. [Route("api/app/elastics")]
  11. [ApiController]
  12. [Authorize]
  13. public class ElasticsSearchController : ControllerBase
  14. {
  15. private readonly ILoginContext _loginContext;
  16. public ElasticsSearchController(ILoginContext loginContext)
  17. {
  18. _loginContext = loginContext;
  19. }
  20. /// <summary>
  21. /// 删除
  22. /// </summary>
  23. /// <returns></returns>
  24. [HttpDelete("{id}")]
  25. public async Task<Nest.Result> Delete(string id)
  26. {
  27. var elasticsSearchHelper = new ElasticSearchHelper();
  28. return await elasticsSearchHelper.Delete(id);
  29. }
  30. /// <summary>
  31. /// 搜索结果
  32. /// </summary>
  33. /// <param name="request"></param>
  34. /// <returns></returns>
  35. [HttpPost("search")]
  36. public async Task<PagedList<TedeData>> Search(ElasticSearchRequest request)
  37. {
  38. var elasticsSearchHelper = new ElasticSearchHelper();
  39. var searchResult = await elasticsSearchHelper.SearchAsync(request.Key,request.SearchType,_loginContext.AccountId,request.Page,request.PerPage);
  40. return searchResult;
  41. }
  42. /// <summary>
  43. /// 根据ID查询
  44. /// </summary>
  45. /// <param name="id"></param>
  46. /// <returns></returns>
  47. [HttpPut("{id}")]
  48. public async Task<TedeData> Get(string id)
  49. {
  50. var elasticsSearchHelper = new ElasticSearchHelper();
  51. return await elasticsSearchHelper.Get(id);
  52. }
  53. }
  54. }