Commit b616ce08 authored by baoxiaode's avatar baoxiaode
Browse files

算法场景增加频次字段

parent bb9e5a83
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ public class AlgorithmSceneBase extends BaseEntity
    /** Flink jobId */
    private String jobId;

    private String frequency;

    public Long getId() {
        return id;
    }
@@ -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;
    }

}
+2 −0
Original line number Diff line number Diff line
@@ -49,4 +49,6 @@ public class AlgorithmSceneDetailsDto {
     * 更新者
     */
    private String updateBy;

    private String frequency;
}
+2 −0
Original line number Diff line number Diff line
@@ -45,4 +45,6 @@ public class AlgorithmSceneListDto {

    /** 摄像头id列表字符串 */
    private String cameraIdList;

    private String frequency;
}
+2 −0
Original line number Diff line number Diff line
@@ -49,4 +49,6 @@ public class AlgorithmSceneSaveDto {
     * 更新者
     */
    private String updateBy;

    private String frequency;
}
+37 −12
Original line number Diff line number Diff line
@@ -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;

@@ -34,6 +36,7 @@ import javax.annotation.Resource;
 * @author ruoyi
 * @date 2023-04-26
 */
@Slf4j
@Service
public class AlgorithmSceneBaseServiceImpl implements IAlgorithmSceneBaseService {
    @Autowired
@@ -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);
@@ -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);

        //删除场景下算法块及参数数据
@@ -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);

        //删除场景下算法块及参数数据
@@ -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