ScStudentController.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Microsoft.AspNetCore.Http;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Microsoft.Extensions.Configuration;
  4. using Microsoft.Extensions.Options;
  5. using System.Text.Json;
  6. using System.Threading.Tasks;
  7. using TEAMModelOS.Filter;
  8. using TEAMModelOS.Models;
  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 ScStudentController : ControllerBase
  17. {
  18. private AzureCosmosFactory _azureCosmos;
  19. private readonly DingDing _dingDing;
  20. private readonly Option _option;
  21. private readonly AzureServiceBusFactory _serviceBus;
  22. private readonly AzureStorageFactory _azureStorage;
  23. public IConfiguration _configuration { get; set; }
  24. private readonly CoreAPIHttpService _coreAPIHttpService;
  25. public ScStudentController(CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, DingDing dingDing, IOptionsSnapshot<Option> option, AzureServiceBusFactory serviceBus, AzureStorageFactory azureStorage, IConfiguration configuration)
  26. {
  27. _azureCosmos = azureCosmos;
  28. _dingDing = dingDing;
  29. _option = option?.Value;
  30. _serviceBus = serviceBus;
  31. _configuration = configuration;
  32. _azureStorage = azureStorage;
  33. _coreAPIHttpService = coreAPIHttpService;
  34. }
  35. /// <summary>
  36. /// 学生详细信息
  37. /// </summary>
  38. /// <param name="jsonElement"></param>
  39. /// <returns></returns>
  40. [ProducesDefaultResponseType]
  41. [HttpPost("get-student-info")]
  42. [ApiToken(Auth = "2000", Name = "学生详细信息", TName = "學生詳細信息", EName = "Student Details", RWN = "R", Limit = false)]
  43. public async Task<IActionResult> GetLoginStuInfo(JsonElement jsonElement)
  44. {
  45. var (id, school) = HttpContext.GetApiTokenInfo();
  46. var responseDate = await OpenApiService.GetLoginStuInfo(_azureCosmos, _dingDing, _option, id, school, jsonElement);
  47. return Ok(new { responseDate });
  48. }
  49. }
  50. }