26-03-15-09:31 场景模块:分页查询所有场景,保存场景

This commit is contained in:
MHW
2026-03-15 09:31:45 +08:00
parent f72105134f
commit 711d7bf3da
14 changed files with 196 additions and 45 deletions

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>solution</artifactId>
<groupId>com.solution</groupId>
<version>3.9.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>solution-scene</artifactId>
<description>
scene模块
</description>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>com.solution</groupId>
<artifactId>solution-common</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,51 @@
package com.solution.scene.controller;
import com.solution.common.annotation.Log;
import com.solution.common.core.controller.BaseController;
import com.solution.common.core.domain.AjaxResult;
import com.solution.common.core.page.TableDataInfo;
import com.solution.common.enums.BusinessType;
import com.solution.scene.domain.AfsimScenario;
import com.solution.scene.service.SceneService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 场景管理
*/
@Api("场景管理")
@RestController
@RequestMapping("/api/system/scene")
public class SceneController extends BaseController {
@Autowired
private SceneService sceneService;
/**
* 保存场景配置
*/
@ApiOperation("保存场景配置")
@PostMapping("/saveSceneConfig")
@Log(title = "行为树主", businessType = BusinessType.INSERT)
public AjaxResult saveSceneConfig(@RequestBody AfsimScenario afsimScenario)
{
return toAjax(sceneService.insert(afsimScenario));
}
/**
* 获取场景列表
* @return
*/
@GetMapping("/list")
@ApiOperation("获取场景列表")
public TableDataInfo list(){
startPage();
List<AfsimScenario> list = sceneService.selectSceneList();
return getDataTable(list);
}
}

View File

@@ -0,0 +1,64 @@
package com.solution.scene.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

@@ -0,0 +1,24 @@
package com.solution.scene.mapper;
import com.solution.scene.domain.AfsimScenario;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface SceneMapper {
/**
* 保存场景配置
* @param afsimScenario
* @return
*/
int insert(AfsimScenario afsimScenario);
/**
* 获取场景列表
* @return
*/
List<AfsimScenario> selectSceneList();
}

View File

@@ -0,0 +1,21 @@
package com.solution.scene.service;
import com.solution.scene.domain.AfsimScenario;
import java.util.List;
public interface SceneService {
/**
* 保存场景配置
* @param afsimScenario
* @return
*/
int insert(AfsimScenario afsimScenario);
/**
* 获取场景列表
* @return
*/
List<AfsimScenario> selectSceneList();
}

View File

@@ -0,0 +1,31 @@
package com.solution.scene.service.impl;
import com.solution.scene.domain.AfsimScenario;
import com.solution.scene.mapper.SceneMapper;
import com.solution.scene.service.SceneService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SceneServiceImpl implements SceneService {
@Autowired
private SceneMapper sceneMapper;
@Override
public int insert(AfsimScenario afsimScenario) {
return sceneMapper.insert(afsimScenario);
}
/**
* 获取场景列表
* @return
*/
@Override
public List<AfsimScenario> selectSceneList() {
return sceneMapper.selectSceneList();
}
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.solution.scene.mapper.SceneMapper">
<insert id="insert" parameterType="com.solution.scene.domain.AfsimScenario">
INSERT INTO afsim_scenario (name, description, scenario_path, communication_graph)
VALUES (#{name}, #{description}, #{scenarioPath}, #{communicationGraph})
</insert>
<select id="selectSceneList" resultType="com.solution.scene.domain.AfsimScenario">
SELECT id, name, description, scenario_path, communication_graph FROM afsim_scenario
</select>
</mapper>