123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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.DI;
- using TEAMModelOS.SDK.Extension;
- namespace TEAMModelOS.Controllers
- {
- [Route("business")]
- [ApiController]
- public class BizRoomController : ControllerBase
- {
- private AzureCosmosFactory _azureCosmos;
- private readonly DingDing _dingDing;
- private readonly Option _option;
- private readonly AzureServiceBusFactory _serviceBus;
- private readonly AzureStorageFactory _azureStorage;
- public IConfiguration _configuration { get; set; }
- public BizRoomController(AzureCosmosFactory azureCosmos, DingDing dingDing, IOptionsSnapshot<Option> option, AzureServiceBusFactory serviceBus, AzureStorageFactory azureStorage, IConfiguration configuration)
- {
- _azureCosmos = azureCosmos;
- _dingDing = dingDing;
- _option = option?.Value;
- _serviceBus = serviceBus;
- _configuration = configuration;
- _azureStorage = azureStorage;
- }
- /// <summary>
- /// 物理教室列表
- /// </summary>
- /// <param name="json"></param>
- /// <returns></returns>
- [ProducesDefaultResponseType]
- [HttpPost("get-room-list")]
- [ApiToken(Auth = "1401", Name = "物理教室列表",TName = "取得實體教室清單", EName = "Physical Classroom List", RWN = "R", Limit = false)]
- public async Task<IActionResult> GetRoomList(JsonElement json)
- {
- var (id, school) = HttpContext.GetApiTokenInfo();
- var responseData = await OpenApiService.GetRoomList(_azureCosmos, _dingDing, id, school, json);
- return Ok(new { responseData });
- }
- /// <summary>
- /// 物理教室详细
- /// </summary>
- /// <param name="json"></param>
- /// <returns></returns>
- [ProducesDefaultResponseType]
- [HttpPost("get-room-info")]
- [ApiToken(Auth = "1402", Name = "物理教室详细",TName = "取得實體教室詳細資訊", EName = "Physical Classroom Details", RWN = "R", Limit = false)]
- public async Task<IActionResult> GetRoomInfo(JsonElement json)
- {
- var (id, school) = HttpContext.GetApiTokenInfo();
- if (!json.TryGetProperty("roomId", out JsonElement roomId)) return BadRequest();
- var responseData = await OpenApiService.GetRoomInfo(_azureCosmos, _dingDing, id, school, json);
- return Ok(new { responseData });
- }
- }
- }
|