设备状态同步更改
This commit is contained in:
@@ -13,6 +13,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.utils.SpringUtils;
|
||||
import org.dromara.sis.api.RemoteDeviceService;
|
||||
import org.dromara.sis.api.RemoteHikSdkService;
|
||||
import org.dromara.sis.api.domain.DeviceStateInfo;
|
||||
import org.dromara.sis.api.domain.RemoteSdkChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceManage;
|
||||
@@ -170,18 +171,17 @@ public class HikDeviceCheckStateTask {
|
||||
public void updateDeviceStatus(RemoteSisDeviceManage item) {
|
||||
log.info("开始同步设备状态,params={}", item);
|
||||
// 调用设备登录验证次设备在线
|
||||
Boolean isLogin = remoteHikSdkService.deviceLogin(item);
|
||||
int onLineState = isLogin ? 1 : 0;
|
||||
if (!Objects.equals(item.getDeviceStatus(), onLineState)) {
|
||||
SnailJobLog.REMOTE.info("设备[{}]在线状态变更,开始更新状态。 old={},new ={} ", item.getDeviceIp(), item.getDeviceStatus(), onLineState);
|
||||
item.setDeviceStatus(onLineState);
|
||||
DeviceStateInfo stateInfo = remoteHikSdkService.checkState(item);
|
||||
if (!Objects.equals(item.getDeviceStatus(), stateInfo.getDeviceState())) {
|
||||
SnailJobLog.REMOTE.info("设备[{}]在线状态变更,开始更新状态。 old={},new ={} ", item.getDeviceIp(), item.getDeviceStatus(), stateInfo.getDeviceState());
|
||||
item.setDeviceStatus(stateInfo.getDeviceState());
|
||||
Boolean result = remoteDeviceService.updateDeviceState(item);
|
||||
SnailJobLog.REMOTE.info("设备[{}]在线状态变更,状态更新完成。 result={} ", item.getDeviceIp(), result);
|
||||
|
||||
// 监测当前设备是否存在通道,如果有则跟新通道信息
|
||||
List<RemoteSisDeviceChannel> ls = remoteDeviceService.queryDeviceChannels(item.getDeviceIp());
|
||||
if (CollUtil.isNotEmpty(ls)) {
|
||||
Boolean r1 = remoteDeviceService.updateDeviceChannelState(item.getDeviceIp(), onLineState);
|
||||
Boolean r1 = remoteDeviceService.updateDeviceChannelState(item.getDeviceIp(), stateInfo.getDeviceState());
|
||||
SnailJobLog.REMOTE.info("设备通道[{}]在线状态变更,状态更新完成。 result={} ", item.getDeviceIp(), r1);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user