BizSchoolController.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using Microsoft.AspNetCore.Http;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Microsoft.Extensions.Configuration;
  4. using Microsoft.Extensions.Options;
  5. using System.Threading.Tasks;
  6. using TEAMModelOS.Filter;
  7. using TEAMModelOS.Models;
  8. using TEAMModelOS.SDK;
  9. using TEAMModelOS.SDK.DI;
  10. using TEAMModelOS.SDK.Extension;
  11. namespace TEAMModelOS.Controllers
  12. {
  13. [Route("business")]
  14. [ApiController]
  15. public class BizSchoolController : ControllerBase
  16. {
  17. public AzureCosmosFactory _azureCosmos;
  18. private readonly AzureStorageFactory _azureStorage;
  19. private readonly AzureRedisFactory _azureRedis;
  20. private readonly DingDing _dingDing;
  21. private readonly Option _option;
  22. private readonly IConfiguration _configuration;
  23. private readonly CoreAPIHttpService _coreAPIHttpService;
  24. public BizSchoolController(CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, DingDing dingDing, IOptionsSnapshot<Option> option, IConfiguration configuration)
  25. {
  26. _azureCosmos = azureCosmos;
  27. _azureStorage = azureStorage;
  28. _azureRedis = azureRedis;
  29. _dingDing = dingDing;
  30. _option = option?.Value;
  31. _configuration = configuration;
  32. _coreAPIHttpService = coreAPIHttpService;
  33. }
  34. /// <summary>
  35. /// 获取第三方学校列表
  36. /// </summary>
  37. /// <returns></returns>
  38. [ProducesDefaultResponseType]
  39. [HttpPost("get-schools")]
  40. [ApiToken(Auth = "1000", Name = "合作商获取可访问的学校列表",TName ="",EName ="", RWN = "R", Limit = false)]
  41. public async Task<IActionResult> GetSchools()
  42. {
  43. var (id, _) = HttpContext.GetApiTokenInfo();
  44. var responseData = await OpenApiService.GetSchools(_azureCosmos, _dingDing, id);
  45. return Ok(new { responseData });
  46. }
  47. /// <summary>
  48. /// 学校基本信息
  49. /// </summary>
  50. /// <returns></returns>
  51. [ProducesDefaultResponseType]
  52. [HttpPost("get-school-info")]
  53. [ApiToken(Auth = "1001", Name = "学校基本信息",TName ="",EName ="", RWN = "R", Limit = false)]
  54. public async Task<IActionResult> GetSchoolInfo()
  55. {
  56. var (id, school) = HttpContext.GetApiTokenInfo();
  57. var responseData = await OpenApiService.GetSchoolInfo(_azureCosmos, _dingDing, id, school);
  58. return Ok(new { responseData });
  59. }
  60. }
  61. }