CrazyIter_Bin hace 5 meses
padre
commit
4a84089427

+ 1 - 1
TEAMModelOS.Extension/IES.ExamLib/Models/EvaluationCommon.cs

@@ -12,7 +12,7 @@ namespace IES.ExamServer.Models
         /// <summary>
         /// 区级活动的id
         /// </summary>
-        public string? pId { get; set; }
+        public string? pid { get; set; }
         /// <summary>
         /// 评测名称
         /// </summary>

+ 3 - 3
TEAMModelOS.Function/CosmosDBTriggers/TriggerCorrect.cs

@@ -271,7 +271,7 @@ namespace TEAMModelOS.CosmosDBTriggers
                                             classResults.Add(item);
                                         }
                                     }
-                                    List<Task<ItemResponse<SDK.Models.Cosmos.Common.Scoring>>> tasks = new List<Task<ItemResponse<SDK.Models.Cosmos.Common.Scoring>>>();
+                                    List<Task<ItemResponse<SDK.Models.Cosmos.Scoring>>> tasks = new List<Task<ItemResponse<SDK.Models.Cosmos.Scoring>>>();
                                     //初始化老师阅卷记录
                                     //List<string> tmds = new List<string>();
                                     /*                                List<string> marks = new List<string>();
@@ -328,7 +328,7 @@ namespace TEAMModelOS.CosmosDBTriggers
                                                     }
                                                     n++;
                                                 }
-                                                SDK.Models.Cosmos.Common.Scoring sc = new SDK.Models.Cosmos.Common.Scoring
+                                                SDK.Models.Cosmos.Scoring sc = new SDK.Models.Cosmos.Scoring
                                                 {
                                                     id = Guid.NewGuid().ToString(),
                                                     code = "Scoring-" + info.school,
@@ -345,7 +345,7 @@ namespace TEAMModelOS.CosmosDBTriggers
                                                     model = sub.model
 
                                                 };
-                                                tasks.Add(client.GetContainer(Constant.TEAMModelOS, "Teacher").CreateItemAsync<SDK.Models.Cosmos.Common.Scoring>(sc, new PartitionKey(sc.code)));
+                                                tasks.Add(client.GetContainer(Constant.TEAMModelOS, "Teacher").CreateItemAsync<SDK.Models.Cosmos.Scoring>(sc, new PartitionKey(sc.code)));
                                             }
                                             //tasks.Add(redisClient.HashSetAsync($"Exam:Scoring:{eid}-{subjectId}", stuId, new { tmdId = tmds, ans = examClass.studentAnswers[index].Count > 0 ? examClass.studentAnswers[index][0] : "", score = examClass.studentScores[index] }.ToJsonString()));
                                         }

+ 5 - 0
TEAMModelOS.SDK/Models/Cosmos/Normal/EvaluationSyncInfo.cs

@@ -41,6 +41,11 @@ namespace TEAMModelOS.SDK.Models.Cosmos.Normal
         /// </summary>
         [Required(ErrorMessage = "类型必须设置")]
         public string type { get; set; }
+
+        /// <summary>
+        /// 区级活动的id
+        /// </summary>
+        public string? pid { get; set; }
         /// <summary>
         /// 活动数据包生成最新时间戳
         /// </summary>

+ 2 - 1
TEAMModelOS.SDK/Models/Service/EvaluationSyncInfoService.cs

@@ -61,7 +61,7 @@ namespace TEAMModelOS.SDK.Models.Service
                         if (response.IsSuccessStatusCode)
                         {
                             ExamInfo exam= JsonDocument.Parse(response.Content).RootElement.Deserialize<ExamInfo>();
-                            
+                           
                             evaluationSyncInfo.name=exam.name;
                             evaluationSyncInfo.subjects = exam.subjects?.Select(x=>new IES.ExamServer.Models.SubjectExam { id=x.id,name=x.name,examId=id}).ToList();
                             evaluationSyncInfo.dataTime= DateTimeOffset.Now.ToUnixTimeMilliseconds();
@@ -102,6 +102,7 @@ namespace TEAMModelOS.SDK.Models.Service
                             
                             // evaluationSyncInfo.subjects = art.subjects?.Select(x => new IES.ExamServer.Models.SubjectExam { id=x.id, name=x.name, examId=id }).ToList();
                             evaluationSyncInfo.name = art.name;
+                            evaluationSyncInfo.pid= art.pId;
                             evaluationSyncInfo.dataTime = DateTimeOffset.Now.ToUnixTimeMilliseconds();
                             HashSet<string> grouplist = new HashSet<string>();
                             if (art.classes.IsNotEmpty())

+ 14 - 0
TEAMModelOS/Controllers/Both/EvaluationSyncInfoController.cs

@@ -13,6 +13,7 @@ using System.Text.Json.Nodes;
 using TEAMModelOS.SDK.Models.Cosmos.Normal;
 using Microsoft.Azure.Cosmos;
 using TEAMModelOS.SDK.Models.Service;
+using TEAMModelOS.SDK.Models.Cosmos;
 
 
 namespace TEAMModelOS.Controllers.Both
@@ -65,6 +66,19 @@ namespace TEAMModelOS.Controllers.Both
                 "type":"Art/Exam"
             }
              */
+
+            if (!string.IsNullOrWhiteSpace($"{request["pid"]}")) 
+            {
+                //区级发布的活动
+                var result= await  _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).GetList<ArtEvaluation>($"select  c.id,c.scope,c.school from  c where c.pId ='{request["pid"]}' and c.pk='Art' ");
+                if (result.list.IsNotEmpty()) 
+                {
+                    foreach (var item in result.list) 
+                    {
+                        await EvaluationSyncInfoService.PackageEvaluation(item.id, item.scope, item.school, "Art", _azureCosmos, _azureStorage, _coreAPIHttpService, _dingDing);
+                    }
+                }
+            }
             if (request["evaluation"]!=null)
             {
                 var activity = JsonSerializer.Deserialize<EvaluationSyncInfo>(request["evaluation"]);

+ 47 - 47
TEAMModelOS/Controllers/Common/ExamController.cs

@@ -3587,16 +3587,16 @@ namespace TEAMModelOS.Controllers
                 //var redisClient = _azureRedis.GetRedisClient(8);
                 ExamInfo info = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
                 List<ExamClassResult> classResults = new();
-                List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
-                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
+                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                     queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and array_contains(c.tIds,'{tId}') ",
                                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                 {
                     attr.Add(item);
                 }
 
-                List<SDK.Models.Cosmos.Common.Scoring> attrSc = new List<SDK.Models.Cosmos.Common.Scoring>();
-                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                List<SDK.Models.Cosmos.Scoring> attrSc = new List<SDK.Models.Cosmos.Scoring>();
+                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                     queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}'",
                                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                 {
@@ -3619,8 +3619,8 @@ namespace TEAMModelOS.Controllers
                 /*if (type.GetInt32() != 1) {
                     return Ok(new { attr, paper = info.papers[index].blob });
                 }*/
-                //List<SDK.Models.Cosmos.Common.Scoring> errs = new();
-                //List<SDK.Models.Cosmos.Common.Scoring> arbs = new();
+                //List<SDK.Models.Cosmos.Scoring> errs = new();
+                //List<SDK.Models.Cosmos.Scoring> arbs = new();
                 Correct correct = null;
                 var cResponse = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemStreamAsync(id.ToString(), new PartitionKey($"Correct-{code}"));
                 if (cResponse.StatusCode == System.Net.HttpStatusCode.OK)
@@ -3630,7 +3630,7 @@ namespace TEAMModelOS.Controllers
                 }
                 int finishCount = 0;
                 attrSc = [.. attrSc.OrderBy(c => c.stuId)];
-                foreach (SDK.Models.Cosmos.Common.Scoring ss in attrSc)
+                foreach (SDK.Models.Cosmos.Scoring ss in attrSc)
                 {
                     for (int i = 0; i < correct.num; i++)
                     {
@@ -3660,7 +3660,7 @@ namespace TEAMModelOS.Controllers
                 if (attr.Count > 0)
                 {
                     attr = [.. attr.OrderBy(c => c.stuId)];
-                    foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
+                    foreach (SDK.Models.Cosmos.Scoring ss in attr)
                     {
 
                         //var scc = ss.items.SelectMany(p => p.scores, (p, d) => new { p.ssc, d.sc, d.tmdId }).Where(x => x.tmdId.Equals(tId.GetString())).Select(m => new { m.sc ,m.ssc});
@@ -3738,8 +3738,8 @@ namespace TEAMModelOS.Controllers
                     ExamInfo info = json.ToObject<ExamInfo>();
                     //ExamInfo info = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
                     List<ExamClassResult> classResults = new();
-                    List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
-                    await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                    List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
+                    await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                         queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}'",
                                         requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                     {
@@ -3759,8 +3759,8 @@ namespace TEAMModelOS.Controllers
                     }
                     List<dynamic> objs = new List<dynamic>();
 
-                    List<SDK.Models.Cosmos.Common.Scoring> errs = new();
-                    foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
+                    List<SDK.Models.Cosmos.Scoring> errs = new();
+                    foreach (SDK.Models.Cosmos.Scoring ss in attr)
                     {
                         List<Qs> qs = ss.qs.Where(s => !string.IsNullOrEmpty(s.err)).ToList();
                         if (qs.Count > 0)
@@ -3807,8 +3807,8 @@ namespace TEAMModelOS.Controllers
                 }
                 ExamInfo info = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
                 List<ExamClassResult> classResults = new();
-                List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
-                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
+                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                     queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}'",
                                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                 {
@@ -3831,10 +3831,10 @@ namespace TEAMModelOS.Controllers
                 /*if (type.GetInt32() != 1) {
                     return Ok(new { attr, paper = info.papers[index].blob });
                 }*/
-                //List<SDK.Models.Cosmos.Common.Scoring> errs = new();
-                List<SDK.Models.Cosmos.Common.Scoring> arbs = new();
+                //List<SDK.Models.Cosmos.Scoring> errs = new();
+                List<SDK.Models.Cosmos.Scoring> arbs = new();
                 //List<(string id,List<double>)> osc = new List<(string id, List<double>)>();
-                foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
+                foreach (SDK.Models.Cosmos.Scoring ss in attr)
                 {
                     //List<double> original = new List<double>();
                     List<Item> arb = ss.items.Where(s => s.flag == false).ToList();
@@ -3859,7 +3859,7 @@ namespace TEAMModelOS.Controllers
         }
 
         //批阅,给老师随机分配阅卷数据,以及查询改老师已有的阅卷数据
-        private async Task<List<dynamic>> Review(List<SDK.Models.Cosmos.Common.Scoring> attr, string id, string code, string subjectId, int count, string tId, string stuId)
+        private async Task<List<dynamic>> Review(List<SDK.Models.Cosmos.Scoring> attr, string id, string code, string subjectId, int count, string tId, string stuId)
         {
             //ResponseBuilder builder = ResponseBuilder.custom();
             //var (id, school) = HttpContext.GetAuthTokenInfo();
@@ -3868,16 +3868,16 @@ namespace TEAMModelOS.Controllers
                 var client = _azureCosmos.GetCosmosClient();
                 //var redisClient = _azureRedis.GetRedisClient(8);
                 List<ExamClassResult> classResults = new();
-                List<SDK.Models.Cosmos.Common.Scoring> recs = new();
-                List<SDK.Models.Cosmos.Common.Scoring> all = new();
-                //List<SDK.Models.Cosmos.Common.Scoring> attr = new();
-                /*await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                List<SDK.Models.Cosmos.Scoring> recs = new();
+                List<SDK.Models.Cosmos.Scoring> all = new();
+                //List<SDK.Models.Cosmos.Scoring> attr = new();
+                /*await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                     queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' ",
                                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                 {
                     attr.Add(item);
                 }*/
-                foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
+                foreach (SDK.Models.Cosmos.Scoring scoring in attr)
                 {
                     if (scoring.tIds.Contains(tId.ToString()))
                     {
@@ -3891,8 +3891,8 @@ namespace TEAMModelOS.Controllers
                 if (!string.IsNullOrEmpty(stuId))
                 {
 
-                    List<SDK.Models.Cosmos.Common.Scoring> value = new();
-                    await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                    List<SDK.Models.Cosmos.Scoring> value = new();
+                    await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                         queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and c.stuId = '{stuId}' ",
                                         requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                     {
@@ -3900,7 +3900,7 @@ namespace TEAMModelOS.Controllers
                     }
                     if (value.Count > 0)
                     {
-                        foreach (SDK.Models.Cosmos.Common.Scoring scoring in value)
+                        foreach (SDK.Models.Cosmos.Scoring scoring in value)
                         {
                             if (scoring.tIds.Contains(tId.ToString()))
                             {
@@ -3914,8 +3914,8 @@ namespace TEAMModelOS.Controllers
                         }
                     }
                     List<dynamic> objs = new List<dynamic>();
-                    List<SDK.Models.Cosmos.Common.Scoring> val = new List<SDK.Models.Cosmos.Common.Scoring>();
-                    foreach (SDK.Models.Cosmos.Common.Scoring ss in value)
+                    List<SDK.Models.Cosmos.Scoring> val = new List<SDK.Models.Cosmos.Scoring>();
+                    foreach (SDK.Models.Cosmos.Scoring ss in value)
                     {
                         //var scc = ss.items.SelectMany(p => p.scores, (p, d) => new { p.ssc, d.sc, d.tmdId }).Where(x => x.tmdId.Equals(tId.GetString())).Select(m => new { m.sc, m.ssc });
                         List<dynamic> sc = new List<dynamic>();
@@ -3945,13 +3945,13 @@ namespace TEAMModelOS.Controllers
                 }
                 else
                 {
-                    List<SDK.Models.Cosmos.Common.Scoring> notYet = new();
+                    List<SDK.Models.Cosmos.Scoring> notYet = new();
                     notYet = all.Where(x => x.tIds.Count < x.count * x.model - 1).ToList();
                     List<dynamic> objs = new List<dynamic>();
                     for (int i = 0; i < count; i++)
                     {
                         Random random = new Random();
-                        SDK.Models.Cosmos.Common.Scoring item = new();
+                        SDK.Models.Cosmos.Scoring item = new();
                         if (notYet.Count > 0)
                         {
                             int index = random.Next(notYet.Count);
@@ -4004,8 +4004,8 @@ namespace TEAMModelOS.Controllers
                         }
                         //随机选取一名学生打分
                         Random random = new Random();
-                        SDK.Models.Cosmos.Common.Scoring item = new();
-                        List<SDK.Models.Cosmos.Common.Scoring> notYet = new();
+                        SDK.Models.Cosmos.Scoring item = new();
+                        List<SDK.Models.Cosmos.Scoring> notYet = new();
                         notYet = all.Where(x => x.tIds.Count < x.count * x.model - 1).ToList();
                         if (notYet.Count > 0)
                         {
@@ -4085,8 +4085,8 @@ namespace TEAMModelOS.Controllers
 
                 }
                 List<ExamClassResult> classResults = new();
-                List<SDK.Models.Cosmos.Common.Scoring> attr = new();
-                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                List<SDK.Models.Cosmos.Scoring> attr = new();
+                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                     queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and c.stuId = '{sId}' and array_contains(c.tIds,'{tId}') ",
                                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                 {
@@ -4098,7 +4098,7 @@ namespace TEAMModelOS.Controllers
 
                 if (attr.Count > 0)
                 {
-                    foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
+                    foreach (SDK.Models.Cosmos.Scoring scoring in attr)
                     {
                         int itemIndex = 0;
                         //int tIdIndex = scoring.tIds.IndexOf(tId.GetString());
@@ -4181,7 +4181,7 @@ namespace TEAMModelOS.Controllers
                 }
                 bool isFinish = false;
                 int scount = attr.Select(a => a.items[0].scores).ToList().Count;
-                foreach (SDK.Models.Cosmos.Common.Scoring sc in attr)
+                foreach (SDK.Models.Cosmos.Scoring sc in attr)
                 {
                     foreach (var item in sc.items)
                     {
@@ -4208,7 +4208,7 @@ namespace TEAMModelOS.Controllers
                 {
                     foreach (ExamClassResult exam in classResults)
                     {
-                        foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
+                        foreach (SDK.Models.Cosmos.Scoring scoring in attr)
                         {
                             int index = exam.studentIds.IndexOf(scoring.stuId);
                             if (index != -1)
@@ -4321,8 +4321,8 @@ namespace TEAMModelOS.Controllers
             if (!request.TryGetProperty("type", out JsonElement type)) return BadRequest();
             if (!request.TryGetProperty("code", out JsonElement code)) return BadRequest();
             var client = _azureCosmos.GetCosmosClient();
-            List<SDK.Models.Cosmos.Common.Scoring> attr = new();
-            await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+            List<SDK.Models.Cosmos.Scoring> attr = new();
+            await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                 queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and c.stuId = '{sId}' and c.type = '{type}' and array_contains(c.tIds,'{tId}') ",
                                 requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
             {
@@ -4356,7 +4356,7 @@ namespace TEAMModelOS.Controllers
 
             }
 
-            SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
+            SDK.Models.Cosmos.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
             if (null != scoring)
             {
                 Correct correct = null;
@@ -4416,7 +4416,7 @@ namespace TEAMModelOS.Controllers
             if (!request.TryGetProperty("index", out JsonElement index)) return BadRequest();
             //if (!request.TryGetProperty("tId", out JsonElement tId)) return BadRequest();
             var client = _azureCosmos.GetCosmosClient();
-            SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
+            SDK.Models.Cosmos.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
             if (null != scoring)
             {
                 if (string.IsNullOrEmpty(scoring.qs[index.GetInt32()].improve))
@@ -4456,7 +4456,7 @@ namespace TEAMModelOS.Controllers
             //List<double> scs = score.ToObject<List<double>>();
             List<ExamClassResult> classResults = new();
             int sin = indexScore.GetInt32();
-            SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
+            SDK.Models.Cosmos.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
             if (null != scoring)
             {
                 scoring.scores[sin] = score.GetDouble();
@@ -4961,14 +4961,14 @@ namespace TEAMModelOS.Controllers
                     using var json = await JsonDocument.ParseAsync(response.Content);
                     ExamInfo info = json.ToObject<ExamInfo>();
                     List<ExamClassResult> classResults = new();
-                    List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
-                    await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                    List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
+                    await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                         queryText: $"select value(c) from c where c.examId = '{id}' ",
                                         requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                     {
                         attr.Add(item);
                     }
-                    List<SDK.Models.Cosmos.Common.Scoring> errs = new();
+                    List<SDK.Models.Cosmos.Scoring> errs = new();
                     List<(string subjectId, int count)> ps = new List<(string subjectId, int count)>();
                     List<(string subjectId, int count)> tps = new List<(string subjectId, int count)>();
                     List<(string subjectId, int count)> arbs = new List<(string subjectId, int count)>();
@@ -4981,7 +4981,7 @@ namespace TEAMModelOS.Controllers
                         int arbCount = 0;
                         int tarbCount = 0;
                         int csCount = 0;
-                        foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
+                        foreach (SDK.Models.Cosmos.Scoring ss in attr)
                         {
                             if (subject.id.Equals(ss.subjectId))
                             {
@@ -5051,7 +5051,7 @@ namespace TEAMModelOS.Controllers
                                 int fArbs = 0;
                                 int sCount = 0;
                                 int fCount = 0;
-                                foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
+                                foreach (SDK.Models.Cosmos.Scoring ss in attr)
                                 {
                                     if (ss.subjectId.Equals(corSub.id))
                                     {

+ 3 - 3
TEAMModelOS/Controllers/School/CorrectController.cs

@@ -302,14 +302,14 @@ namespace TEAMModelOS.Controllers
                 //活动分区
                 if (!request.TryGetProperty("code", out JsonElement code)) return BadRequest();
                 var client = _azureCosmos.GetCosmosClient();
-                List<SDK.Models.Cosmos.Common.Scoring> attr = new();
-                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
+                List<SDK.Models.Cosmos.Scoring> attr = new();
+                await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
                                     queryText: $"select value(c) from c where c.examId = '{id}'",
                                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
                 {
                     attr.Add(item);
                 }
-                await client.GetContainer(Constant.TEAMModelOS, "Teacher").DeleteItemsAsync<SDK.Models.Cosmos.Common.Scoring>(attr.Select(a => a.id).ToList(), $"Scoring-{code}");
+                await client.GetContainer(Constant.TEAMModelOS, "Teacher").DeleteItemsAsync<SDK.Models.Cosmos.Scoring>(attr.Select(a => a.id).ToList(), $"Scoring-{code}");
                 //var cresponse = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemStreamAsync(id.ToString(), new PartitionKey($"Scoring-{code}"));
                 //删除阅卷配置
                 var cresponse = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemStreamAsync(id.ToString(), new PartitionKey($"Correct-{code}"));