package com.ruoyi.quartz.task;
|
|
import com.ruoyi.device.camera.domain.ArdCameras;
|
import com.ruoyi.device.camera.domain.CameraCmd;
|
import com.ruoyi.device.camera.service.IArdCamerasService;
|
import com.ruoyi.device.hiksdk.service.IHikClientService;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* @Description: 同步设备状态任务
|
* @ClassName: syncDeviceStateTask
|
* @Author: 刘苏义
|
* @Date: 2023年10月08日11:06:42
|
**/
|
@Component("syncTask")
|
public class syncDeviceStateTask {
|
@Resource
|
IArdCamerasService iArdCamerasService;
|
@Resource
|
IHikClientService iHikClientService;
|
|
public void cameraState() {
|
List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
|
for (ArdCameras camera : ardCameras) {
|
CameraCmd cmd = new CameraCmd();
|
cmd.setCameraId(camera.getId());
|
boolean onLineNew = iHikClientService.isOnLine(cmd);//相机实时状态
|
boolean onLineOld = "1".equals(camera.getState());//相机历史状态
|
//当状态发生变化时,更新实时状态
|
if (onLineNew != onLineOld) {
|
if (onLineNew) {
|
camera.setState("1");
|
} else {
|
camera.setState("0");
|
}
|
iArdCamerasService.updateArdCameras(camera);
|
}
|
}
|
}
|
}
|