Commit 7d3b52f2 authored by baoxiaode's avatar baoxiaode

Merge branch 'develop' into production

parents ded76628 b616ce08
...@@ -30,6 +30,10 @@ public class AlgorithmCameraBase extends BaseEntity ...@@ -30,6 +30,10 @@ public class AlgorithmCameraBase extends BaseEntity
@Excel(name = "排序") @Excel(name = "排序")
private Long sort; private Long sort;
/** 归属矿场 */
@Excel(name = "归属矿场")
private String belong;
/** 帐号状态(0正常 */ /** 帐号状态(0正常 */
@Excel(name = "帐号状态", readConverterExp = "帐号状态(0正常") @Excel(name = "帐号状态", readConverterExp = "帐号状态(0正常")
private String status; private String status;
...@@ -92,6 +96,14 @@ public class AlgorithmCameraBase extends BaseEntity ...@@ -92,6 +96,14 @@ public class AlgorithmCameraBase extends BaseEntity
return delFlag; return delFlag;
} }
public String getBelong() {
return belong;
}
public void setBelong(String belong) {
this.belong = belong;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
......
...@@ -54,6 +54,8 @@ public class AlgorithmSceneBase extends BaseEntity ...@@ -54,6 +54,8 @@ public class AlgorithmSceneBase extends BaseEntity
/** Flink jobId */ /** Flink jobId */
private String jobId; private String jobId;
private String frequency;
public Long getId() { public Long getId() {
return id; return id;
} }
...@@ -133,4 +135,13 @@ public class AlgorithmSceneBase extends BaseEntity ...@@ -133,4 +135,13 @@ public class AlgorithmSceneBase extends BaseEntity
public void setJobId(String jobId) { public void setJobId(String jobId) {
this.jobId = jobId; this.jobId = jobId;
} }
public String getFrequency() {
return frequency;
}
public void setFrequency(String frequency) {
this.frequency = frequency;
}
} }
...@@ -26,6 +26,9 @@ public class AlgorithmCameraListDto { ...@@ -26,6 +26,9 @@ public class AlgorithmCameraListDto {
/** 排序 */ /** 排序 */
private Long sort; private Long sort;
/** 归属矿场 */
private String belong;
/** 状态 */ /** 状态 */
private String status; private String status;
} }
...@@ -49,4 +49,6 @@ public class AlgorithmSceneDetailsDto { ...@@ -49,4 +49,6 @@ public class AlgorithmSceneDetailsDto {
* 更新者 * 更新者
*/ */
private String updateBy; private String updateBy;
private String frequency;
} }
...@@ -45,4 +45,6 @@ public class AlgorithmSceneListDto { ...@@ -45,4 +45,6 @@ public class AlgorithmSceneListDto {
/** 摄像头id列表字符串 */ /** 摄像头id列表字符串 */
private String cameraIdList; private String cameraIdList;
private String frequency;
} }
...@@ -49,4 +49,6 @@ public class AlgorithmSceneSaveDto { ...@@ -49,4 +49,6 @@ public class AlgorithmSceneSaveDto {
* 更新者 * 更新者
*/ */
private String updateBy; private String updateBy;
private String frequency;
} }
...@@ -20,11 +20,13 @@ import com.ruoyi.common.config.AiRestApiConfig; ...@@ -20,11 +20,13 @@ 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 com.ruoyi.common.utils.bean.BeanUtils;
import lombok.extern.slf4j.Slf4j;
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;
import com.ruoyi.algorithm.domain.AlgorithmSceneBase; import com.ruoyi.algorithm.domain.AlgorithmSceneBase;
import com.ruoyi.algorithm.service.IAlgorithmSceneBaseService; import com.ruoyi.algorithm.service.IAlgorithmSceneBaseService;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -34,6 +36,7 @@ import javax.annotation.Resource; ...@@ -34,6 +36,7 @@ import javax.annotation.Resource;
* @author ruoyi * @author ruoyi
* @date 2023-04-26 * @date 2023-04-26
*/ */
@Slf4j
@Service @Service
public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService { public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService {
@Autowired @Autowired
...@@ -134,14 +137,24 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService ...@@ -134,14 +137,24 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
newSceneBase.setJobId(""); newSceneBase.setJobId("");
if ("0".equals(algorithmSceneBase.getStatus())) { if ("0".equals(algorithmSceneBase.getStatus())) {
// flink 启动job // flink 启动job
try{
String result = FlinkRestApiUtil.runJar(FlinkConfig.getJarId(), FlinkConfig.getEntryClass() String result = FlinkRestApiUtil.runJar(FlinkConfig.getJarId(), FlinkConfig.getEntryClass()
, StrUtil.format(FlinkConfig.getProgramArgs(), algorithmSceneBase.getId())); , StrUtil.format(FlinkConfig.getProgramArgs(), algorithmSceneBase.getId()));
JSONObject jsonObject = JSONUtil.parseObj(result); JSONObject jsonObject = JSONUtil.parseObj(result);
String jobId = jsonObject.getStr("job"); String jobId = jsonObject.getStr("job");
newSceneBase.setJobId(jobId); newSceneBase.setJobId(jobId);
}catch (Exception e){
log.error("flink 启动job异常");
e.printStackTrace();
}
} else { } else {
// flink 取消job // flink 取消job
String s = FlinkRestApiUtil.cancelJob(sceneBase.getJobId()); try{
FlinkRestApiUtil.cancelJob(sceneBase.getJobId());
}catch (Exception e){
log.error("flink 取消job异常");
e.printStackTrace();
}
} }
//修改场景状态 //修改场景状态
updateAlgorithmSceneBase(newSceneBase); updateAlgorithmSceneBase(newSceneBase);
...@@ -162,8 +175,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService ...@@ -162,8 +175,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
//新建场景 //新建场景
AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase(); AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase();
BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto); BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto);
if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getAlarmTypes())){
algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(","))); algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(",")));
}
if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getCameraIdList())){
algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(","))); algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(",")));
}
int i = insertAlgorithmSceneBase(algorithmSceneBase); int i = insertAlgorithmSceneBase(algorithmSceneBase);
//删除场景下算法块及参数数据 //删除场景下算法块及参数数据
...@@ -197,8 +214,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService ...@@ -197,8 +214,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
//更新场景 //更新场景
AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase(); AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase();
BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto); BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto);
if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getAlarmTypes())){
algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(","))); algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(",")));
}
if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getCameraIdList())){
algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(","))); algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(",")));
}
int i = updateAlgorithmSceneBase(algorithmSceneBase); int i = updateAlgorithmSceneBase(algorithmSceneBase);
//删除场景下算法块及参数数据 //删除场景下算法块及参数数据
...@@ -282,8 +303,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService ...@@ -282,8 +303,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService
//通知ai算法 //通知ai算法
String url = "http://{}:{}/{}?sceneId={}"; String url = "http://{}:{}/{}?sceneId={}";
try{
url = StrUtil.format(url, AiRestApiConfig.getHost(), AiRestApiConfig.getPort(), statusKey, sceneId); url = StrUtil.format(url, AiRestApiConfig.getHost(), AiRestApiConfig.getPort(), statusKey, sceneId);
HttpUtil.post(url, new HashMap<>()); HttpUtil.post(url, new HashMap<>());
}catch (Exception e){
log.error("通知ai失败");
}
return; return;
} }
} }
...@@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="cameraName" column="camera_name" /> <result property="cameraName" column="camera_name" />
<result property="rtsp" column="rtsp" /> <result property="rtsp" column="rtsp" />
<result property="sort" column="sort" /> <result property="sort" column="sort" />
<result property="belong" column="belong" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
...@@ -26,10 +27,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -26,10 +27,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="sort" column="sort" /> <result property="sort" column="sort" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="belong" column="belong" />
</resultMap> </resultMap>
<sql id="selectAlgorithmCameraBaseVo"> <sql id="selectAlgorithmCameraBaseVo">
select id, camera_name, rtsp, sort, status, del_flag, create_by, create_time, update_by, update_time, remark from algorithm_camera_base select id, camera_name, rtsp, sort, belong,status, del_flag, create_by, create_time, update_by, update_time, remark from algorithm_camera_base
</sql> </sql>
<select id="selectAlgorithmCameraBaseList" parameterType="AlgorithmCameraBase" resultMap="AlgorithmCameraBaseResult"> <select id="selectAlgorithmCameraBaseList" parameterType="AlgorithmCameraBase" resultMap="AlgorithmCameraBaseResult">
...@@ -54,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -54,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
su.nick_name, su.nick_name,
acb.create_time, acb.create_time,
acb.sort, acb.sort,
acb.belong,
acb.`status` acb.`status`
FROM FROM
algorithm_camera_base acb algorithm_camera_base acb
...@@ -83,6 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -83,6 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cameraName != null">camera_name,</if> <if test="cameraName != null">camera_name,</if>
<if test="rtsp != null">rtsp,</if> <if test="rtsp != null">rtsp,</if>
<if test="sort != null">sort,</if> <if test="sort != null">sort,</if>
<if test="belong != null">belong,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
<if test="delFlag != null">del_flag,</if> <if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
...@@ -96,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -96,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cameraName != null">#{cameraName},</if> <if test="cameraName != null">#{cameraName},</if>
<if test="rtsp != null">#{rtsp},</if> <if test="rtsp != null">#{rtsp},</if>
<if test="sort != null">#{sort},</if> <if test="sort != null">#{sort},</if>
<if test="belong != null">#{belong},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
<if test="delFlag != null">#{delFlag},</if> <if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
...@@ -112,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -112,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cameraName != null">camera_name = #{cameraName},</if> <if test="cameraName != null">camera_name = #{cameraName},</if>
<if test="rtsp != null">rtsp = #{rtsp},</if> <if test="rtsp != null">rtsp = #{rtsp},</if>
<if test="sort != null">sort = #{sort},</if> <if test="sort != null">sort = #{sort},</if>
<if test="belong != null">belong = #{belong},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if> <if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="frequency" column="frequency"/>
</resultMap> </resultMap>
<resultMap type="com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto" id="AlgorithmSceneListDtoResult"> <resultMap type="com.ruoyi.algorithm.domain.dto.AlgorithmSceneListDto" id="AlgorithmSceneListDtoResult">
...@@ -34,6 +35,7 @@ ...@@ -34,6 +35,7 @@
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="cameraIdList" column="camera_id_list"/> <result property="cameraIdList" column="camera_id_list"/>
<result property="alarmTypesString" column="alarm_types"/> <result property="alarmTypesString" column="alarm_types"/>
<result property="frequency" column="frequency"/>
<collection property="alarmTypes" javaType="ArrayList" column="alarm_types" <collection property="alarmTypes" javaType="ArrayList" column="alarm_types"
ofType="com.ruoyi.algorithm.domain.AlgorithmBaseType" select="selectAlgorithmBaseType"/> ofType="com.ruoyi.algorithm.domain.AlgorithmBaseType" select="selectAlgorithmBaseType"/>
<collection property="cameras" javaType="ArrayList" column="camera_id_list" <collection property="cameras" javaType="ArrayList" column="camera_id_list"
...@@ -41,7 +43,8 @@ ...@@ -41,7 +43,8 @@
</resultMap> </resultMap>
<sql id="selectAlgorithmSceneBaseVo"> <sql id="selectAlgorithmSceneBaseVo">
select id, scene_name, algorithm_id, alarm_types, frame_second, camera_id_list, live, status, job_id, del_flag, create_by, create_time, update_by, update_time, remark from algorithm_scene_base select id, scene_name, algorithm_id, alarm_types, frame_second, camera_id_list, live, frequency,
status, job_id, del_flag, create_by, create_time, update_by, update_time, remark from algorithm_scene_base
</sql> </sql>
<select id="selectAlgorithmSceneBaseList" parameterType="AlgorithmSceneBase" resultMap="AlgorithmSceneBaseResult"> <select id="selectAlgorithmSceneBaseList" parameterType="AlgorithmSceneBase" resultMap="AlgorithmSceneBaseResult">
...@@ -52,6 +55,7 @@ ...@@ -52,6 +55,7 @@
<if test="alarmTypes != null and alarmTypes != ''">and alarm_types = #{alarmTypes}</if> <if test="alarmTypes != null and alarmTypes != ''">and alarm_types = #{alarmTypes}</if>
<if test="frameSecond != null ">and frame_second = #{frameSecond}</if> <if test="frameSecond != null ">and frame_second = #{frameSecond}</if>
<if test="cameraIdList != null and cameraIdList != ''">and camera_id_list = #{cameraIdList}</if> <if test="cameraIdList != null and cameraIdList != ''">and camera_id_list = #{cameraIdList}</if>
<if test="frequency != null and frequency != ''">and frequency = #{frequency}</if>
</where> </where>
</select> </select>
...@@ -69,6 +73,7 @@ ...@@ -69,6 +73,7 @@
asb.create_time, asb.create_time,
asb.`status`, asb.`status`,
asb.camera_id_list, asb.camera_id_list,
asb.frequency,
asb.alarm_types asb.alarm_types
FROM FROM
algorithm_scene_base asb algorithm_scene_base asb
...@@ -131,6 +136,7 @@ ...@@ -131,6 +136,7 @@
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="frequency != null">frequency,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sceneName != null">#{sceneName},</if> <if test="sceneName != null">#{sceneName},</if>
...@@ -147,6 +153,7 @@ ...@@ -147,6 +153,7 @@
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="frequency != null">#{frequency},</if>
</trim> </trim>
</insert> </insert>
...@@ -167,6 +174,7 @@ ...@@ -167,6 +174,7 @@
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="frequency != null and frequency != ''">and frequency = #{frequency}</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </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