同步通道任务完善
This commit is contained in:
@@ -1,15 +1,17 @@
|
||||
package org.dromara.sis.api;
|
||||
|
||||
import org.dromara.sis.api.domain.RemoteSdkChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceManage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface RemoteHikDeviceService {
|
||||
public interface RemoteDeviceService {
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有的海康设备信息
|
||||
*
|
||||
* @return 返回海康设备列表
|
||||
*/
|
||||
List<RemoteSisDeviceManage> queryHikDevices();
|
||||
@@ -17,6 +19,7 @@ public interface RemoteHikDeviceService {
|
||||
|
||||
/**
|
||||
* 更新设备在线状态
|
||||
*
|
||||
* @param item 设备信息
|
||||
* @return 返回是否操作成功
|
||||
*/
|
||||
@@ -24,6 +27,7 @@ public interface RemoteHikDeviceService {
|
||||
|
||||
/**
|
||||
* 查询设备通道信息
|
||||
*
|
||||
* @param deviceIp 设备ip
|
||||
* @return 返回通道列表
|
||||
*/
|
||||
@@ -31,8 +35,32 @@ public interface RemoteHikDeviceService {
|
||||
|
||||
/**
|
||||
* 更新设备通道在线状态
|
||||
*
|
||||
* @param deviceIp 设备ip
|
||||
* @return 返回是否成功
|
||||
*/
|
||||
Boolean updateDeviceChannelState(String deviceIp, Integer onLineState);
|
||||
|
||||
/**
|
||||
* 根据ip列表删除设备通道
|
||||
*
|
||||
* @param list ip列表
|
||||
* @return 返回删除条数
|
||||
*/
|
||||
Integer deleteByChannelIps(List<String> list);
|
||||
|
||||
/**
|
||||
* 批量写入设备通道
|
||||
*
|
||||
* @param insertData 写入数据
|
||||
* @return 返回写入条数
|
||||
*/
|
||||
Boolean insertChannel(List<RemoteSdkChannel> insertData);
|
||||
|
||||
/**
|
||||
* 更新设备通道信息
|
||||
* @param updateData 更新数据
|
||||
* @return 返回更新成功数量
|
||||
*/
|
||||
Integer updateChannelInfo(List<RemoteSisDeviceChannel> updateData);
|
||||
}
|
@@ -5,6 +5,23 @@ import lombok.Data;
|
||||
@Data
|
||||
public class RemoteSdkChannel {
|
||||
|
||||
|
||||
private Long deviceId;
|
||||
|
||||
private String nvrIp;
|
||||
|
||||
private Integer nvrPort;
|
||||
|
||||
private String nvrAccount;
|
||||
|
||||
private String nvrPwd;
|
||||
|
||||
private String nvrFactoryNo;
|
||||
|
||||
private Long groupId;
|
||||
|
||||
private String tenantId;
|
||||
|
||||
/**
|
||||
* 通道id
|
||||
*/
|
||||
|
@@ -62,4 +62,9 @@ public class RemoteSisDeviceManage {
|
||||
* 设备组id
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
private String tenantId;
|
||||
}
|
||||
|
@@ -0,0 +1,106 @@
|
||||
package org.dromara.sis.dubbo;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sis.api.RemoteDeviceService;
|
||||
import org.dromara.sis.api.domain.RemoteSdkChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceManage;
|
||||
import org.dromara.sis.domain.SisDeviceChannel;
|
||||
import org.dromara.sis.domain.SisDeviceManage;
|
||||
import org.dromara.sis.domain.covert.CommonBeanCovert;
|
||||
import org.dromara.sis.sdk.hik.HikSdkConstans;
|
||||
import org.dromara.sis.service.ISisDeviceChannelService;
|
||||
import org.dromara.sis.service.ISisDeviceManageService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海康设备远程服务调用
|
||||
*
|
||||
* @author lxj
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class RemoteDeviceServiceImpl implements RemoteDeviceService {
|
||||
|
||||
private final ISisDeviceManageService deviceManageService;
|
||||
private final ISisDeviceChannelService deviceChannelService;
|
||||
|
||||
@Override
|
||||
public List<RemoteSisDeviceManage> queryHikDevices() {
|
||||
List<SisDeviceManage> sisDeviceManages = deviceManageService.queryHikDevices();
|
||||
return CommonBeanCovert.INSTANCE.entity2Remote(sisDeviceManages);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateDeviceState(RemoteSisDeviceManage item) {
|
||||
return deviceManageService.updateDeviceState(CommonBeanCovert.INSTANCE.Remote2Entity(item));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RemoteSisDeviceChannel> queryDeviceChannels(String deviceIp) {
|
||||
List<SisDeviceChannel> channels = deviceChannelService.queryByDeviceIp(deviceIp);
|
||||
return CommonBeanCovert.INSTANCE.channelEntity2Remote(channels);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateDeviceChannelState(String deviceIp, Integer onLineState) {
|
||||
return deviceChannelService.updateDeviceChannelState(deviceIp, onLineState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer deleteByChannelIps(List<String> list) {
|
||||
return deviceChannelService.deleteByChannelIps(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insertChannel(List<RemoteSdkChannel> insertData) {
|
||||
List<SisDeviceChannel> list = insertData.stream().map(item -> {
|
||||
SisDeviceChannel channel = new SisDeviceChannel();
|
||||
// 通道设备信息
|
||||
channel.setDeviceIp(item.getChannelIp());
|
||||
channel.setDevicePort(Integer.valueOf(item.getChannelPort()));
|
||||
channel.setDeviceAccount(item.getChannelAccount());
|
||||
// 目前没发获取通道设备厂商,默认跟着录像机走
|
||||
channel.setFactoryNo(item.getNvrFactoryNo());
|
||||
channel.setChannelNo(HikSdkConstans.DEFAULT_CHANNEL);
|
||||
channel.setChannelState(item.getChannelStatus());
|
||||
if (StrUtil.isNotEmpty(item.getChannelPwd())) {
|
||||
channel.setDevicePwd(item.getChannelPwd());
|
||||
}
|
||||
// nvr 设备信息
|
||||
channel.setNvrIp(item.getNvrIp());
|
||||
channel.setNvrPort(HikSdkConstans.DEFAULT_RTSP_PORT);
|
||||
channel.setNvrAccount(item.getNvrAccount());
|
||||
channel.setNvrPwd(item.getNvrPwd());
|
||||
channel.setNvrFactoryNo(item.getNvrFactoryNo());
|
||||
channel.setNvrChannelNo(item.getChannelId() + HikSdkConstans.DEFAULT_CHANNEL_PREFX);
|
||||
|
||||
// 系统设备信息
|
||||
// 将设备id 更改为nvr的设备id
|
||||
channel.setDeviceId(item.getDeviceId());
|
||||
channel.setGroupId(item.getGroupId());
|
||||
channel.setChannelName(item.getChannelName());
|
||||
channel.setChannelNo(item.getChannelId() + HikSdkConstans.DEFAULT_CHANNEL_PREFX);
|
||||
channel.setTenantId(item.getTenantId());
|
||||
return channel;
|
||||
}).toList();
|
||||
return deviceChannelService.batchInsert(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer updateChannelInfo(List<RemoteSisDeviceChannel> updateData) {
|
||||
int num = 0;
|
||||
for (RemoteSisDeviceChannel item : updateData) {
|
||||
Boolean b = deviceChannelService.updateDeviceChannelState(item.getDeviceIp(), item.getChannelState());
|
||||
if (b) {
|
||||
num++;
|
||||
}
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
@@ -1,51 +0,0 @@
|
||||
package org.dromara.sis.dubbo;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sis.api.RemoteHikDeviceService;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceManage;
|
||||
import org.dromara.sis.domain.SisDeviceChannel;
|
||||
import org.dromara.sis.domain.SisDeviceManage;
|
||||
import org.dromara.sis.domain.covert.CommonBeanCovert;
|
||||
import org.dromara.sis.service.ISisDeviceChannelService;
|
||||
import org.dromara.sis.service.ISisDeviceManageService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海康设备远程服务调用
|
||||
*
|
||||
* @author lxj
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class RemoteHikDeviceServiceImpl implements RemoteHikDeviceService {
|
||||
|
||||
private final ISisDeviceManageService deviceManageService;
|
||||
private final ISisDeviceChannelService deviceChannelService;
|
||||
|
||||
@Override
|
||||
public List<RemoteSisDeviceManage> queryHikDevices() {
|
||||
List<SisDeviceManage> sisDeviceManages = deviceManageService.queryHikDevices();
|
||||
return CommonBeanCovert.INSTANCE.entity2Remote(sisDeviceManages);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateDeviceState(RemoteSisDeviceManage item) {
|
||||
return deviceManageService.updateDeviceState(CommonBeanCovert.INSTANCE.Remote2Entity(item));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RemoteSisDeviceChannel> queryDeviceChannels(String deviceIp) {
|
||||
List<SisDeviceChannel> channels = deviceChannelService.queryByDeviceIp(deviceIp);
|
||||
return CommonBeanCovert.INSTANCE.channelEntity2Remote(channels);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateDeviceChannelState(String deviceIp, Integer onLineState) {
|
||||
return deviceChannelService.updateDeviceChannelState(deviceIp, onLineState);
|
||||
}
|
||||
}
|
@@ -8,14 +8,18 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.property.api.RemoteFloorService;
|
||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
||||
import org.dromara.sis.domain.vo.*;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.domain.vo.SisAuthGroupRefVo;
|
||||
import org.dromara.sis.domain.vo.SisAuthRecordVo;
|
||||
import org.dromara.sis.domain.vo.SisDeviceBindRefVo;
|
||||
import org.dromara.sis.sdk.e8.E8PlatformApi;
|
||||
import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq;
|
||||
import org.dromara.sis.sdk.hik.HCNetSDK;
|
||||
import org.dromara.sis.sdk.hik.HikApiService;
|
||||
import org.dromara.sis.sdk.huawei.HuaWeiBoxApi;
|
||||
import org.dromara.sis.service.*;
|
||||
import org.dromara.sis.service.ISisAccessControlService;
|
||||
import org.dromara.sis.service.ISisAuthGroupRefService;
|
||||
import org.dromara.sis.service.ISisAuthRecordService;
|
||||
import org.dromara.sis.service.ISisDeviceBindRefService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
@@ -23,7 +27,9 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import static org.dromara.sis.sdk.hik.HCNetSDK.*;
|
||||
|
||||
@@ -35,10 +41,8 @@ public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
||||
private final HuaWeiBoxApi huaWeiBoxApi;
|
||||
private final ISisAuthRecordService authRecordService;
|
||||
private final ISisAuthGroupRefService authGroupRefService;
|
||||
private final ISisElevatorInfoService elevatorInfoService;
|
||||
private final ISisDeviceBindRefService deviceBindRefService;
|
||||
private final ISisAccessControlService accessControlService;
|
||||
private final ISisElevatorFloorRefService elevatorFloorRefService;
|
||||
private final E8PlatformApi e8PlatformApi;
|
||||
|
||||
@DubboReference
|
||||
|
@@ -24,6 +24,7 @@ public class HikDevWorkStateCallBack implements HCNetSDK.DEV_WORK_STATE_CB {
|
||||
}
|
||||
lpWorkState.read();
|
||||
log.info(JSON.toJSONString(lpWorkState));
|
||||
log.info("海康sdk心跳信息上报, tda = {}", JSON.toJSONString(lpWorkState));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -60,6 +60,14 @@ public interface ISisDeviceChannelService {
|
||||
*/
|
||||
Boolean insert(SisDeviceChannel channel);
|
||||
|
||||
/**
|
||||
* 批量写入通道信息
|
||||
*
|
||||
* @param list 批量写入通道信息
|
||||
* @return 返回写入数量
|
||||
*/
|
||||
Boolean batchInsert(List<SisDeviceChannel> list);
|
||||
|
||||
/**
|
||||
* 修改设备通道管理
|
||||
*
|
||||
@@ -77,6 +85,21 @@ public interface ISisDeviceChannelService {
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 通过设备ids 删除设备通道信息
|
||||
*
|
||||
* @param deviceIds 设备ids
|
||||
* @return 返回删除数量
|
||||
*/
|
||||
Integer deleteByDeviceIds(List<Long> deviceIds);
|
||||
|
||||
/**
|
||||
* 通过通道ip删除设备通道
|
||||
*
|
||||
* @param list ip列表
|
||||
*/
|
||||
Integer deleteByChannelIps(List<String> list);
|
||||
|
||||
/**
|
||||
* 查询设备通道树
|
||||
*
|
||||
@@ -87,13 +110,6 @@ public interface ISisDeviceChannelService {
|
||||
|
||||
void handleHikDeviceChannel(SisDeviceManageBo bo);
|
||||
|
||||
/**
|
||||
* 通过设备ids 删除设备通道信息
|
||||
*
|
||||
* @param deviceIds 设备ids
|
||||
* @return 返回删除数量
|
||||
*/
|
||||
Integer deleteByDeviceIds(List<Long> deviceIds);
|
||||
|
||||
SisDeviceChannel queryByChannelIp(String channelIp);
|
||||
|
||||
@@ -107,8 +123,11 @@ public interface ISisDeviceChannelService {
|
||||
|
||||
/**
|
||||
* 更新设备状态
|
||||
*
|
||||
* @param deviceIp 设备ip
|
||||
* @return 返回是否操作成功
|
||||
*/
|
||||
Boolean updateDeviceChannelState(String deviceIp, Integer onLineState);
|
||||
|
||||
|
||||
}
|
||||
|
@@ -123,6 +123,11 @@ public class SisDeviceChannelServiceImpl implements ISisDeviceChannelService {
|
||||
return baseMapper.insert(channel) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean batchInsert(List<SisDeviceChannel> list) {
|
||||
return baseMapper.insertBatch(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备通道管理
|
||||
*
|
||||
@@ -302,6 +307,13 @@ public class SisDeviceChannelServiceImpl implements ISisDeviceChannelService {
|
||||
return baseMapper.delete(lqw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer deleteByChannelIps(List<String> list) {
|
||||
LambdaQueryWrapper<SisDeviceChannel> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.in(SisDeviceChannel::getDeviceIp, list);
|
||||
return baseMapper.delete(lqw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SisDeviceChannel> queryByDeviceIp(String deviceIp) {
|
||||
LambdaQueryWrapper<SisDeviceChannel> lqw = new LambdaQueryWrapper<>();
|
||||
|
@@ -5,9 +5,10 @@ import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.log.SnailJobLog;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.sis.api.RemoteHikDeviceService;
|
||||
import org.dromara.sis.api.RemoteDeviceService;
|
||||
import org.dromara.sis.api.RemoteHikSdkService;
|
||||
import org.dromara.sis.api.domain.RemoteSdkChannel;
|
||||
import org.dromara.sis.api.domain.RemoteSisDeviceChannel;
|
||||
@@ -15,8 +16,7 @@ import org.dromara.sis.api.domain.RemoteSisDeviceManage;
|
||||
import org.dromara.sis.api.enums.DeviceTypeEnum;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -31,7 +31,7 @@ import java.util.stream.Collectors;
|
||||
public class HikDeviceCheckStateTask {
|
||||
|
||||
@DubboReference
|
||||
private RemoteHikDeviceService remoteHikDeviceService;
|
||||
private RemoteDeviceService remoteDeviceService;
|
||||
@DubboReference
|
||||
private RemoteHikSdkService remoteHikSdkService;
|
||||
|
||||
@@ -44,7 +44,7 @@ public class HikDeviceCheckStateTask {
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
|
||||
List<RemoteSisDeviceManage> device = remoteHikDeviceService.queryHikDevices();
|
||||
List<RemoteSisDeviceManage> device = remoteDeviceService.queryHikDevices();
|
||||
if (CollUtil.isEmpty(device)) {
|
||||
SnailJobLog.REMOTE.info("需要同步的hik设备数量为0,任务执行结束");
|
||||
return ExecuteResult.success();
|
||||
@@ -76,17 +76,71 @@ public class HikDeviceCheckStateTask {
|
||||
*/
|
||||
private void updateDeviceChannelStatus(RemoteSisDeviceManage sisDeviceManage) {
|
||||
// 查询设备通道信息
|
||||
List<RemoteSisDeviceChannel> ls = remoteHikDeviceService.queryDeviceChannels(sisDeviceManage.getDeviceIp());
|
||||
List<RemoteSisDeviceChannel> ls = remoteDeviceService.queryDeviceChannels(sisDeviceManage.getDeviceIp());
|
||||
SnailJobLog.REMOTE.info("设备[{}]本地通道数量={}", sisDeviceManage.getDeviceIp(), ls.size());
|
||||
List<RemoteSdkChannel> sdkChannels = remoteHikSdkService.getDeviceChannel(sisDeviceManage.getDeviceIp());
|
||||
SnailJobLog.REMOTE.info("设备[{}]sdk通道数量={}", sisDeviceManage.getDeviceIp(), sdkChannels.size());
|
||||
|
||||
Map<String, RemoteSisDeviceChannel> data1 = ls.stream().collect(Collectors.toMap(RemoteSisDeviceChannel::getDeviceIp, item -> item));
|
||||
Map<String, RemoteSdkChannel> data2 = sdkChannels.stream().collect(Collectors.toMap(RemoteSdkChannel::getChannelIp, item -> item));
|
||||
Set<String> keys = new HashSet<>(data1.size() + data2.size());
|
||||
keys.addAll(data1.keySet());
|
||||
keys.addAll(data2.keySet());
|
||||
|
||||
// 在data1 不在data2 的数据 -- 删除本体通道
|
||||
List<RemoteSisDeviceChannel> deleteData = new ArrayList<>(data1.size());
|
||||
// 在data2有 data1中没有的数据 -- 写入本地通道
|
||||
List<RemoteSdkChannel> insertData = new ArrayList<>(data1.size());
|
||||
// 在2个集合中都存在的数据 -- 更新本地通道
|
||||
List<RemoteSisDeviceChannel> updateData = new ArrayList<>(data1.size());
|
||||
keys.forEach(item -> {
|
||||
RemoteSisDeviceChannel remoteSisDeviceChannel = data1.get(item);
|
||||
RemoteSdkChannel remoteSdkChannel = data2.get(item);
|
||||
if (remoteSisDeviceChannel == null) {
|
||||
if (remoteSdkChannel != null) {
|
||||
remoteSdkChannel.setDeviceId(sisDeviceManage.getId());
|
||||
remoteSdkChannel.setNvrIp(sisDeviceManage.getDeviceIp());
|
||||
remoteSdkChannel.setNvrPort(sisDeviceManage.getDevicePort());
|
||||
remoteSdkChannel.setNvrAccount(sisDeviceManage.getDeviceAccount());
|
||||
remoteSdkChannel.setNvrPwd(sisDeviceManage.getDevicePwd());
|
||||
remoteSdkChannel.setNvrFactoryNo(sisDeviceManage.getFactoryNo());
|
||||
remoteSdkChannel.setGroupId(sisDeviceManage.getGroupId());
|
||||
remoteSdkChannel.setTenantId(sisDeviceManage.getTenantId());
|
||||
// 写入
|
||||
insertData.add(remoteSdkChannel);
|
||||
}
|
||||
} else {
|
||||
if (remoteSdkChannel == null) {
|
||||
// 删除
|
||||
deleteData.add(remoteSisDeviceChannel);
|
||||
} else {
|
||||
// 更新
|
||||
if (!Objects.equals(remoteSdkChannel.getChannelStatus(), remoteSisDeviceChannel.getChannelState())) {
|
||||
updateData.add(remoteSisDeviceChannel);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 开始执行更新操作
|
||||
if (!deleteData.isEmpty()) {
|
||||
List<String> delList = deleteData.stream().map(RemoteSisDeviceChannel::getDeviceIp).toList();
|
||||
int num = remoteDeviceService.deleteByChannelIps(delList);
|
||||
SnailJobLog.REMOTE.info("删除通道完成,删除数量={}", num);
|
||||
SnailJobLog.REMOTE.info("删除的通道列表={}", JSONObject.toJSONString(delList));
|
||||
}
|
||||
|
||||
// 开始写入操作
|
||||
if (!insertData.isEmpty()) {
|
||||
Boolean result = remoteDeviceService.insertChannel(insertData);
|
||||
SnailJobLog.REMOTE.info("写入通道信息完成,result={}", result);
|
||||
}
|
||||
|
||||
// 开始更新操作
|
||||
if (!updateData.isEmpty()) {
|
||||
Integer i = remoteDeviceService.updateChannelInfo(updateData);
|
||||
SnailJobLog.REMOTE.info("更新通道完成,通道数量={},完成数量={}", updateData.size(), i);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -104,16 +158,17 @@ public class HikDeviceCheckStateTask {
|
||||
if (item.getDeviceStatus() != onLineState) {
|
||||
SnailJobLog.REMOTE.info("设备[{}]在线状态变更,开始更新状态。 old={},new ={} ", item.getDeviceIp(), item.getDeviceStatus(), onLineState);
|
||||
item.setDeviceStatus(onLineState);
|
||||
Boolean result = remoteHikDeviceService.updateDeviceState(item);
|
||||
Boolean result = remoteDeviceService.updateDeviceState(item);
|
||||
SnailJobLog.REMOTE.info("设备[{}]在线状态变更,状态更新完成。 result={} ", item.getDeviceIp(), result);
|
||||
|
||||
// 监测当前设备是否存在通道,如果有则跟新通道信息
|
||||
List<RemoteSisDeviceChannel> ls = remoteHikDeviceService.queryDeviceChannels(item.getDeviceIp());
|
||||
List<RemoteSisDeviceChannel> ls = remoteDeviceService.queryDeviceChannels(item.getDeviceIp());
|
||||
if (CollUtil.isNotEmpty(ls)) {
|
||||
Boolean r1 = remoteHikDeviceService.updateDeviceChannelState(item.getDeviceIp(), onLineState);
|
||||
Boolean r1 = remoteDeviceService.updateDeviceChannelState(item.getDeviceIp(), onLineState);
|
||||
SnailJobLog.REMOTE.info("设备通道[{}]在线状态变更,状态更新完成。 result={} ", item.getDeviceIp(), r1);
|
||||
}
|
||||
}
|
||||
return isLogin;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user