ScKnowledgeController.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Google.Protobuf.WellKnownTypes;
  2. using Microsoft.AspNetCore.Http;
  3. using Microsoft.AspNetCore.Mvc;
  4. using Microsoft.Extensions.Configuration;
  5. using Microsoft.Extensions.Options;
  6. using System.Text.Json;
  7. using System.Threading.Tasks;
  8. using TEAMModelOS.Filter;
  9. using TEAMModelOS.SDK;
  10. using TEAMModelOS.SDK.DI;
  11. using TEAMModelOS.SDK.Extension;
  12. namespace TEAMModelOS.Controllers
  13. {
  14. [Route("school")]
  15. [ApiController]
  16. public class ScKnowledgeController : ControllerBase
  17. {
  18. public AzureCosmosFactory _azureCosmos;
  19. private readonly AzureStorageFactory _azureStorage;
  20. private readonly AzureRedisFactory _azureRedis;
  21. private readonly DingDing _dingDing;
  22. private readonly Option _option;
  23. private readonly IConfiguration _configuration;
  24. private readonly CoreAPIHttpService _coreAPIHttpService;
  25. private readonly AzureServiceBusFactory _serviceBus;
  26. public ScKnowledgeController(CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, DingDing dingDing, IOptionsSnapshot<Option> option, IConfiguration configuration, AzureServiceBusFactory serviceBus)
  27. {
  28. _azureCosmos = azureCosmos;
  29. _azureStorage = azureStorage;
  30. _azureRedis = azureRedis;
  31. _dingDing = dingDing;
  32. _option = option?.Value;
  33. _configuration = configuration;
  34. _coreAPIHttpService = coreAPIHttpService;
  35. _serviceBus = serviceBus;
  36. }
  37. /// <summary>
  38. /// 查询知识点列表
  39. /// </summary>
  40. /// <param name="jsonElement"></param>
  41. /// <returns></returns>
  42. [ProducesDefaultResponseType]
  43. [HttpPost("get-knowledges")]
  44. [ApiToken(Auth = "1701", Name = "获取知识点列表",TName = "取得知識點清單", EName = "Obtain Key Concept List", RWN = "R", Limit = false)]
  45. public async Task<IActionResult> GetKnowledges(JsonElement jsonElement)
  46. {
  47. var (id, school) = HttpContext.GetApiTokenInfo();
  48. var responseDate = await OpenApiService.GetKnowledges(_azureCosmos, _dingDing, id, school, jsonElement);
  49. return Ok(new { responseDate });
  50. }
  51. }
  52. }