Kaynağa Gözat

blob 路径调整

zhouj1203@hotmail.com 4 yıl önce
ebeveyn
işleme
813d7e8513

+ 9 - 3
TEAMModelOS/Controllers/Analysis/AchievementController.cs

@@ -2859,6 +2859,7 @@ namespace TEAMModelOS.Controllers.Analysis
                                     });
                                     ex.studentScores = newScores;
                                     int index = 0;
+                                    List<Task<string>> tasks = new List<Task<string>>();
                                     foreach (List<string> an in examClass.studentAnswers)
                                     {
                                         List<string> ans = new List<string>();
@@ -2914,20 +2915,25 @@ namespace TEAMModelOS.Controllers.Analysis
 
                                         });
                                         string FileName = ex.examId + "/" + ex.subjectId + "/" + examClass.studentIds[index];
-                                        string blob = await _azureStorage.UploadFileByContainer(ex.school.ToString(), ans.ToJsonString(), "exam", FileName + "/" + "ans.json");
+                                        string blob =  FileName + "/" + "ans.json";
+                                        tasks.Add(_azureStorage.UploadFileByContainer(ex.school.ToString(), ans.ToJsonString(), "exam", FileName + "/" + "ans.json"));
                                         ex.studentAnswers[index].Add(blob);
                                         index++;
                                     }
+                                    await Task.WhenAll(tasks);
                                 }
                             }
                         }
                     }
-                }              
+                }
+                foreach (ExamClassResult result in examClassResults) {
+                   await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(result, result.id, new PartitionKey($"{result.code}"));
+                }
                 return Ok(new { examClassResults });
             }
             catch (Exception e)
             {
-                await _dingDing.SendBotMsg($"OS,{_option.Location},analysis/scoring()\n{e.Message}", GroupNames.醍摩豆服務運維群組);
+                await _dingDing.SendBotMsg($"OS,{_option.Location},analysis/importResult()\n{e.Message}", GroupNames.醍摩豆服務運維群組);
                 return BadRequest();
             }
         }

+ 4 - 1
TEAMModelOS/Controllers/Common/ExamController.cs

@@ -343,6 +343,7 @@ namespace TEAMModelOS.Controllers
                     standard = simple.answers;
                     points = simple.point;
                 }
+                List<Task<string>> tasks = new List<Task<string>>();
                 foreach (ExamClassResult result in examClassResults) {
                     int index = result.studentIds.IndexOf(studentId.ToString());
                     //classResult.studentAnswers[index] = ans;
@@ -371,7 +372,8 @@ namespace TEAMModelOS.Controllers
                     }
                     int newIndex = result.studentIds.IndexOf(studentId.ToString());
                     string FileName = result.examId + "/" + result.subjectId+"/" +studentId ;
-                    string blob = await _azureStorage.UploadFileByContainer(school.ToString(), ans.ToJsonString(), "exam", FileName +"/"+ "ans.json");
+                    string blob = FileName +"/"+ "ans.json";
+                    tasks.Add(_azureStorage.UploadFileByContainer(school.ToString(), ans.ToJsonString(), "exam", FileName + "/" + "ans.json",false));
                     result.studentAnswers[newIndex].Add(blob);
 
                     for (int i = 0; i < ans.Count; i++)
@@ -523,6 +525,7 @@ namespace TEAMModelOS.Controllers
                     result.sum[newIndex] = result.studentScores[newIndex].Sum();
                     classResult = await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(result, result.id, new PartitionKey($"{result.code}"));
                 }
+                await Task.WhenAll(tasks);
                 
                 return Ok(new { classResult });
             }