diff --git a/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java b/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java
index 9f3f2a8..2cef53c 100644
--- a/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java
+++ b/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java
@@ -3,6 +3,7 @@ package com.solution.web.controller.behaviour;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
+import com.solution.system.domain.AfsimScenario;
import com.solution.web.core.BehaviortreeProcessor;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -114,4 +115,16 @@ public class BehaviortreeController extends BaseController
{
return toAjax(behaviortreeService.deleteBehaviortreeByIds(ids));
}
+
+
+ /**
+ * 保存场景配置
+ */
+ @ApiOperation("保存场景配置")
+ @PostMapping("/saveSceneConfig")
+ @Log(title = "行为树主", businessType = BusinessType.INSERT)
+ public AjaxResult saveSceneConfig(@RequestBody AfsimScenario afsimScenario)
+ {
+ return toAjax(behaviortreeService.insert(afsimScenario));
+ }
}
diff --git a/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java b/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java
index 93aebf4..c662afa 100644
--- a/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java
+++ b/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java
@@ -52,5 +52,4 @@ public class RuleController extends BaseController {
public AjaxResult getCommPlatformComponentNames(Integer scenarioId){
return success(ruleService.getCommPlatformComponentNames(scenarioId));
}
-
}
diff --git a/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java b/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java
index b857905..1f3017c 100644
--- a/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java
+++ b/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java
@@ -157,4 +157,5 @@ public class BehaviortreeProcessor {
return instance;
}
+
}
diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/domain/AfsimScenario.java b/auto-solution-behaviour/src/main/java/com/solution/system/domain/AfsimScenario.java
new file mode 100644
index 0000000..b44dc08
--- /dev/null
+++ b/auto-solution-behaviour/src/main/java/com/solution/system/domain/AfsimScenario.java
@@ -0,0 +1,64 @@
+package com.solution.system.domain;
+
+/**
+ * 场景配置表
+ * 对应表 afsim_scenario
+ */
+public class AfsimScenario {
+ private Integer id;
+ private String name;
+ private String description;
+ private String scenarioPath;
+ private String communicationGraph; // 用于存储场景中的通讯关系
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getScenarioPath() {
+ return scenarioPath;
+ }
+
+ public void setScenarioPath(String scenarioPath) {
+ this.scenarioPath = scenarioPath;
+ }
+
+ public String getCommunicationGraph() {
+ return communicationGraph;
+ }
+
+ public void setCommunicationGraph(String communicationGraph) {
+ this.communicationGraph = communicationGraph;
+ }
+
+ @Override
+ public String toString() {
+ return "AfsimScenario{" +
+ "id=" + id +
+ ", name='" + name + '\'' +
+ ", description='" + description + '\'' +
+ ", scenarioPath='" + scenarioPath + '\'' +
+ ", communicationGraph='" + communicationGraph + '\'' +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java b/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java
index 95defef..6609ca1 100644
--- a/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java
+++ b/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java
@@ -1,6 +1,8 @@
package com.solution.system.mapper;
import java.util.List;
+
+import com.solution.system.domain.AfsimScenario;
import com.solution.system.domain.Behaviortree;
/**
@@ -58,4 +60,11 @@ public interface BehaviortreeMapper
* @return 结果
*/
public int deleteBehaviortreeByIds(Long[] ids);
+
+ /**
+ * 保存场景配置
+ * @param afsimScenario
+ * @return
+ */
+ int insert(AfsimScenario afsimScenario);
}
diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java b/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java
index fb94314..c6958da 100644
--- a/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java
+++ b/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java
@@ -1,6 +1,8 @@
package com.solution.system.service;
import java.util.List;
+
+import com.solution.system.domain.AfsimScenario;
import com.solution.system.domain.Behaviortree;
/**
@@ -58,4 +60,11 @@ public interface IBehaviortreeService
* @return 结果
*/
public int deleteBehaviortreeById(Long id);
+
+ /**
+ * 保存场景配置
+ * @param afsimScenario
+ * @return
+ */
+ int insert(AfsimScenario afsimScenario);
}
diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java b/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java
index 307bb3a..dc2705c 100644
--- a/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java
+++ b/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java
@@ -1,6 +1,10 @@
package com.solution.system.service.impl;
import java.util.List;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.solution.common.constant.ExceptionConstants;
+import com.solution.system.domain.AfsimScenario;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.solution.system.mapper.BehaviortreeMapper;
@@ -90,4 +94,17 @@ public class BehaviortreeServiceImpl implements IBehaviortreeService
{
return behaviortreeMapper.deleteBehaviortreeById(id);
}
+
+ /**
+ * 保存场景配置
+ * @param afsimScenario
+ * @return
+ */
+ @Override
+ public int insert(AfsimScenario afsimScenario) {
+ if(ObjectUtil.isEmpty(afsimScenario) || ObjectUtil.isEmpty(afsimScenario.getCommunicationGraph())){
+ throw new RuntimeException(ExceptionConstants.SCENE_CONFIG_NOT_NULL);
+ }
+ return behaviortreeMapper.insert(afsimScenario);
+ }
}
diff --git a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml
index 54c7b3b..260da7b 100644
--- a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml
+++ b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml
@@ -55,6 +55,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+ INSERT INTO afsim_scenario (name, description, scenario_path, communication_graph)
+ VALUES (#{name}, #{description}, #{scenarioPath}, #{communicationGraph})
+
+
update behaviortree
diff --git a/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java b/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java
index 56add30..7299a1e 100644
--- a/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java
+++ b/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java
@@ -13,4 +13,6 @@ public class ExceptionConstants {
public static final String NOT_FOUND_F22_COMPONENT = "未找到 F-22 组件";
+ public static final String SCENE_CONFIG_NOT_NULL = "场景配置不能为空";
+
}