|
@@ -32,6 +32,7 @@ import com.css.simulation.resource.project.enums.ProjectRunStateEnum;
|
|
|
import com.css.simulation.resource.project.enums.SceneTypeEnum;
|
|
|
import com.css.simulation.resource.project.mapper.*;
|
|
|
import com.css.simulation.resource.project.service.SimulationProjectService;
|
|
|
+import com.css.simulation.resource.scene.mapper.ScenePackageMapper;
|
|
|
import com.css.simulation.resource.system.service.DictService;
|
|
|
import com.css.simulation.resource.util.ApacheKafkaUtil;
|
|
|
import com.css.simulation.resource.util.ProjectUtil;
|
|
@@ -107,9 +108,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
private MonitorService monitorService;
|
|
|
@Resource
|
|
|
private ProjectUtil projectUtil;
|
|
|
-
|
|
|
@Resource
|
|
|
private VehicleMapper vehicleMapper;
|
|
|
+ @Resource
|
|
|
+ private ScenePackageMapper scenePackageMapper;
|
|
|
|
|
|
//* -------------------------------- Comment --------------------------------
|
|
|
|
|
@@ -270,6 +272,11 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
// 已经完成的项目再次运行
|
|
|
if (DictConstants.PROJECT_COMPLETED.equals(po.getNowRunState())) {
|
|
|
+ //1 查询场景测试包是否被禁用
|
|
|
+ String isUnavailable = scenePackageMapper.selectIsUnavailableByPackageId(po.getScene());
|
|
|
+ if("1".equals(isUnavailable)){
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "包已经动过了,不能运行,编辑测试包后可重新运行。");
|
|
|
+ }
|
|
|
po.createPo(AuthUtil.getCurrentUserId());
|
|
|
// 生成id
|
|
|
createProjectId(po);
|
|
@@ -294,12 +301,17 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
simulationProjectMapper.updateDetailsById(projectId, infoJson);
|
|
|
// Kafka推送消息
|
|
|
projectRunToKafka(po);
|
|
|
- } else if (DictConstants.PROJECT_TERMINATED.equals(param.getNowRunState())) { //项目终止,推送到kafka
|
|
|
+ } else if (DictConstants.PROJECT_TERMINATED.equals(param.getNowRunState())) { // 项目终止,推送到kafka
|
|
|
String projectId = param.getId();
|
|
|
ApacheKafkaUtil.deleteTopic(kafkaAdminClient, projectId);
|
|
|
projectStopToKafka(po);
|
|
|
simulationProjectMapper.updateProjectNowRunState(param);
|
|
|
- } else { // 创建新的项目
|
|
|
+ } else { // 创建新的项目或者重新运行被终止的项目
|
|
|
+ //1 查询场景测试包是否被禁用
|
|
|
+ String isUnavailable = scenePackageMapper.selectIsUnavailableByPackageId(po.getScene());
|
|
|
+ if("1".equals(isUnavailable)){
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "包已经动过了,不能运行,编辑测试包后可重新运行。");
|
|
|
+ }
|
|
|
// 查询项目详情信息并保存
|
|
|
String projectId = param.getId();
|
|
|
ProjectDetailsVo info = selectProjectDetailsByIdBackUp(
|