using ClouDASLibx; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Text.Json; using System.Threading.Tasks; using TEAMModelOS.SDK.Models; using TEAMModelOS.SDK; using TEAMModelOS.SDK.DI; using TEAMModelOS.SDK.Extension; using TEAMModelOS.SDK.Helper.Common.CollectionHelper; using TEAMModelOS.SDK.Helper.Common.StringHelper; using TEAMModelOS.SDK.Helper.Security.ShaHash; using TEAMModelOS.Services.Analysis; using Microsoft.Extensions.Options; using TEAMModelOS.Models; using Azure.Cosmos; using TEAMModelOS.SDK.Models.Cosmos.Student; using static TEAMModelOS.SDK.Models.Cosmos.Student.StudentAnalysis; using TEAMModelOS.SDK.Models.Cosmos.School; using static TEAMModelOS.SDK.Models.Cosmos.School.ClassAnalysis; using static TEAMModelOS.SDK.Models.Cosmos.School.GradeAnalysis; using TEAMModelOS.Models.Dto; namespace TEAMModelOS.Controllers.Analysis { [Route("analysis")] [ApiController] public class AchievementController : Controller { private readonly AzureCosmosFactory _azureCosmos; private readonly DingDing _dingDing; private readonly Option _option; private const string CacheCosmosPrefix = "Analysis:"; private const int timeoutSeconds = 3600; public readonly AzureStorageFactory _azureStorage; public AchievementController(AzureCosmosFactory azureCosmos, DingDing dingDing, IOptionsSnapshot