71 lines
2.5 KiB
Java
71 lines
2.5 KiB
Java
|
|
package com.zhgd.xmgl.task;
|
|||
|
|
|
|||
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
|
|
import com.zhgd.xmgl.async.AsyncHikvision;
|
|||
|
|
import com.zhgd.xmgl.call.HikvisionCall;
|
|||
|
|
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
|||
|
|
import com.zhgd.xmgl.modules.project.mapper.ProjectVideoConfigMapper;
|
|||
|
|
import com.zhgd.xmgl.modules.project.service.ProgressTaskService;
|
|||
|
|
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
|
|||
|
|
import lombok.extern.slf4j.Slf4j;
|
|||
|
|
import net.javacrumbs.shedlock.core.SchedulerLock;
|
|||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|||
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|||
|
|
import org.springframework.web.bind.annotation.RestController;
|
|||
|
|
|
|||
|
|
import java.util.HashMap;
|
|||
|
|
import java.util.List;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 视频设备(监控点)定时任务
|
|||
|
|
*/
|
|||
|
|
@Slf4j
|
|||
|
|
@RestController
|
|||
|
|
@RequestMapping("xmgl/task")
|
|||
|
|
public class VideoItemTask {
|
|||
|
|
@Autowired
|
|||
|
|
HikvisionCall hikvisionCall;
|
|||
|
|
@Autowired
|
|||
|
|
AsyncHikvision asyncHikvision;
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
ProgressTaskService progressTaskService;
|
|||
|
|
@Autowired
|
|||
|
|
VideoItemMapper videoItemMapper;
|
|||
|
|
@Autowired
|
|||
|
|
ProjectVideoConfigMapper projectVideoConfigMapper;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 定时获取录像完整性结果
|
|||
|
|
*/
|
|||
|
|
@SchedulerLock(name = "manageAlarmData", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
|||
|
|
@Scheduled(cron = "0 0 0/1 * * ?")
|
|||
|
|
public void manageAlarmData() {
|
|||
|
|
log.info("定时获取录像完整性结果任务开始");
|
|||
|
|
HashMap<String, Object> map = new HashMap<>();
|
|||
|
|
map.put("videoType", 3);
|
|||
|
|
//List<VideoItemConfigBo> videoItemConfigBos = videoItemMapper.selectDeviceDetailAndProjectSnList(map);
|
|||
|
|
//videoItemMapper.selectList(new LambdaQueryWrapper<VideoItem>()
|
|||
|
|
// .eq(VideoItem::getProjectSn, ));
|
|||
|
|
//hikvisionCall.getCameraOnline();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 定时获取视频质量诊断结果
|
|||
|
|
*/
|
|||
|
|
@SchedulerLock(name = "addVqdForHikvision", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
|||
|
|
@Scheduled(cron = "0 0 0/1 * * ?")
|
|||
|
|
public void addVqdForHikvision() {
|
|||
|
|
log.info("定时获取视频质量诊断结果任务开始");
|
|||
|
|
List<ProjectVideoConfig> projectVideoConfigs = projectVideoConfigMapper.selectList(new LambdaQueryWrapper<ProjectVideoConfig>()
|
|||
|
|
.eq(ProjectVideoConfig::getVideoType, 3));
|
|||
|
|
for (ProjectVideoConfig projectVideoConfig : projectVideoConfigs) {
|
|||
|
|
asyncHikvision.addVqdForHikvision(projectVideoConfig);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|