|
@@ -148,7 +148,7 @@ public class TaskDomainService {
|
|
|
String task2Id = taskOfLeaf.getId();
|
|
|
|
|
|
String runState = taskOfLeaf.getRunState();
|
|
|
- log.info("TaskManager--score 任务 " + task2Id + " 的运行状态为:" + runState);
|
|
|
+ log.debug("任务 " + task2Id + " 的运行状态为:" + runState);
|
|
|
if (DictConstants.TASK_ANALYSIS.equals(runState)) {
|
|
|
taskMapper.updateSuccessStateWithStopTime(task2Id, DictConstants.TASK_ANALYSING, TimeUtil.getNowForMysql());
|
|
|
// 计算每个任务的得分
|
|
@@ -159,10 +159,10 @@ public class TaskDomainService {
|
|
|
String scoreCommand = "python3 " + scoreDirectoryOfUser + "main.py " + result1OfLinux + " " + result2OfLinux + " " + taskOfLeaf.getSceneType() + " " + ruleName; // 指定打分脚本
|
|
|
String scoreResult;
|
|
|
ScoreEntity score = null;
|
|
|
- log.info("下载 minio 上的结果文件 " + result1OfMinio + " 和 " + result2OfMinio + " 到临时目录:" + linuxTempPath);
|
|
|
+ log.debug("下载 minio 上的结果文件 " + result1OfMinio + " 和 " + result2OfMinio + " 到临时目录:" + linuxTempPath);
|
|
|
MinioUtil.downloadToFile(minioClient, bucketName, result1OfMinio, result1OfLinux); // 也可改成下载到指定ip的服务器上,需要保证和打分脚本在一台机器上。
|
|
|
MinioUtil.downloadToFile(minioClient, bucketName, result2OfMinio, result2OfLinux); // 也可改成下载到指定ip的服务器上,需要保证和打分脚本在一台机器上。
|
|
|
- log.info("开始执行打分命令:" + scoreCommand);
|
|
|
+ log.debug("开始执行打分命令:" + scoreCommand);
|
|
|
Runtime r = Runtime.getRuntime();
|
|
|
Process p = r.exec(scoreCommand, null, new File(scoreDirectoryOfUser));
|
|
|
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
|
@@ -172,12 +172,12 @@ public class TaskDomainService {
|
|
|
sb.append(inline).append("\n");
|
|
|
}
|
|
|
scoreResult = sb.toString();
|
|
|
- log.info("项目" + projectId + " 的任务 " + task2Id + " 打分结束,结果为:" + scoreResult);
|
|
|
+ log.debug("项目" + projectId + " 的任务 " + task2Id + " 打分结束,结果为:" + scoreResult);
|
|
|
String replace = StringUtil.replace(scoreResult, "'", "\"");
|
|
|
try {
|
|
|
score = JsonUtil.jsonToBean(replace, ScoreEntity.class);
|
|
|
} catch (Exception e) { // 打分失败
|
|
|
- log.info("项目" + projectId + " 的任务 " + task2Id + " 打分失败:", e);
|
|
|
+ log.debug("项目" + projectId + " 的任务 " + task2Id + " 打分失败:", e);
|
|
|
}
|
|
|
if (score != null) {
|
|
|
taskOfLeaf.setReturnSceneId(score.getUnit_scene_ID());
|
|
@@ -233,7 +233,7 @@ public class TaskDomainService {
|
|
|
|
|
|
// 计算任务的个数
|
|
|
long taskNumberToScore = taskListOfLeafIndex.size();
|
|
|
- log.info("项目 " + projectId + " 的叶子指标 " + indexId + " 下参与计算的任务总数为 " + taskNumberToScore + ":仿真异常场景个数 " + errorSceneNumber + "、未达标场景个数 " + notStandardSceneNumber + "、达标场景个数 " + standardSceneNumber);
|
|
|
+ log.debug("项目 " + projectId + " 的叶子指标 " + indexId + " 下参与计算的任务总数为 " + taskNumberToScore + ":仿真异常场景个数 " + errorSceneNumber + "、未达标场景个数 " + notStandardSceneNumber + "、达标场景个数 " + standardSceneNumber);
|
|
|
|
|
|
// 计算叶子指标得分(任务得分总和 / 任务数量)
|
|
|
double leafIndexScore = NumberUtil.cut(leafSum / taskNumberToScore, 2);
|
|
@@ -252,14 +252,14 @@ public class TaskDomainService {
|
|
|
// 保存叶子指标得分
|
|
|
taskIndexRepository.batchInsertLeafIndex(leafIndexList);
|
|
|
// 保存一级指标分数
|
|
|
- log.info("项目 " + projectId + " 的所有任务分数为:" + taskList);
|
|
|
+ log.debug("项目 " + projectId + " 的所有任务分数为:" + taskList);
|
|
|
computeFirst(leafIndexList, allIndexTemplateList, projectId, maxLevel);
|
|
|
log.info("项目 " + projectId + " 打分完成!");
|
|
|
}
|
|
|
|
|
|
public void computeFirst(List<LeafIndexEntity> leafIndexList, List<IndexTemplateEntity> allIndexTemplateList, String projectId, int maxLevel) {
|
|
|
|
|
|
- log.info("计算父指标得分:" + leafIndexList);
|
|
|
+ log.debug("计算父指标得分:" + leafIndexList);
|
|
|
Iterator<LeafIndexEntity> leafTaskIndexIterator = leafIndexList.iterator();
|
|
|
// 把 1 级的指标得分直接保存
|
|
|
while (leafTaskIndexIterator.hasNext()) {
|
|
@@ -300,12 +300,12 @@ public class TaskDomainService {
|
|
|
@SneakyThrows
|
|
|
public void evaluationLevel(String projectId) {
|
|
|
String tokenUrl = customConfiguration.getTokenUri() + "?grant_type=client_credentials" + "&client_id=" + customConfiguration.getClientId() + "&client_secret=" + customConfiguration.getClientSecret();
|
|
|
- log.info("获取仿真云平台 token:" + tokenUrl);
|
|
|
+ log.debug("获取仿真云平台 token:" + tokenUrl);
|
|
|
String response = HttpUtil.get(tokenUrl);
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
JsonNode jsonNode = objectMapper.readTree(response);
|
|
|
String accessToken = jsonNode.path("access_token").asText();
|
|
|
- log.info("仿真云平台 token 为:" + accessToken);
|
|
|
+ log.debug("仿真云平台 token 为:" + accessToken);
|
|
|
Map<String, String> headers = new HashMap<>();
|
|
|
headers.put("Authorization", "Bearer " + accessToken);
|
|
|
Map<String, String> params = new HashMap<>();
|