Commit 4658f554 authored by 周昊's avatar 周昊

1、开发场景复制接口

parent 8c0582df
......@@ -84,6 +84,17 @@ public class AlgorithmSceneBaseController extends BaseController
return toAjax(algorithmSceneBaseService.updateAlgorithmSceneSaveDto(algorithmSceneSaveDto));
}
/**
* 新增算法场景
*/
@PreAuthorize("@ss.hasPermi('system:algorithmScene:copy')")
@Log(title = "算法场景", businessType = BusinessType.INSERT)
@PostMapping("/{id}")
public AjaxResult copyById(@PathVariable("id") Long id)
{
return toAjax(algorithmSceneBaseService.copyById(id,getUsername()));
}
/**
* 删除算法场景
*/
......
......@@ -71,4 +71,6 @@ public interface IAlgorithmSceneBaseService
int insertAlgorithmSceneSaveDto(AlgorithmSceneSaveDto algorithmSceneSaveDto);
int updateAlgorithmSceneSaveDto(AlgorithmSceneSaveDto algorithmSceneSaveDto);
int copyById(Long id, String username);
}
......@@ -9,6 +9,7 @@ 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.AlgorithmPieceDetailsDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneSaveDto;
......@@ -226,6 +227,46 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
return i;
}
@Override
public int copyById(Long id, String username) {
//更新场景
AlgorithmSceneBase oldAlgorithmSceneBase = selectAlgorithmSceneBaseById(id);
AlgorithmSceneBase newAlgorithmSceneBase = new AlgorithmSceneBase();
BeanUtils.copyBeanProp(newAlgorithmSceneBase, oldAlgorithmSceneBase);
newAlgorithmSceneBase.setStatus("1");
newAlgorithmSceneBase.setCreateBy(username);
newAlgorithmSceneBase.setSceneName(oldAlgorithmSceneBase.getSceneName()+"(副本)");
int i = insertAlgorithmSceneBase(newAlgorithmSceneBase);
//删除场景下算法块及参数数据
algorithmScenePieceService.deleteAlgorithmScenePieceBySceneId(newAlgorithmSceneBase.getId());
//查找旧场景下算法
List<AlgorithmPieceDetailsDto> algorithmPieceDetailsDtos = algorithmScenePieceService.selectAlgorithmPieceDetailsDtoBySceneId(id);
//新建场景下算法块及参数
List<AlgorithmScenePiece> algorithmScenePieceList = algorithmPieceDetailsDtos
.stream()
.flatMap(pieceDto -> pieceDto.getVariables()
.stream()
.map(variable -> {
AlgorithmScenePiece algorithmScenePiece = new AlgorithmScenePiece();
algorithmScenePiece.setSceneId(newAlgorithmSceneBase.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;
//启动
......
......@@ -117,7 +117,6 @@
<insert id="insertAlgorithmSceneBase" parameterType="AlgorithmSceneBase" useGeneratedKeys="true" keyProperty="id">
insert into algorithm_scene_base
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="sceneName != null">scene_name,</if>
<if test="algorithmId != null">algorithm_id,</if>
<if test="alarmTypes != null">alarm_types,</if>
......@@ -134,7 +133,6 @@
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="sceneName != null">#{sceneName},</if>
<if test="algorithmId != null">#{algorithmId},</if>
<if test="alarmTypes != null">#{alarmTypes},</if>
......
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