Eden hai 2 meses
pai
achega
071362044f

+ 13 - 8
TEAMModelOS.Extension/IES.Exam/IES.ExamServer/Controllers/ManageController.cs

@@ -319,7 +319,7 @@ namespace IES.ExamServer.Controllers
                             }
                            
                             await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 1, status = Constant._Message_status_info, content = $"下载前清理资源" });
+                                new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 1, finish=1,status = Constant._Message_status_info, content = $"下载前清理资源" });
                             string evaluationData = string.Empty;
                             {
                                 //evaluation
@@ -333,13 +333,13 @@ namespace IES.ExamServer.Controllers
                                     await System.IO.File.WriteAllTextAsync(path_evaluation, content);
                                     successMsgs.Add("评测信息文件evaluation.json文件下载成功!");
                                     await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                    new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 2, status = Constant._Message_status_success, content = $"评测信息文件evaluation.json文件下载成功!" });
+                                    new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 2, finish = 1, status = Constant._Message_status_success, content = $"评测信息文件evaluation.json文件下载成功!" });
                                 }
                                 else
                                 {
                                     errorMsgs.Add("评测信息文件evaluation.json文件下载失败!");
                                     await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                    new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 2, status = Constant._Message_status_error, content = $"评测信息文件evaluation.json文件下载失败!" }, true);
+                                    new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 2, finish = 1, status = Constant._Message_status_error, content = $"评测信息文件evaluation.json文件下载失败!" }, true);
                                 }
 
 
@@ -377,14 +377,14 @@ namespace IES.ExamServer.Controllers
                                     await System.IO.File.WriteAllTextAsync(path_groupList, content);
                                     successMsgs.Add("评测名单grouplist.json文件下载成功!");
                                     await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                   new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 3, status = Constant._Message_status_success, content = $"评测名单grouplist.json文件下载成功!" });
+                                   new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 3, finish = 1, status = Constant._Message_status_success, content = $"评测名单grouplist.json文件下载成功!" });
 
                                 }
                                 else
                                 {
                                     errorMsgs.Add("评测名单grouplist.json文件下载失败!");
                                     await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                   new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 3, status = Constant._Message_status_error, content = $"评测名单grouplist.json文件下载失败!" }, true);
+                                   new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 3, finish = 1, status = Constant._Message_status_error, content = $"评测名单grouplist.json文件下载失败!" }, true);
 
                                 }
                             }
@@ -465,8 +465,13 @@ namespace IES.ExamServer.Controllers
                             }
 
                             _liteDBFactory.GetLiteDatabase().GetCollection<EvaluationClient>().Upsert(dataInfo.evaluationCloud!);
+                            await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
+                                 new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, finish = 1, status = Constant._Message_status_info, content = $"评测试卷下载完成" });
 
                             (successMsgs, errorMsgs) = await ManageService.CheckFile(dataInfo.evaluationCloud!, successMsgs, errorMsgs, _signalRExamServerHub, _memoryCache, _logger, deviceId, evaluationPath, Constant._Message_grant_type_download_file,step:5);
+                            
+                            await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
+                                    new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 5, finish = 1, status = Constant._Message_status_info, content = $"评测完整性验证完成" });
                             await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
                                    new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, status = Constant._Message_status_info, content = $"正在创建压缩包,请稍等..." });
 
@@ -482,13 +487,13 @@ namespace IES.ExamServer.Controllers
                             {
                                 successMsgs.Add("评测数据压缩包创建成功!");
                                 await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                   new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, status = Constant._Message_status_success, content = $"评测数据压缩包创建成功!" });
+                                   new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, finish = 1, status = Constant._Message_status_success, content = $"评测数据压缩包创建成功!" });
                             }
                             else
                             {
                                 errorMsgs.Add("评测数据压缩包创建失败!");
                                 await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                  new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, status = Constant._Message_status_error, content = $"评测数据压缩包创建失败!" }, true);
+                                  new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, finish = 1, status = Constant._Message_status_error, content = $"评测数据压缩包创建失败!" }, true);
 
                             }
                         }
@@ -496,7 +501,7 @@ namespace IES.ExamServer.Controllers
                             string content = $"云端数据检测结果:{dataInfo.centerMsg},状态:{dataInfo.centerCode}";
                             errorMsgs.Add(content);
                             await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 1, status = Constant._Message_status_error, content = content }, true);
+                                new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 1, finish = 1, status = Constant._Message_status_error, content = content }, true);
                         }
                     }
                     else

+ 2 - 1
TEAMModelOS.Extension/IES.Exam/IES.ExamServer/DI/SignalRHost/SignalRExamServerHub.cs

@@ -33,7 +33,8 @@ namespace IES.ExamServer.DI.SignalRHost
                     time = DateTimeOffset.Now.ToUnixTimeMilliseconds(),
                     type = Constant._Message_type_message,
                     contents = content.contents,
-                    step=content.step
+                    step=content.step,
+                    finish = content.finish
                 };
                 if (signalRClient != null)
                 {

+ 8 - 2
TEAMModelOS.Extension/IES.Exam/IES.ExamServer/Models/SignalRClient.cs

@@ -67,7 +67,10 @@
         /// 步骤
         /// </summary>
         public int step { get; set; }
-
+        /// <summary>
+        /// 当前步骤是否结束
+        /// </summary>
+        public int finish { get; set; }
     }
     public class MessageContent
     {
@@ -103,7 +106,10 @@
         /// 步骤
         /// </summary>
         public int step { get; set; }
-        public int filish { get; set; }
+        /// <summary>
+        /// 0 未完成,1完成
+        /// </summary>
+        public int finish { get; set; }
     }
  
     public class SignalRClient