Commit a6e75d35 authored by 周昊's avatar 周昊

1、开发场景详情接口

2、开发算法查询全部接口
3、开发摄像头查询全部接口
parent f20c27d9
...@@ -37,6 +37,15 @@ public class AlgorithmBaseController extends BaseController { ...@@ -37,6 +37,15 @@ public class AlgorithmBaseController extends BaseController {
return getDataTable(list); return getDataTable(list);
} }
/**
* 查询算法列表
*/
@PreAuthorize("@ss.hasPermi('system:algorithmBase:list')")
@GetMapping("/list/all")
public AjaxResult listAll(AlgorithmBase algorithmBase) {
return success(algorithmBaseService.selectAlgorithmBaseList(algorithmBase));
}
/** /**
* 获取算法详细信息 * 获取算法详细信息
*/ */
......
...@@ -48,6 +48,16 @@ public class AlgorithmCameraBaseController extends BaseController ...@@ -48,6 +48,16 @@ public class AlgorithmCameraBaseController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
/**
* 查询算法摄像头列表
*/
@PreAuthorize("@ss.hasPermi('system:algorithmCamera:list')")
@GetMapping("/list/all")
public AjaxResult listAll(AlgorithmCameraBase algorithmCameraBase)
{
return success(algorithmCameraBaseService.selectAlgorithmCameraBaseList(algorithmCameraBase));
}
/** /**
* 获取算法摄像头详细信息 * 获取算法摄像头详细信息
*/ */
......
...@@ -55,7 +55,7 @@ public class AlgorithmSceneBaseController extends BaseController ...@@ -55,7 +55,7 @@ public class AlgorithmSceneBaseController extends BaseController
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
return success(algorithmSceneBaseService.selectAlgorithmSceneBaseById(id)); return success(algorithmSceneBaseService.selectAlgorithmSceneDetailsDtoById(id));
} }
/** /**
......
package com.ruoyi.algorithm.domain.dto;
import lombok.Data;
import java.util.List;
/**
* @author 周昊
* @desc ...
* @date 2023-05-15 17:35:21
*/
@Data
public class AlgorithmPieceDetailsDto {
/** 主键id */
private Long id;
/** 算法块名 */
private String pieceName;
/** 算法块参数 */
private List<AlgorithmPieceVariableDetailsDto> variables;
/** 排序 */
private Long sort;
}
package com.ruoyi.algorithm.domain.dto;
import lombok.Data;
/**
* @author 周昊
* @desc ...
* @date 2023-05-16 10:07:12
*/
@Data
public class AlgorithmPieceVariableDetailsDto {
/**
* 算法块主键id
*/
private Long algorithmPieceBaseId;
/**
* 参数唯一标识
*/
private String variableKey;
/**
* 参数名称
*/
private String variableName;
/**
* 参数类型
*/
private String variableType;
/**
* 参数值
*/
private String variableValue;
}
package com.ruoyi.algorithm.domain.dto;
import lombok.Data;
import java.util.List;
@Data
public class AlgorithmSceneDetailsDto {
/**
* 主键id
*/
private Long id;
/**
* 场景名
*/
private String sceneName;
/**
* 算法id
*/
private Long algorithmId;
/**
* 处理的预警类型
*/
private String alarmTypes;
/**
* 每秒帧数(ai算法启动参数)
*/
private Long frameSecond;
/**
* 摄像头id列表
*/
private String cameraIdList;
private List<AlgorithmPieceDetailsDto> pieceDtos;
}
...@@ -2,6 +2,8 @@ package com.ruoyi.algorithm.mapper; ...@@ -2,6 +2,8 @@ package com.ruoyi.algorithm.mapper;
import java.util.List; import java.util.List;
import com.ruoyi.algorithm.domain.AlgorithmScenePiece; import com.ruoyi.algorithm.domain.AlgorithmScenePiece;
import com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto;
import org.apache.ibatis.annotations.Param;
/** /**
* 场景算法块Mapper接口 * 场景算法块Mapper接口
...@@ -58,4 +60,6 @@ public interface AlgorithmScenePieceMapper ...@@ -58,4 +60,6 @@ public interface AlgorithmScenePieceMapper
* @return 结果 * @return 结果
*/ */
public int deleteAlgorithmScenePieceBySceneIds(Long[] sceneIds); public int deleteAlgorithmScenePieceBySceneIds(Long[] sceneIds);
List<AlgorithmPieceDetailsDto> selectAlgorithmPieceDetailsDtoBySceneId(@Param("sceneId") Long sceneId);
} }
...@@ -2,6 +2,7 @@ package com.ruoyi.algorithm.service; ...@@ -2,6 +2,7 @@ package com.ruoyi.algorithm.service;
import java.util.List; import java.util.List;
import com.ruoyi.algorithm.domain.AlgorithmSceneBase; import com.ruoyi.algorithm.domain.AlgorithmSceneBase;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto; import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto;
/** /**
...@@ -63,4 +64,6 @@ public interface IAlgorithmSceneBaseService ...@@ -63,4 +64,6 @@ public interface IAlgorithmSceneBaseService
List<AlgorithmSceneListDto> selectAlgorithmSceneListDto(AlgorithmSceneBase algorithmSceneBase); List<AlgorithmSceneListDto> selectAlgorithmSceneListDto(AlgorithmSceneBase algorithmSceneBase);
int editStatus(AlgorithmSceneBase algorithmSceneBase); int editStatus(AlgorithmSceneBase algorithmSceneBase);
AlgorithmSceneDetailsDto selectAlgorithmSceneDetailsDtoById(Long id);
} }
...@@ -2,6 +2,7 @@ package com.ruoyi.algorithm.service; ...@@ -2,6 +2,7 @@ package com.ruoyi.algorithm.service;
import java.util.List; import java.util.List;
import com.ruoyi.algorithm.domain.AlgorithmScenePiece; import com.ruoyi.algorithm.domain.AlgorithmScenePiece;
import com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto;
/** /**
* 场景算法块Service接口 * 场景算法块Service接口
...@@ -58,4 +59,6 @@ public interface IAlgorithmScenePieceService ...@@ -58,4 +59,6 @@ public interface IAlgorithmScenePieceService
* @return 结果 * @return 结果
*/ */
public int deleteAlgorithmScenePieceBySceneId(Long sceneId); public int deleteAlgorithmScenePieceBySceneId(Long sceneId);
List<AlgorithmPieceDetailsDto> selectAlgorithmPieceDetailsDtoBySceneId(Long id);
} }
...@@ -7,12 +7,15 @@ import cn.hutool.core.util.StrUtil; ...@@ -7,12 +7,15 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneDetailsDto;
import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto; import com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto;
import com.ruoyi.algorithm.service.IAlgorithmScenePieceService;
import com.ruoyi.algorithm.service.IAlgorithmSceneStatusService; import com.ruoyi.algorithm.service.IAlgorithmSceneStatusService;
import com.ruoyi.algorithm.utils.FlinkRestApiUtil; import com.ruoyi.algorithm.utils.FlinkRestApiUtil;
import com.ruoyi.common.config.AiRestApiConfig; import com.ruoyi.common.config.AiRestApiConfig;
import com.ruoyi.common.config.FlinkConfig; import com.ruoyi.common.config.FlinkConfig;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.bean.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.algorithm.mapper.AlgorithmSceneBaseMapper; import com.ruoyi.algorithm.mapper.AlgorithmSceneBaseMapper;
...@@ -35,6 +38,9 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService ...@@ -35,6 +38,9 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
@Resource @Resource
private IAlgorithmSceneStatusService algorithmSceneStatusService; private IAlgorithmSceneStatusService algorithmSceneStatusService;
@Resource
private IAlgorithmScenePieceService algorithmScenePieceService;
/** /**
* 查询算法场景 * 查询算法场景
* *
...@@ -138,6 +144,15 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService ...@@ -138,6 +144,15 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
return 1; return 1;
} }
@Override
public AlgorithmSceneDetailsDto selectAlgorithmSceneDetailsDtoById(Long id) {
AlgorithmSceneBase algorithmSceneBase = algorithmSceneBaseMapper.selectAlgorithmSceneBaseById(id);
AlgorithmSceneDetailsDto algorithmSceneDetailsDto = new AlgorithmSceneDetailsDto();
BeanUtils.copyBeanProp(algorithmSceneDetailsDto,algorithmSceneBase);
algorithmSceneDetailsDto.setPieceDtos(algorithmScenePieceService.selectAlgorithmPieceDetailsDtoBySceneId(id));
return algorithmSceneDetailsDto;
}
private void sendAi(Long sceneId, String status) { private void sendAi(Long sceneId, String status) {
String statusKey; String statusKey;
//启动 //启动
......
package com.ruoyi.algorithm.service.impl; package com.ruoyi.algorithm.service.impl;
import java.util.List; import java.util.List;
import com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.algorithm.mapper.AlgorithmScenePieceMapper; import com.ruoyi.algorithm.mapper.AlgorithmScenePieceMapper;
...@@ -90,4 +92,9 @@ public class AlgorithmScenePieceServiceImpl implements IAlgorithmScenePieceServi ...@@ -90,4 +92,9 @@ public class AlgorithmScenePieceServiceImpl implements IAlgorithmScenePieceServi
{ {
return algorithmScenePieceMapper.deleteAlgorithmScenePieceBySceneId(sceneId); return algorithmScenePieceMapper.deleteAlgorithmScenePieceBySceneId(sceneId);
} }
@Override
public List<AlgorithmPieceDetailsDto> selectAlgorithmPieceDetailsDtoBySceneId(Long id) {
return algorithmScenePieceMapper.selectAlgorithmPieceDetailsDtoBySceneId(id);
}
} }
...@@ -70,7 +70,7 @@ spring: ...@@ -70,7 +70,7 @@ spring:
# redis 配置 # redis 配置
redis: redis:
# 地址 # 地址
host: localhost host: 192.168.4.221
# 端口,默认为6379 # 端口,默认为6379
port: 6379 port: 6379
# 数据库索引 # 数据库索引
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
<if test="algorithmKey != null and algorithmKey != ''">and algorithm_key = #{algorithmKey}</if> <if test="algorithmKey != null and algorithmKey != ''">and algorithm_key = #{algorithmKey}</if>
<if test="sort != null ">and sort = #{sort}</if> <if test="sort != null ">and sort = #{sort}</if>
<if test="status != null and status != ''">and status = #{status}</if> <if test="status != null and status != ''">and status = #{status}</if>
and del_flag = '0'
</where> </where>
</select> </select>
......
...@@ -11,6 +11,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -11,6 +11,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="variableValue" column="variable_value" /> <result property="variableValue" column="variable_value" />
</resultMap> </resultMap>
<resultMap type="com.ruoyi.algorithm.domain.dto.AlgorithmPieceDetailsDto" id="AlgorithmPieceDetailsDtoResult">
<result property="id" column="piece_id" />
<result property="pieceName" column="piece_name" />
<result property="sort" column="sort" />
<collection property="variables" javaType="ArrayList" ofType="com.ruoyi.algorithm.domain.dto.AlgorithmPieceVariableDetailsDto">
<result property="algorithmPieceBaseId" column="piece_id" />
<result property="variableKey" column="variable_key" />
<result property="variableValue" column="variable_value" />
<result property="variableType" column="variable_type" />
<result property="variableName" column="variable_name" />
</collection>
</resultMap>
<sql id="selectAlgorithmScenePieceVo"> <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 from algorithm_scene_piece
</sql> </sql>
...@@ -26,7 +39,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -26,7 +39,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectAlgorithmScenePieceVo"/> <include refid="selectAlgorithmScenePieceVo"/>
where scene_id = #{sceneId} where scene_id = #{sceneId}
</select> </select>
<select id="selectAlgorithmPieceDetailsDtoBySceneId" resultMap="AlgorithmPieceDetailsDtoResult">
SELECT
asp.piece_id,
apb.piece_name,
asp.sort,
asp.variable_key,
asp.variable_value,
apv.variable_name,
apv.variable_type
FROM
algorithm_scene_piece asp
LEFT JOIN algorithm_piece_base apb ON apb.id = asp.piece_id
LEFT JOIN algorithm_piece_variable apv ON apv.algorithm_piece_base_id = asp.piece_id
AND asp.variable_key = apv.variable_key
WHERE
asp.scene_id = #{sceneId}
</select>
<insert id="insertAlgorithmScenePiece" parameterType="AlgorithmScenePiece"> <insert id="insertAlgorithmScenePiece" parameterType="AlgorithmScenePiece">
insert into algorithm_scene_piece insert into algorithm_scene_piece
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
......
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