|
@@ -264,13 +264,13 @@ namespace IES.ExamServer.Controllers
|
|
|
int msg_status = Constant._Message_status_info;
|
|
|
string msg_content = msg_status.Equals(Constant._Message_status_success) ? "成功" : "失败";
|
|
|
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, status = 0, content = "检测云端数据是否匹配..." });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, status = 0, step=1, content = "检测云端数据是否匹配..." });
|
|
|
var dataInfo= await GetEvaluationFromCenter(GetXAuthToken(), _configuration, _httpClientFactory, shortCode, evaluationClient.id!);
|
|
|
|
|
|
if (dataInfo.centerCode.Equals("200")&& dataInfo.evaluationCloud!=null)
|
|
|
{
|
|
|
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, status = Constant._Message_status_success, content = $"云端数据检测结果:{dataInfo.centerMsg},状态:{dataInfo.centerCode}" },true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, status = Constant._Message_status_success, step = 1, content = $"云端数据检测结果:{dataInfo.centerMsg},状态:{dataInfo.centerCode}" },true);
|
|
|
string? CenterUrl = _configuration.GetValue<string>("ExamServer:CenterUrl");
|
|
|
var client = _httpClientFactory.CreateClient();
|
|
|
if (client.DefaultRequestHeaders.Contains(Constant._X_Auth_AuthToken))
|
|
@@ -306,7 +306,7 @@ namespace IES.ExamServer.Controllers
|
|
|
}
|
|
|
msg_content = msg_status.Equals(Constant._Message_status_success) ? "成功" : "失败";
|
|
|
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, status = msg_status, content = $"获取云端下载授权=>{msg_content}" }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, status = msg_status, step = 1, content = $"获取云端下载授权=>{msg_content}" }, true);
|
|
|
var httpClient = _httpClientFactory.CreateClient();
|
|
|
string packagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "package");
|
|
|
string evaluationPath = Path.Combine(packagePath, dataInfo.evaluationCloud.id!);
|
|
@@ -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, status = Constant._Message_status_info, content = $"下载前清理资源" });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 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, status = Constant._Message_status_success, content = $"评测信息文件evaluation.json文件下载成功!" });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 2, 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, status = Constant._Message_status_error, content = $"评测信息文件evaluation.json文件下载失败!" }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 2, 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, status = Constant._Message_status_success, content = $"评测名单grouplist.json文件下载成功!" });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 3, 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, status = Constant._Message_status_error, content = $"评测名单grouplist.json文件下载失败!" }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 3, status = Constant._Message_status_error, content = $"评测名单grouplist.json文件下载失败!" }, true);
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -435,14 +435,14 @@ 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, status = Constant._Message_status_success, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载成功。" });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_success, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载成功。" });
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
string? error = await blobMessage.Content.ReadAsStringAsync(cancellationToken);
|
|
|
errorMsgs.Add($"{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载失败,{blobMessage.StatusCode},{error}");
|
|
|
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, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载失败,{blobMessage.StatusCode},{error}" }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载失败,{blobMessage.StatusCode},{error}" }, true);
|
|
|
|
|
|
// Console.WriteLine($"Error downloading {blob.path},{blobMessage.StatusCode},{error}");
|
|
|
}
|
|
@@ -451,7 +451,7 @@ namespace IES.ExamServer.Controllers
|
|
|
{
|
|
|
errorMsgs.Add($"{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载错误,{ex.Message}");
|
|
|
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, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载错误,{ex.Message}" }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载错误,{ex.Message}" }, true);
|
|
|
|
|
|
// 处理异常
|
|
|
//Console.WriteLine($"Error downloading {blob.path}: {ex.Message}");
|
|
@@ -463,9 +463,9 @@ namespace IES.ExamServer.Controllers
|
|
|
|
|
|
_liteDBFactory.GetLiteDatabase().GetCollection<EvaluationClient>().Upsert(dataInfo.evaluationCloud!);
|
|
|
|
|
|
- (successMsgs, errorMsgs) = await ManageService.CheckFile(dataInfo.evaluationCloud!, successMsgs, errorMsgs, _signalRExamServerHub, _memoryCache, _logger, deviceId, evaluationPath, Constant._Message_grant_type_download_file);
|
|
|
+ (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, status = Constant._Message_status_info, content = $"正在创建压缩包,请稍等..." });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, status = Constant._Message_status_info, content = $"正在创建压缩包,请稍等..." });
|
|
|
|
|
|
//下载完成后,对数据进行检查,然后在加密压缩。
|
|
|
string zipPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "zip");
|
|
@@ -479,13 +479,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, status = Constant._Message_status_success, content = $"评测数据压缩包创建成功!" });
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, 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, status = Constant._Message_status_error, content = $"评测数据压缩包创建失败!" }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 6, status = Constant._Message_status_error, content = $"评测数据压缩包创建失败!" }, true);
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -493,7 +493,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, status = Constant._Message_status_error, content = content }, true);
|
|
|
+ new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 1, status = Constant._Message_status_error, content = content }, true);
|
|
|
}
|
|
|
}
|
|
|
else
|