Commit ed3d37f0 authored by 周昊's avatar 周昊

1、开发场景新建、更新接口

parent a6e75d35
......@@ -3,6 +3,7 @@ package com.ruoyi.algorithm.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -64,9 +65,10 @@ public class AlgorithmSceneBaseController extends BaseController
@PreAuthorize("@ss.hasPermi('system:algorithmScene:add')")
@Log(title = "算法场景", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody AlgorithmSceneBase algorithmSceneBase)
public AjaxResult add(@RequestBody AlgorithmSceneDetailsDto algorithmSceneDetailsDto)
{
return toAjax(algorithmSceneBaseService.insertAlgorithmSceneBase(algorithmSceneBase));
algorithmSceneDetailsDto.setCreateBy(getUsername());
return toAjax(algorithmSceneBaseService.insertAlgorithmSceneDetailsDto(algorithmSceneDetailsDto));
}
/**
......@@ -75,9 +77,10 @@ public class AlgorithmSceneBaseController extends BaseController
@PreAuthorize("@ss.hasPermi('system:algorithmScene:edit')")
@Log(title = "算法场景", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody AlgorithmSceneBase algorithmSceneBase)
public AjaxResult edit(@RequestBody AlgorithmSceneDetailsDto algorithmSceneDetailsDto)
{
return toAjax(algorithmSceneBaseService.updateAlgorithmSceneBase(algorithmSceneBase));
algorithmSceneDetailsDto.setUpdateBy(getUsername());
return toAjax(algorithmSceneBaseService.updateAlgorithmSceneDetailsDto(algorithmSceneDetailsDto));
}
/**
......
......@@ -28,6 +28,10 @@ public class AlgorithmScenePiece extends BaseEntity
@Excel(name = "算法块参数值")
private String variableValue;
/** 排序 */
@Excel(name = "排序")
private Long sort;
public void setSceneId(Long sceneId)
{
this.sceneId = sceneId;
......@@ -65,6 +69,14 @@ public class AlgorithmScenePiece extends BaseEntity
return variableValue;
}
public Long getSort() {
return sort;
}
public void setSort(Long sort) {
this.sort = sort;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
......
......@@ -38,5 +38,15 @@ public class AlgorithmSceneDetailsDto {
private String cameraIdList;
private List<AlgorithmPieceDetailsDto> pieceDtos;
private List<AlgorithmPieceDetailsDto> pieceDtos;
/**
* 创建者
*/
private String createBy;
/**
* 更新者
*/
private String updateBy;
}
......@@ -66,4 +66,8 @@ public interface IAlgorithmSceneBaseService
int editStatus(AlgorithmSceneBase algorithmSceneBase);
AlgorithmSceneDetailsDto selectAlgorithmSceneDetailsDtoById(Long id);
int insertAlgorithmSceneDetailsDto(AlgorithmSceneDetailsDto algorithmSceneDetailsDto);
int updateAlgorithmSceneDetailsDto(AlgorithmSceneDetailsDto algorithmSceneDetailsDto);
}
......@@ -2,11 +2,13 @@ package com.ruoyi.algorithm.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.ruoyi.algorithm.domain.AlgorithmScenePiece;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto;
import com.ruoyi.algorithm.service.IAlgorithmScenePieceService;
......@@ -148,11 +150,77 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
public AlgorithmSceneDetailsDto selectAlgorithmSceneDetailsDtoById(Long id) {
AlgorithmSceneBase algorithmSceneBase = algorithmSceneBaseMapper.selectAlgorithmSceneBaseById(id);
AlgorithmSceneDetailsDto algorithmSceneDetailsDto = new AlgorithmSceneDetailsDto();
BeanUtils.copyBeanProp(algorithmSceneDetailsDto,algorithmSceneBase);
BeanUtils.copyBeanProp(algorithmSceneDetailsDto, algorithmSceneBase);
algorithmSceneDetailsDto.setPieceDtos(algorithmScenePieceService.selectAlgorithmPieceDetailsDtoBySceneId(id));
return algorithmSceneDetailsDto;
}
@Override
public int insertAlgorithmSceneDetailsDto(AlgorithmSceneDetailsDto algorithmSceneDetailsDto) {
//新建场景
AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase();
BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneDetailsDto);
int i = insertAlgorithmSceneBase(algorithmSceneBase);
//删除场景下算法块及参数数据
algorithmScenePieceService.deleteAlgorithmScenePieceBySceneId(algorithmSceneBase.getId());
//新建场景下算法块及参数
List<AlgorithmScenePiece> algorithmScenePieceList = algorithmSceneDetailsDto
.getPieceDtos()
.stream()
.flatMap(pieceDto -> pieceDto.getVariables()
.stream()
.map(variable -> {
AlgorithmScenePiece algorithmScenePiece = new AlgorithmScenePiece();
algorithmScenePiece.setSceneId(algorithmSceneBase.getId());
algorithmScenePiece.setPieceId(pieceDto.getId());
algorithmScenePiece.setVariableKey(variable.getVariableKey());
algorithmScenePiece.setVariableValue(variable.getVariableValue());
algorithmScenePiece.setSort(pieceDto.getSort());
return algorithmScenePiece;
})).collect(Collectors.toList());
for (AlgorithmScenePiece algorithmScenePiece : algorithmScenePieceList) {
algorithmScenePieceService.insertAlgorithmScenePiece(algorithmScenePiece);
}
return i;
}
@Override
public int updateAlgorithmSceneDetailsDto(AlgorithmSceneDetailsDto algorithmSceneDetailsDto) {
//更新场景
AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase();
BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneDetailsDto);
int i = updateAlgorithmSceneBase(algorithmSceneBase);
//删除场景下算法块及参数数据
algorithmScenePieceService.deleteAlgorithmScenePieceBySceneId(algorithmSceneBase.getId());
//新建场景下算法块及参数
List<AlgorithmScenePiece> algorithmScenePieceList = algorithmSceneDetailsDto
.getPieceDtos()
.stream()
.flatMap(pieceDto -> pieceDto.getVariables()
.stream()
.map(variable -> {
AlgorithmScenePiece algorithmScenePiece = new AlgorithmScenePiece();
algorithmScenePiece.setSceneId(algorithmSceneBase.getId());
algorithmScenePiece.setPieceId(pieceDto.getId());
algorithmScenePiece.setVariableKey(variable.getVariableKey());
algorithmScenePiece.setVariableValue(variable.getVariableValue());
algorithmScenePiece.setSort(pieceDto.getSort());
return algorithmScenePiece;
})).collect(Collectors.toList());
for (AlgorithmScenePiece algorithmScenePiece : algorithmScenePieceList) {
algorithmScenePieceService.insertAlgorithmScenePiece(algorithmScenePiece);
}
return i;
}
private void sendAi(Long sceneId, String status) {
String statusKey;
//启动
......
......@@ -112,7 +112,7 @@
FIND_IN_SET( id, #{cameraIdList} )
</select>
<insert id="insertAlgorithmSceneBase" parameterType="AlgorithmSceneBase">
<insert id="insertAlgorithmSceneBase" parameterType="AlgorithmSceneBase" useGeneratedKeys="true" keyProperty="id">
insert into algorithm_scene_base
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
......
......@@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="pieceId" column="piece_id" />
<result property="variableKey" column="variable_key" />
<result property="variableValue" column="variable_value" />
<result property="sort" column="sort" />
</resultMap>
<resultMap type="com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto" id="AlgorithmPieceDetailsDtoResult">
......@@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectAlgorithmScenePieceVo">
select scene_id, piece_id, variable_key, variable_value from algorithm_scene_piece
select scene_id, piece_id, variable_key, variable_value,sort from algorithm_scene_piece
</sql>
<select id="selectAlgorithmScenePieceList" parameterType="AlgorithmScenePiece" resultMap="AlgorithmScenePieceResult">
......@@ -64,12 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pieceId != null">piece_id,</if>
<if test="variableKey != null">variable_key,</if>
<if test="variableValue != null">variable_value,</if>
<if test="sort != null">sort,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sceneId != null">#{sceneId},</if>
<if test="pieceId != null">#{pieceId},</if>
<if test="variableKey != null">#{variableKey},</if>
<if test="variableValue != null">#{variableValue},</if>
<if test="sort != null">#{sort},</if>
</trim>
</insert>
......@@ -79,6 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pieceId != null">piece_id = #{pieceId},</if>
<if test="variableKey != null">variable_key = #{variableKey},</if>
<if test="variableValue != null">variable_value = #{variableValue},</if>
<if test="sort != null">sort = #{sort},</if>
</trim>
where scene_id = #{sceneId}
</update>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment