Loading ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/AlgorithmSceneBase.java +11 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ public class AlgorithmSceneBase extends BaseEntity /** Flink jobId */ private String jobId; private String frequency; public Long getId() { return id; } Loading Loading @@ -133,4 +135,13 @@ public class AlgorithmSceneBase extends BaseEntity public void setJobId(String jobId) { this.jobId = jobId; } public String getFrequency() { return frequency; } public void setFrequency(String frequency) { this.frequency = frequency; } } ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneDetailsDto.java +2 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,6 @@ public class AlgorithmSceneDetailsDto { * 更新者 */ private String updateBy; private String frequency; } ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneListDto.java +2 −0 Original line number Diff line number Diff line Loading @@ -45,4 +45,6 @@ public class AlgorithmSceneListDto { /** 摄像头id列表字符串 */ private String cameraIdList; private String frequency; } ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneSaveDto.java +2 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,6 @@ public class AlgorithmSceneSaveDto { * 更新者 */ private String updateBy; private String frequency; } ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/impl/AlgorithmSceneBaseServiceImpl.java +37 −12 Original line number Diff line number Diff line Loading @@ -20,11 +20,13 @@ import com.ruoyi.common.config.AiRestApiConfig; import com.ruoyi.common.config.FlinkConfig; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.algorithm.mapper.AlgorithmSceneBaseMapper; import com.ruoyi.algorithm.domain.AlgorithmSceneBase; import com.ruoyi.algorithm.service.IAlgorithmSceneBaseService; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; Loading @@ -34,6 +36,7 @@ import javax.annotation.Resource; * @author ruoyi * @date 2023-04-26 */ @Slf4j @Service public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService { @Autowired Loading Loading @@ -134,14 +137,24 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService newSceneBase.setJobId(""); if ("0".equals(algorithmSceneBase.getStatus())) { // flink 启动job try{ String result = FlinkRestApiUtil.runJar(FlinkConfig.getJarId(), FlinkConfig.getEntryClass() , StrUtil.format(FlinkConfig.getProgramArgs(), algorithmSceneBase.getId())); JSONObject jsonObject = JSONUtil.parseObj(result); String jobId = jsonObject.getStr("job"); newSceneBase.setJobId(jobId); }catch (Exception e){ log.error("flink 启动job异常"); e.printStackTrace(); } } else { // flink 取消job String s = FlinkRestApiUtil.cancelJob(sceneBase.getJobId()); try{ FlinkRestApiUtil.cancelJob(sceneBase.getJobId()); }catch (Exception e){ log.error("flink 取消job异常"); e.printStackTrace(); } } //修改场景状态 updateAlgorithmSceneBase(newSceneBase); Loading @@ -162,8 +175,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService //新建场景 AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase(); BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto); if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getAlarmTypes())){ algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(","))); } if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getCameraIdList())){ algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(","))); } int i = insertAlgorithmSceneBase(algorithmSceneBase); //删除场景下算法块及参数数据 Loading Loading @@ -197,8 +214,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService //更新场景 AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase(); BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto); if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getAlarmTypes())){ algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(","))); } if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getCameraIdList())){ algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(","))); } int i = updateAlgorithmSceneBase(algorithmSceneBase); //删除场景下算法块及参数数据 Loading Loading @@ -282,8 +303,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService //通知ai算法 String url = "http://{}:{}/{}?sceneId={}"; try{ url = StrUtil.format(url, AiRestApiConfig.getHost(), AiRestApiConfig.getPort(), statusKey, sceneId); HttpUtil.post(url, new HashMap<>()); }catch (Exception e){ log.error("通知ai失败"); } return; } } Loading
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/AlgorithmSceneBase.java +11 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ public class AlgorithmSceneBase extends BaseEntity /** Flink jobId */ private String jobId; private String frequency; public Long getId() { return id; } Loading Loading @@ -133,4 +135,13 @@ public class AlgorithmSceneBase extends BaseEntity public void setJobId(String jobId) { this.jobId = jobId; } public String getFrequency() { return frequency; } public void setFrequency(String frequency) { this.frequency = frequency; } }
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneDetailsDto.java +2 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,6 @@ public class AlgorithmSceneDetailsDto { * 更新者 */ private String updateBy; private String frequency; }
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneListDto.java +2 −0 Original line number Diff line number Diff line Loading @@ -45,4 +45,6 @@ public class AlgorithmSceneListDto { /** 摄像头id列表字符串 */ private String cameraIdList; private String frequency; }
ruoyi-admin/src/main/java/com/ruoyi/algorithm/domain/dto/AlgorithmSceneSaveDto.java +2 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,6 @@ public class AlgorithmSceneSaveDto { * 更新者 */ private String updateBy; private String frequency; }
ruoyi-admin/src/main/java/com/ruoyi/algorithm/service/impl/AlgorithmSceneBaseServiceImpl.java +37 −12 Original line number Diff line number Diff line Loading @@ -20,11 +20,13 @@ import com.ruoyi.common.config.AiRestApiConfig; import com.ruoyi.common.config.FlinkConfig; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.algorithm.mapper.AlgorithmSceneBaseMapper; import com.ruoyi.algorithm.domain.AlgorithmSceneBase; import com.ruoyi.algorithm.service.IAlgorithmSceneBaseService; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; Loading @@ -34,6 +36,7 @@ import javax.annotation.Resource; * @author ruoyi * @date 2023-04-26 */ @Slf4j @Service public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService { @Autowired Loading Loading @@ -134,14 +137,24 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService newSceneBase.setJobId(""); if ("0".equals(algorithmSceneBase.getStatus())) { // flink 启动job try{ String result = FlinkRestApiUtil.runJar(FlinkConfig.getJarId(), FlinkConfig.getEntryClass() , StrUtil.format(FlinkConfig.getProgramArgs(), algorithmSceneBase.getId())); JSONObject jsonObject = JSONUtil.parseObj(result); String jobId = jsonObject.getStr("job"); newSceneBase.setJobId(jobId); }catch (Exception e){ log.error("flink 启动job异常"); e.printStackTrace(); } } else { // flink 取消job String s = FlinkRestApiUtil.cancelJob(sceneBase.getJobId()); try{ FlinkRestApiUtil.cancelJob(sceneBase.getJobId()); }catch (Exception e){ log.error("flink 取消job异常"); e.printStackTrace(); } } //修改场景状态 updateAlgorithmSceneBase(newSceneBase); Loading @@ -162,8 +175,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService //新建场景 AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase(); BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto); if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getAlarmTypes())){ algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(","))); } if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getCameraIdList())){ algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(","))); } int i = insertAlgorithmSceneBase(algorithmSceneBase); //删除场景下算法块及参数数据 Loading Loading @@ -197,8 +214,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService //更新场景 AlgorithmSceneBase algorithmSceneBase = new AlgorithmSceneBase(); BeanUtils.copyBeanProp(algorithmSceneBase, algorithmSceneSaveDto); if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getAlarmTypes())){ algorithmSceneBase.setAlarmTypes(algorithmSceneSaveDto.getAlarmTypes().stream().collect(Collectors.joining(","))); } if(!CollectionUtils.isEmpty(algorithmSceneSaveDto.getCameraIdList())){ algorithmSceneBase.setCameraIdList(algorithmSceneSaveDto.getCameraIdList().stream().collect(Collectors.joining(","))); } int i = updateAlgorithmSceneBase(algorithmSceneBase); //删除场景下算法块及参数数据 Loading Loading @@ -282,8 +303,12 @@ public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService //通知ai算法 String url = "http://{}:{}/{}?sceneId={}"; try{ url = StrUtil.format(url, AiRestApiConfig.getHost(), AiRestApiConfig.getPort(), statusKey, sceneId); HttpUtil.post(url, new HashMap<>()); }catch (Exception e){ log.error("通知ai失败"); } return; } }