26-03-14-11:17:行为树-保存场景配置

This commit is contained in:
MHW
2026-03-14 11:17:55 +08:00
parent 99c100f2ac
commit d9a55d0c95
9 changed files with 120 additions and 1 deletions

View File

@@ -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 + '\'' +
'}';
}
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -55,6 +55,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<insert id="insert" parameterType="com.solution.system.domain.AfsimScenario">
INSERT INTO afsim_scenario (name, description, scenario_path, communication_graph)
VALUES (#{name}, #{description}, #{scenarioPath}, #{communicationGraph})
</insert>
<update id="updateBehaviortree" parameterType="Behaviortree">
update behaviortree
<trim prefix="SET" suffixOverrides=",">