using Azure.Cosmos; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.IdentityModel.Tokens.Jwt; using System.Text.Json; using System.Threading.Tasks; using TEAMModelOS.Models.Dto; using TEAMModelOS.SDK.Models; using TEAMModelOS.SDK; using TEAMModelOS.SDK.DI; using TEAMModelOS.SDK.Extension; using TEAMModelOS.SDK.Helper.Common.StringHelper; using TEAMModelOS.Filter; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Options; using System.Net.Http; using TEAMModelOS.Models; using Azure.Messaging.ServiceBus; using System.IO; using System.Linq; using HTEXLib.COMM.Helpers; namespace TEAMModelOS.Controllers.Learn { // TODO 代码优化 /// /// 作业活动 /// /// [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] [Route("common/homework")] [ApiController] public class HomeworkController : ControllerBase { private readonly AzureRedisFactory _azureRedis; private readonly AzureCosmosFactory _azureCosmos; private readonly SnowflakeId _snowflakeId; private readonly AzureServiceBusFactory _serviceBus; private readonly DingDing _dingDing; private readonly Option _option; private readonly AzureStorageFactory _azureStorage; private readonly IHttpClientFactory _clientFactory; public IConfiguration _configuration { get; set; } public HomeworkController(AzureCosmosFactory azureCosmos, AzureServiceBusFactory serviceBus, SnowflakeId snowflakeId, DingDing dingDing, IOptionsSnapshot