|
@@ -113,7 +113,7 @@ public class ProjectConsumer {
|
|
public void createTaskAndFixData(ConsumerRecord<String, String> projectRecord) {
|
|
public void createTaskAndFixData(ConsumerRecord<String, String> projectRecord) {
|
|
//* -------------------------------- 0 读取消息,创建临时目录 --------------------------------
|
|
//* -------------------------------- 0 读取消息,创建临时目录 --------------------------------
|
|
String initialProjectJson = projectRecord.value();
|
|
String initialProjectJson = projectRecord.value();
|
|
- log.info("ProjectConsumer.fixedData() 接收到项目开始消息为:" + initialProjectJson);
|
|
|
|
|
|
+ log.info("createTaskAndFixData() 接收到项目开始消息为:" + initialProjectJson);
|
|
ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(initialProjectJson, ProjectMessageDTO.class);
|
|
ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(initialProjectJson, ProjectMessageDTO.class);
|
|
String projectId = projectMessageDTO.getProjectId(); // 手动执行项目 id 或 自动执行子项目 id
|
|
String projectId = projectMessageDTO.getProjectId(); // 手动执行项目 id 或 自动执行子项目 id
|
|
String packageId = projectMessageDTO.getScenePackageId(); // 场景测试包 id
|
|
String packageId = projectMessageDTO.getScenePackageId(); // 场景测试包 id
|
|
@@ -134,6 +134,7 @@ public class ProjectConsumer {
|
|
indexMapper.deleteFirstTargetScoreByProjectId(projectId);
|
|
indexMapper.deleteFirstTargetScoreByProjectId(projectId);
|
|
indexMapper.deleteLastTargetScoreByProjectId(projectId);
|
|
indexMapper.deleteLastTargetScoreByProjectId(projectId);
|
|
// -------------------------------- 1 查询场景 --------------------------------
|
|
// -------------------------------- 1 查询场景 --------------------------------
|
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 开始查询场景。");
|
|
//根据场景测试包 packageId,拿到场景集合(不包括重复场景),重复场景会在发送消息时根据叶子指标发送多次。
|
|
//根据场景测试包 packageId,拿到场景集合(不包括重复场景),重复场景会在发送消息时根据叶子指标发送多次。
|
|
List<ScenePO> scenePOList = projectService.getSceneList(projectId, packageId, projectPath);
|
|
List<ScenePO> scenePOList = projectService.getSceneList(projectId, packageId, projectPath);
|
|
int taskTotal = scenePOList.size();
|
|
int taskTotal = scenePOList.size();
|
|
@@ -142,13 +143,16 @@ public class ProjectConsumer {
|
|
//去重,之后发送消息的时候会补全指标,如果不去重的话会出现多个场景重复关联多个指标
|
|
//去重,之后发送消息的时候会补全指标,如果不去重的话会出现多个场景重复关联多个指标
|
|
Set<ScenePO> scenePOSet = new HashSet<>(scenePOList);
|
|
Set<ScenePO> scenePOSet = new HashSet<>(scenePOList);
|
|
// -------------------------------- 2 查询模型 --------------------------------
|
|
// -------------------------------- 2 查询模型 --------------------------------
|
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 开始查询模型。");
|
|
//2-1 根据车辆配置id vehicleConfigId, 获取 模型信息和传感器信息
|
|
//2-1 根据车辆配置id vehicleConfigId, 获取 模型信息和传感器信息
|
|
VehiclePO vehiclePO = vehicleMapper.selectByVehicleConfigId(vehicleConfigId); // 车辆
|
|
VehiclePO vehiclePO = vehicleMapper.selectByVehicleConfigId(vehicleConfigId); // 车辆
|
|
List<CameraPO> cameraPOList = sensorCameraMapper.selectCameraByVehicleConfigId(vehicleConfigId); // 摄像头
|
|
List<CameraPO> cameraPOList = sensorCameraMapper.selectCameraByVehicleConfigId(vehicleConfigId); // 摄像头
|
|
List<OgtPO> ogtPOList = sensorOgtMapper.selectOgtByVehicleId(vehicleConfigId); // 完美传感器
|
|
List<OgtPO> ogtPOList = sensorOgtMapper.selectOgtByVehicleId(vehicleConfigId); // 完美传感器
|
|
// -------------------------------- 3 算法导入 --------------------------------
|
|
// -------------------------------- 3 算法导入 --------------------------------
|
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 开始算法导入。");
|
|
String algorithmDockerImage = projectService.handleAlgorithm(projectId, algorithmId);
|
|
String algorithmDockerImage = projectService.handleAlgorithm(projectId, algorithmId);
|
|
// -------------------------------- 4 保存任务消息 --------------------------------
|
|
// -------------------------------- 4 保存任务消息 --------------------------------
|
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 开始保存任务消息。");
|
|
List<TaskPO> taskList = new ArrayList<>();
|
|
List<TaskPO> taskList = new ArrayList<>();
|
|
for (ScenePO scenePO : scenePOSet) {
|
|
for (ScenePO scenePO : scenePOSet) {
|
|
String sceneId = scenePO.getId();
|
|
String sceneId = scenePO.getId();
|
|
@@ -160,7 +164,7 @@ public class ProjectConsumer {
|
|
lastTargetIdList = indexMapper.selectLeafIndexIdByAutoSubProjectIdAndSceneId(projectId, "%" + sceneId + "%");
|
|
lastTargetIdList = indexMapper.selectLeafIndexIdByAutoSubProjectIdAndSceneId(projectId, "%" + sceneId + "%");
|
|
}
|
|
}
|
|
if (CollectionUtil.isEmpty(lastTargetIdList)) {
|
|
if (CollectionUtil.isEmpty(lastTargetIdList)) {
|
|
- throw new RuntimeException("ProjectConsumer.createTaskAndFixData() -- 项目 " + projectId + " 使用的场景测试包 " + sceneId + " 不存在指标。");
|
|
|
|
|
|
+ throw new RuntimeException("createTaskAndFixData() -- 项目 " + projectId + " 使用的场景测试包 " + sceneId + " 不存在指标。");
|
|
}
|
|
}
|
|
for (String lastTargetId : lastTargetIdList) {
|
|
for (String lastTargetId : lastTargetIdList) {
|
|
String taskId = StringUtil.getRandomUUID();
|
|
String taskId = StringUtil.getRandomUUID();
|
|
@@ -264,7 +268,7 @@ public class ProjectConsumer {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
taskManager.batchInsertTask(taskList);
|
|
taskManager.batchInsertTask(taskList);
|
|
- log.info("ProjectConsumer.createTaskAndFixData() 项目 " + projectId + " 创建任务:" + taskList);
|
|
|
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 创建任务:" + taskList);
|
|
//* -------------------------------- 4 开始排队 --------------------------------
|
|
//* -------------------------------- 4 开始排队 --------------------------------
|
|
cacheProject(projectRecord);
|
|
cacheProject(projectRecord);
|
|
|
|
|