|
@@ -262,22 +262,34 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseBodyVO<String> updateProjectNowRunState(SimulationManualProjectParam param) {
|
|
|
- // 1 查询项目详细信息,即使是新创建的任务也是保存了信息后再执行
|
|
|
+ //1 查询项目详细信息,即使是新创建的任务也是保存了信息后再执行
|
|
|
SimulationManualProjectPO projectPO = projectUtil.getProjectInfo(param);
|
|
|
final String oldState = projectPO.getNowRunState();
|
|
|
final String newState = param.getNowRunState();
|
|
|
final String projectId = param.getId();
|
|
|
- if (DictConstants.PROJECT_RUNNING.equals(newState)) {// 2 项目终止信息直接推送
|
|
|
+ //2 查询项目详情信息,固定项目最原始的运行数据
|
|
|
+ ProjectDetailsVO projectDetailsVO = selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam.builder().id(projectId).projectType(DictConstants.PROJECT_TYPE_MANUAL).build()).getInfo();
|
|
|
+ projectDetailsVO.setAlgorithmScoreList(new ArrayList<>());
|
|
|
+ log.info("项目 " + projectId + " 的详情信息为:" + projectDetailsVO);
|
|
|
+
|
|
|
+ if (DictConstants.PROJECT_TERMINATED.equals(newState)) {
|
|
|
+ param.setStartTime(new Date());
|
|
|
+ projectDetailsVO.setNowRunState(DictConstants.PROJECT_TERMINATED);
|
|
|
+ projectDetailsVO.setNowRunStateName(DictConstants.PROJECT_TERMINATED_NAME);
|
|
|
+ projectDetailsVO.setStartTime(TimeUtil.dateToString(new Date()));
|
|
|
+ projectDetailsVO.setFinishTime("");
|
|
|
+ String projectDetailsVOJson = JsonUtil.beanToJson(projectDetailsVO);
|
|
|
+ projectPO.setDetails(projectDetailsVOJson);
|
|
|
+ simulationProjectMapper.updateDetailsById(projectId, projectDetailsVOJson);
|
|
|
+ } else if (DictConstants.PROJECT_RUNNING.equals(newState)) {
|
|
|
+ projectDetailsVO.setNowRunState(DictConstants.PROJECT_RUNNING);
|
|
|
+ projectDetailsVO.setNowRunStateName(DictConstants.PROJECT_RUNNING_NAME);
|
|
|
+ projectDetailsVO.setFinishTime("");
|
|
|
//1 校验项目的信息是否可用
|
|
|
projectUtil.checkProject(projectPO.getAlgorithm(), projectPO.getVehicle(), projectPO.getScene());
|
|
|
- //2 查询项目详情信息,固定项目最原始的运行数据
|
|
|
- ProjectDetailsVO projectDetailsVO = selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam.builder().id(projectId).projectType(DictConstants.PROJECT_TYPE_MANUAL).build()).getInfo();
|
|
|
- projectDetailsVO.setAlgorithmScoreList(new ArrayList<>());
|
|
|
- projectDetailsVO.setNowRunState(DictConstants.PROJECT_RUNNING);
|
|
|
- String infoJson = JsonUtil.beanToJson(projectDetailsVO);
|
|
|
- log.info("项目 " + projectId + " 的详情信息为:" + infoJson);
|
|
|
- projectPO.setDetails(infoJson);
|
|
|
if (DictConstants.PROJECT_COMPLETED.equals(oldState)) { // 已经完成的项目再次运行
|
|
|
+ param.setStartTime(new Date());
|
|
|
+ projectDetailsVO.setStartTime(TimeUtil.dateToString(new Date()));
|
|
|
//1 初始化数据
|
|
|
projectPO.setNowRunState(DictConstants.PROJECT_RUNNING);
|
|
|
projectPO.setEvaluationLevel("");
|
|
@@ -292,18 +304,21 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
// 如果是重新运行的项目,修改项目ID
|
|
|
SimulationManualProjectPO simulationManualProjectPO = new SimulationManualProjectPO();
|
|
|
simulationManualProjectPO.setId(projectId);
|
|
|
- final String newId = StringUtil.getRandomUUID();
|
|
|
+ // 生成新ID
|
|
|
+ String newId = StringUtil.getRandomUUID();
|
|
|
simulationManualProjectPO.setNewId(newId);
|
|
|
projectPO.setId(newId);
|
|
|
param.setId(newId);
|
|
|
simulationProjectMapper.updateIdById(simulationManualProjectPO); //此处注意事务
|
|
|
}
|
|
|
- simulationProjectMapper.updateDetailsById(projectId, infoJson);
|
|
|
}
|
|
|
- param.setStartTime(new Date());
|
|
|
- simulationProjectMapper.updateProjectNowRunState(param);
|
|
|
- projectRunToKafka(projectPO); // 项目终止信息直接推送
|
|
|
}
|
|
|
+ String projectDetailsVOJson = JsonUtil.beanToJson(projectDetailsVO);
|
|
|
+ projectPO.setDetails(projectDetailsVOJson);
|
|
|
+ simulationProjectMapper.updateDetailsById(projectId, projectDetailsVOJson);
|
|
|
+ // 推送消息
|
|
|
+ simulationProjectMapper.updateProjectNowRunState(param);
|
|
|
+ projectRunToKafka(projectPO); // 项目终止信息直接推送
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
}
|
|
|
|