夜得朦胧 1 éve
szülő
commit
7d3802562f

+ 22 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/server/adapter/controller/job_manage/JobManageController.java

@@ -371,13 +371,34 @@ public class JobManageController {
   }
 
   @RequestMapping("/addOrUpdateMultiSimulationSceneCar")
-  public ResponseBodyVO<String> addOrUpdateMultiSimulationSceneCar(@RequestBody MultiSimulationSceneCarParam param) {
+  public ResponseBodyVO<MultiSimulationSceneCarVO> addOrUpdateMultiSimulationSceneCar(@RequestBody MultiSimulationSceneCarParam param) {
     return multiSimulationProjectService.addOrUpdateMultiSimulationSceneCar(param);
   }
 
+  @RequestMapping("/addOrUpdateMultiSimulationSceneCarList")
+  public ResponseBodyVO<List<MultiSimulationSceneCarVO>> addOrUpdateMultiSimulationSceneCarList(@RequestBody List<MultiSimulationSceneCarParam> paramList) {
+    return multiSimulationProjectService.addOrUpdateMultiSimulationSceneCarList(paramList);
+  }
+
   @RequestMapping("/setMultiSimulationSceneCarView")
   public ResponseBodyVO setMultiSimulationSceneCarView(@RequestBody MultiSimulationSceneCarParam param) {
     return multiSimulationProjectService.setMultiSimulationSceneCarView(param);
   }
 
+  /**
+   * 另存为
+   */
+  @RequestMapping("/saveAsMultiSimulationProjectDetail")
+  public ResponseBodyVO<MultiSimulationProjectVO> saveAsMultiSimulationProjectDetail(@RequestBody MultiSimulationProjectParam param) {
+    return multiSimulationProjectService.saveAsMultiSimulationProjectDetail(param);
+  }
+
+  /**
+   * 另存为
+   */
+  @RequestMapping("/copyMultiSimulationScene")
+  public ResponseBodyVO<MultiSimulationSceneVO> copyMultiSimulationScene(@RequestBody MultiSimulationSceneParam param) {
+    return multiSimulationProjectService.copyMultiSimulationScene(param);
+  }
+
 }

+ 213 - 6
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/impl/MultiSimulationProjectServiceImpl.java

@@ -14,6 +14,7 @@ import api.common.pojo.vo.map.SimulationMapVO;
 import api.common.pojo.vo.project.*;
 import api.common.util.StringUtil;
 import com.alibaba.cloud.commons.lang.StringUtils;
+import com.alibaba.fastjson.JSONObject;
 import com.css.simulation.resource.server.app.service.job_manage.MultiSimulationProjectService;
 import com.css.simulation.resource.server.infra.db.mysql.mapper.*;
 import com.css.simulation.resource.server.infra.util.PageUtil;
@@ -21,9 +22,11 @@ import com.github.pagehelper.PageInfo;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -184,7 +187,7 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
         if (!CollectionUtils.isEmpty(multiSimulationSceneVOS)){
             for (MultiSimulationSceneVO scene: multiSimulationSceneVOS) {
                 String sceneId = scene.getSceneId();
-                int i = sceneCarMapper.selectSceneCarNumsByProjectId(sceneId);
+                int i = sceneCarMapper.selectSceneCarNumsBySceneId(sceneId);
                 scene.setCarNums(i);
                 String mapId = scene.getMapId();
                 if (StringUtils.isBlank(mapId)){
@@ -280,7 +283,7 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
         return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
     }
 
-    public ResponseBodyVO<String> addOrUpdateMultiSimulationSceneCar(MultiSimulationSceneCarParam param){
+    public ResponseBodyVO<MultiSimulationSceneCarVO> addOrUpdateMultiSimulationSceneCar(MultiSimulationSceneCarParam param){
         param.setCarId(StringUtils.isBlank(param.getCarId()) ? "" : param.getCarId());
         param.setAlgorithmId(StringUtils.isBlank(param.getAlgorithmId()) ? "" : param.getAlgorithmId());
         param.setPathId(StringUtils.isBlank(param.getPathId()) ? "" : param.getPathId());
@@ -289,24 +292,51 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
         param.setPathStartPoint(StringUtils.isBlank(param.getPathStartPoint()) ? "" : param.getPathStartPoint());
         param.setPathEndPoint(StringUtils.isBlank(param.getPathEndPoint()) ? "" : param.getPathEndPoint());
         param.setCarSort(Objects.isNull(param.getCarSort()) ? 0 : param.getCarSort());
+
         if (StringUtils.isBlank(param.getSceneCarId())){
             param.setSceneCarId(StringUtil.getRandomUUID());
             if (StringUtils.isBlank(param.getSceneId())){
                 return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "场景id为空");
             }
+            // 新增时默认不是仿真视角
+            param.setIsSimulationCar(0);
             int i = sceneCarMapper.addMultiSimulationSceneCar(param);
             if (i > 0){
-                return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, param.getSceneCarId());
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, MultiSimulationSceneCarVO.builder().sceneCarId(param.getSceneCarId()).build());
             }
         }else {
             int i = sceneCarMapper.updateMultiSimulationSceneCar(param);
             if (i > 0){
-                return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, param.getSceneCarId());
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, MultiSimulationSceneCarVO.builder().sceneCarId(param.getSceneCarId()).build());
             }
         }
         return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
     }
 
+    @Transactional
+    public ResponseBodyVO<List<MultiSimulationSceneCarVO>> addOrUpdateMultiSimulationSceneCarList(List<MultiSimulationSceneCarParam> paramList){
+        if (CollectionUtils.isEmpty(paramList)){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "数据为空");
+        }
+        for (MultiSimulationSceneCarParam param: paramList) {
+            if (StringUtils.isNotBlank(param.getSceneCarId())){
+                MultiSimulationSceneCarVO multiSimulationSceneCarVO = sceneCarMapper.selectSceneCarById(param);
+                if (Objects.isNull(multiSimulationSceneCarVO)){
+                    return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "存在无效的车辆id");
+                }
+            }
+        }
+        List<MultiSimulationSceneCarVO> ids = new ArrayList<>();
+        for (MultiSimulationSceneCarParam param: paramList) {
+            ResponseBodyVO<MultiSimulationSceneCarVO> responseBodyVO = addOrUpdateMultiSimulationSceneCar(param);
+            if (responseBodyVO.getCode() != 200){
+                throw new RuntimeException("操作失败");
+            }
+            ids.add(responseBodyVO.getInfo());
+        }
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, ids);
+    }
+
     public ResponseBodyVO setMultiSimulationSceneCarView(MultiSimulationSceneCarParam param){
         if (StringUtils.isBlank(param.getSceneCarId())){
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数为空");
@@ -324,16 +354,193 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
         for (MultiSimulationSceneCarVO car: multiSimulationSceneCarVOS) {
             Integer isSimulationCar = car.getIsSimulationCar();
             if (isSimulationCar == 1 && !StringUtils.equals(car.getId(), param.getSceneCarId())){
-                // TODO 库里面已经存在仿真视角的车辆,看是直接更新还是返回失败
+                sceneCarMapper.updateMultiSimulationSceneCarView(car.getId(), 0);
             }
         }
-        int i = sceneCarMapper.updateMultiSimulationSceneCarView(param.getSceneCarId());
+        int i = sceneCarMapper.updateMultiSimulationSceneCarView(param.getSceneCarId(), 1);
         if (i > 0){
             return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
         }
         return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
     }
 
+    @Override
+    @Transactional
+    public ResponseBodyVO<MultiSimulationProjectVO> saveAsMultiSimulationProjectDetail(MultiSimulationProjectParam param){
+        String oldProjectId = param.getProjectId();
+        MultiSimulationProjectVO projectVO = multiSimulationProjectMapper.selectMultiSimulationProjectById(oldProjectId);
+        if (Objects.isNull(projectVO)){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "请先保存当前的多模式仿真任务");
+        }
+        MultiSimulationProjectParam multiSimulationProjectParam = buildProjectParam(projectVO);
+        multiSimulationProjectParam.setProjectName(param.getProjectNewName());
+
+        String newProjectId =  multiSimulationProjectParam.getProjectId();
+        ResponseBodyVO<MultiSimulationProjectDetailVO> responseBodyVO = addMultiSimulationProject(multiSimulationProjectParam);
+        log.info("插入仿真任务主表返回结果:{}", JSONObject.toJSONString(responseBodyVO));
+        if (responseBodyVO.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
+        }
+        // 返回的数据
+        MultiSimulationProjectVO build = MultiSimulationProjectVO.builder().projectId(multiSimulationProjectParam.getProjectId()).build();
+        ResponseBodyVO<MultiSimulationProjectVO> multiSimulationProjectVOResponseBodyVO = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, build);
+
+        MultiSimulationSceneParam multiSimulationSceneParam = new MultiSimulationSceneParam();
+        multiSimulationSceneParam.setProjectId(oldProjectId);
+        List<MultiSimulationSceneVO> multiSimulationSceneVOS = simulationSceneMapper.selectSceneList(multiSimulationSceneParam);
+        if (CollectionUtils.isEmpty(multiSimulationSceneVOS)){
+            return multiSimulationProjectVOResponseBodyVO;
+        }
+        for (MultiSimulationSceneVO sceneVO: multiSimulationSceneVOS) {
+            MultiSimulationScenePO multiSimulationScenePO = buildScenePO(sceneVO, newProjectId);
+            int i = simulationSceneMapper.addMultiSimulationSceneAll(multiSimulationScenePO);
+            if (i > 0){
+                // 新的场景id
+                String id = multiSimulationScenePO.getId();
+                // 使用旧id查询列表
+                MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
+                multiSimulationSceneCarParam.setSceneId(sceneVO.getId());
+                List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS = sceneCarMapper.selectSceneCarList(multiSimulationSceneCarParam);
+                if (!CollectionUtils.isEmpty(multiSimulationSceneCarVOS)){
+                    for (MultiSimulationSceneCarVO car: multiSimulationSceneCarVOS) {
+                        MultiSimulationSceneCarParam carParam = buildSceneCarParam(car, id);
+                        int add = sceneCarMapper.addMultiSimulationSceneCar(carParam);
+                        if (add <=0 ){
+                            throw new RuntimeException("新增车辆信息失败");
+                        }
+                    }
+                }
+            }else {
+                throw new RuntimeException("新增场景失败");
+            }
+        }
+        return multiSimulationProjectVOResponseBodyVO;
+    }
+
+    public ResponseBodyVO<MultiSimulationSceneVO> copyMultiSimulationScene(MultiSimulationSceneParam param){
+        if (StringUtils.isBlank(param.getSceneId())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数异常");
+        }
+        MultiSimulationSceneVO sceneVO = simulationSceneMapper.selectSceneDetailBySceneId(param.getSceneId());
+        ResponseBodyVO responseBodyVO = checkScene(sceneVO);
+        if (responseBodyVO.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()){
+            return responseBodyVO;
+        }
+        MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
+        multiSimulationSceneCarParam.setSceneId(param.getSceneId());
+        List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS = sceneCarMapper.selectSceneCarList(multiSimulationSceneCarParam);
+        ResponseBodyVO sceneCars = checkAllSceneCars(multiSimulationSceneCarVOS, param.getSceneId());
+        if (sceneCars.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()){
+            return sceneCars;
+        }
+        // 插入场景
+        MultiSimulationScenePO multiSimulationScenePO = buildScenePO(sceneVO, sceneVO.getProjectId());
+        int i = simulationSceneMapper.addMultiSimulationSceneAll(multiSimulationScenePO);
+        if (i <= 0){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "新增失败,请检查参数");
+        }
+        String sceneNewId = multiSimulationScenePO.getId();
+        for (MultiSimulationSceneCarVO carVO: multiSimulationSceneCarVOS) {
+            MultiSimulationSceneCarParam sceneCarParam = buildSceneCarParam(carVO, sceneNewId);
+            int sceneCarRes = sceneCarMapper.addMultiSimulationSceneCar(sceneCarParam);
+            if (sceneCarRes <= 0){
+                throw new RuntimeException("新增车辆失败");
+            }
+        }
+        MultiSimulationSceneVO build = MultiSimulationSceneVO.builder().sceneId(sceneNewId).build();
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, build);
+    }
+
+
+    public ResponseBodyVO checkAllScene(List<MultiSimulationSceneVO> sceneVOList){
+        if (CollectionUtils.isEmpty(sceneVOList)){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "有效场景为空");
+        }
+        for (MultiSimulationSceneVO scene: sceneVOList) {
+            ResponseBodyVO responseBodyVO = checkScene(scene);
+            if (responseBodyVO.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()){
+                return responseBodyVO;
+            }
+        }
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+    public ResponseBodyVO checkScene(MultiSimulationSceneVO sceneVO){
+        if (Objects.isNull(sceneVO)){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "未查出有效的场景");
+        }
+        String mapId = sceneVO.getMapId();
+        if (StringUtils.isBlank(mapId)){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "原始场景未配置地图");
+        }
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+
+    public ResponseBodyVO checkAllSceneCars(List<MultiSimulationSceneCarVO> multiSimulationSceneCarVOS, String sceneId){
+        if (CollectionUtils.isEmpty(multiSimulationSceneCarVOS)){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "场景id:" + sceneId + "场景未查出有效的车辆");
+        }
+        for (MultiSimulationSceneCarVO carVo: multiSimulationSceneCarVOS) {
+            ResponseBodyVO responseBodyVO = checkSceneCar(carVo);
+            if (responseBodyVO.getCode() != ResponseBodyVO.Response.SUCCESS.getCode()){
+                return responseBodyVO;
+            }
+        }
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+
+    public ResponseBodyVO checkSceneCar(MultiSimulationSceneCarVO carVO){
+        if (StringUtils.isBlank(carVO.getCarId())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置车辆");
+        }
+        if (StringUtils.isBlank(carVO.getAlgorithmId())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置算法");
+        }
+        if (StringUtils.isBlank(carVO.getPathId())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置轨迹");
+        }
+        if (StringUtils.isBlank(carVO.getPathStart())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置轨迹起点");
+        }
+        if (StringUtils.isBlank(carVO.getPathEnd())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置轨迹终点");
+        }
+
+        if (StringUtils.isBlank(carVO.getPathStartPoint())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置轨迹起点朝向");
+        }
+        if (StringUtils.isBlank(carVO.getPathEndPoint())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "车辆id:" + carVO.getId() + "未配置轨迹终点朝向");
+        }
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+
+
+
+    public static MultiSimulationScenePO buildScenePO(MultiSimulationSceneVO sceneVO, String projectId){
+        MultiSimulationScenePO build = MultiSimulationScenePO.builder()
+            .projectId(projectId).sceneName(sceneVO.getSceneName()).id(StringUtil.getRandomUUID())
+            .mapId(sceneVO.getMapId())
+            .build();
+        return build;
+    }
+
+    public static MultiSimulationProjectParam buildProjectParam(MultiSimulationProjectVO projectVO){
+        MultiSimulationProjectParam multiSimulationProjectParam = new MultiSimulationProjectParam();
+        multiSimulationProjectParam.setProjectId(StringUtil.getRandomUUID()).setProjectKey(projectVO.getProjectKey())
+            .setProjectDescription(projectVO.getProjectDescription()).setProjectMaxSeconds(projectVO.getProjectMaxSeconds())
+            .setProjectStatus(MultiSimulationStatusEnum.INIT_STATUS.getProjectStatus());
+        return multiSimulationProjectParam;
+    }
+
+    public static MultiSimulationSceneCarParam buildSceneCarParam(MultiSimulationSceneCarVO carVO, String newSceneId){
+        MultiSimulationSceneCarParam multiSimulationSceneCarParam = new MultiSimulationSceneCarParam();
+        multiSimulationSceneCarParam.setSceneCarId(carVO.getId()).setSceneId(newSceneId)
+            .setCarId(carVO.getCarId()).setAlgorithmId(carVO.getAlgorithmId()).setPathId(carVO.getPathId())
+            .setPathStart(carVO.getPathStart()).setPathEnd(carVO.getPathEnd()).setPathStartPoint(carVO.getPathStartPoint())
+            .setPathEndPoint(carVO.getPathEndPoint()).setCarSort(carVO.getCarSort()).setIsSimulationCar(carVO.getIsSimulationCar());
+        return multiSimulationSceneCarParam;
+    }
+
     private void setPage(Integer pageNum, Integer pageSize) {
         PageVO pageVO = new PageVO();
         pageVO.setCurrentPage(pageNum);

+ 9 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/job_manage/MultiSimulationProjectService.java

@@ -8,6 +8,8 @@ import api.common.pojo.param.project.SimulationManualProjectParam;
 import api.common.pojo.vo.project.*;
 import com.github.pagehelper.PageInfo;
 
+import java.util.List;
+
 public interface MultiSimulationProjectService {
     ResponseBodyVO<PageInfo<MultiSimulationProjectVO>> selectMultiSimulationProject(MultiSimulationProjectParam param);
 
@@ -31,8 +33,14 @@ public interface MultiSimulationProjectService {
 
     ResponseBodyVO deleteMultiSimulationSceneCar(MultiSimulationSceneCarParam param);
 
-    ResponseBodyVO<String> addOrUpdateMultiSimulationSceneCar(MultiSimulationSceneCarParam param);
+    ResponseBodyVO<MultiSimulationSceneCarVO> addOrUpdateMultiSimulationSceneCar(MultiSimulationSceneCarParam param);
+
+    ResponseBodyVO<List<MultiSimulationSceneCarVO>> addOrUpdateMultiSimulationSceneCarList(List<MultiSimulationSceneCarParam> param);
 
     ResponseBodyVO setMultiSimulationSceneCarView(MultiSimulationSceneCarParam param);
 
+    ResponseBodyVO<MultiSimulationProjectVO> saveAsMultiSimulationProjectDetail(MultiSimulationProjectParam param);
+
+    ResponseBodyVO<MultiSimulationSceneVO> copyMultiSimulationScene(MultiSimulationSceneParam param);
+
 }

+ 4 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/server/infra/db/mysql/mapper/MultiSimulationSceneCarMapper.java

@@ -11,12 +11,12 @@ import java.util.List;
 
 @Mapper
 public interface MultiSimulationSceneCarMapper {
-    @Insert("insert into multi_simulation_scene_car (id,scene_id,car_id,algorithm_id,path_id,path_start,path_end,path_start_point,path_end_point,car_sort) values" +
-        "(#{sceneCarId},#{sceneId},#{carId},#{algorithmId},#{pathId},#{pathStart},#{pathEnd},#{pathStartPoint},#{pathEndPoint},#{carSort})")
+    @Insert("insert into multi_simulation_scene_car (id,scene_id,car_id,algorithm_id,path_id,path_start,path_end,path_start_point,path_end_point,car_sort,is_simulation_car) values" +
+        "(#{sceneCarId},#{sceneId},#{carId},#{algorithmId},#{pathId},#{pathStart},#{pathEnd},#{pathStartPoint},#{pathEndPoint},#{carSort},#{isSimulationCar})")
     int addMultiSimulationSceneCar(MultiSimulationSceneCarParam param);
 
     @Select("select count(*) from multi_simulation_scene_car where scene_id = #{sceneId} and deleted = 0")
-    int selectSceneCarNumsByProjectId(@Param("sceneId") String sceneId);
+    int selectSceneCarNumsBySceneId(@Param("sceneId") String sceneId);
 
 
     @Update("<script>" +
@@ -30,7 +30,7 @@ public interface MultiSimulationSceneCarMapper {
         "update multi_simulation_scene_car set is_simulation_car = #{isSimulationCar} " +
         "where id = #{id}" +
         "</script>")
-    int updateMultiSimulationSceneCarView(String id);
+    int updateMultiSimulationSceneCarView(@Param("id") String id, @Param("isSimulationCar") Integer isSimulationCar);
 
     @Update("update multi_simulation_scene_car set deleted = 1 where id = #{sceneCarId}")
     int deleteMultiSimulationSceneCar(MultiSimulationSceneCarParam param);

+ 4 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/infra/db/mysql/mapper/MultiSimulationSceneMapper.java

@@ -15,6 +15,10 @@ public interface MultiSimulationSceneMapper {
         "(#{id},#{projectId})")
     int addMultiSimulationScene(MultiSimulationScenePO scenePO);
 
+    @Insert("insert into multi_simulation_scene (id,project_id, scene_name,map_id) values" +
+        "(#{id},#{projectId},#{sceneName},#{mapId})")
+    int addMultiSimulationSceneAll(MultiSimulationScenePO scenePO);
+
     @Select("select count(*) from multi_simulation_scene where project_id = #{projectId} and deleted = 0")
     int selectSceneNumsByProjectId(@Param("projectId") String projectId);