1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.Options;
- using System.Text.Json;
- using System.Threading.Tasks;
- using TEAMModelOS.Filter;
- using TEAMModelOS.Models;
- using TEAMModelOS.SDK;
- using TEAMModelOS.SDK.DI;
- using TEAMModelOS.SDK.Extension;
- namespace TEAMModelOS.Controllers
- {
- [Route("business")]
- [ApiController]
- public class BizCourseController : ControllerBase
- {
- public AzureCosmosFactory _azureCosmos;
- private readonly AzureStorageFactory _azureStorage;
- private readonly AzureRedisFactory _azureRedis;
- private readonly DingDing _dingDing;
- private readonly Option _option;
- private readonly IConfiguration _configuration;
- private readonly CoreAPIHttpService _coreAPIHttpService;
- private readonly AzureServiceBusFactory _serviceBus;
- public BizCourseController(CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, DingDing dingDing, IOptionsSnapshot<Option> option, IConfiguration configuration, AzureServiceBusFactory serviceBus)
- {
- _azureCosmos = azureCosmos;
- _azureStorage = azureStorage;
- _azureRedis = azureRedis;
- _dingDing = dingDing;
- _option = option?.Value;
- _configuration = configuration;
- _coreAPIHttpService = coreAPIHttpService;
- _serviceBus = serviceBus;
- }
- /// <summary>
- /// 学校获取课程列表信息
- /// </summary>
- /// <param name="json"></param>
- /// <returns></returns>
- [ProducesDefaultResponseType]
- [HttpPost("get-course-list")]
- [ApiToken(Auth = "1301", Name = "获取课程列表信息",TName = "取得課程清單", EName = "Obtain course list information", RWN = "R", Limit = false)]
- public async Task<IActionResult> GetCourseList(JsonElement json)
- {
- var (id, school) = HttpContext.GetApiTokenInfo();
- var responseData = await OpenApiService.GetCourseList(_azureCosmos, _dingDing, id, school, json);
- return Ok(new { responseData });
- }
- /// <summary>
- /// 学校课程详细信息
- /// </summary>
- /// <param name="json"></param>
- /// <returns></returns>
- [ProducesDefaultResponseType]
- [HttpPost("get-course-info")]
- [ApiToken(Auth = "1302", Name = "课程详细信息",TName = "取得課程詳細資訊", EName = "Course Detail Information", RWN = "R", Limit = false)]
- public async Task<IActionResult> GetCourseInfo(JsonElement json)
- {
- var (id, school) = HttpContext.GetApiTokenInfo();
- var responseData = await OpenApiService.GetCourseInfo(_azureCosmos, _dingDing, id, school, json);
- return Ok(new { responseData });
- }
- /// <summary>
- /// 获取指定学段作息
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [ProducesDefaultResponseType]
- [HttpPost("get-period-info")]
- [ApiToken(Auth = "1303", Name = "获取指定学段信息",TName = "取得指定學制資訊", EName = "Obtain specified school year information", RWN = "R", Limit = false)]
- public async Task<IActionResult> GetPaperExamCondition(JsonElement json)
- {
- var (id, school) = HttpContext.GetApiTokenInfo();
- var responseData = await OpenApiService.GetPaperExamCondition(_azureCosmos, _dingDing, id, school, json);
- return Ok(new { responseData });
- }
- }
- }
|