From 21a96ad20fd75e55d03c00af8df8adb039f0c77a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 20 六月 2023 12:51:06 +0800 Subject: [PATCH] 修复通道刷新 --- src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java | 33 +++++++++++++++++++-------------- 1 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java index 7f5bdc4..bb48089 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java @@ -12,6 +12,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.cmd.CatalogResponseMessageHandler; import com.genersoft.iot.vmp.service.IDeviceChannelService; import com.genersoft.iot.vmp.service.IDeviceService; +import com.genersoft.iot.vmp.service.IInviteStreamService; import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.dao.DeviceChannelMapper; @@ -19,7 +20,7 @@ import com.genersoft.iot.vmp.storager.dao.PlatformChannelMapper; import com.genersoft.iot.vmp.utils.DateUtil; import com.genersoft.iot.vmp.vmanager.bean.BaseTree; -import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo; +import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -57,6 +58,9 @@ @Autowired private IRedisCatchStorage redisCatchStorage; + + @Autowired + private IInviteStreamService inviteStreamService; @Autowired private DeviceMapper deviceMapper; @@ -97,7 +101,7 @@ String now = DateUtil.getNow(); if (deviceInRedis != null && deviceInDb == null) { // redis 瀛樺湪鑴忔暟鎹� - redisCatchStorage.clearCatchByDeviceId(device.getDeviceId()); + inviteStreamService.clearInviteInfo(device.getDeviceId()); } device.setUpdateTime(now); if (device.getKeepaliveIntervalTime() == 0) { @@ -114,7 +118,7 @@ // 绗竴娆′笂绾� 鎴栧垯璁惧涔嬪墠鏄绾跨姸鎬�--杩涜閫氶亾鍚屾鍜岃澶囦俊鎭煡璇� if (device.getCreateTime() == null) { - device.setOnline(1); + device.setOnLine(true); device.setCreateTime(now); logger.info("[璁惧涓婄嚎,棣栨娉ㄥ唽]: {}锛屾煡璇㈣澶囦俊鎭互鍙婇�氶亾淇℃伅", device.getDeviceId()); deviceMapper.add(device); @@ -126,8 +130,8 @@ } sync(device); }else { - if(device.getOnline() == 0){ - device.setOnline(1); + if(!device.isOnLine()){ + device.setOnLine(true); device.setCreateTime(now); deviceMapper.update(device); redisCatchStorage.updateDevice(device); @@ -174,14 +178,14 @@ @Override public void offline(String deviceId, String reason) { - logger.error("[璁惧绂荤嚎]锛寋}, device锛歿}", reason, deviceId); + logger.warn("[璁惧绂荤嚎]锛寋}, device锛歿}", reason, deviceId); Device device = deviceMapper.getDeviceByDeviceId(deviceId); if (device == null) { return; } String registerExpireTaskKey = VideoManagerConstants.REGISTER_EXPIRE_TASK_KEY_PREFIX + deviceId; dynamicTask.stop(registerExpireTaskKey); - device.setOnline(0); + device.setOnLine(false); redisCatchStorage.updateDevice(device); deviceMapper.update(device); //杩涜閫氶亾绂荤嚎 @@ -227,7 +231,7 @@ } logger.info("[绉婚櫎鐩綍璁㈤槄]: {}", device.getDeviceId()); String taskKey = device.getDeviceId() + "catalog"; - if (device.getOnline() == 1) { + if (device.isOnLine()) { Runnable runnable = dynamicTask.get(taskKey); if (runnable instanceof ISubscribeTask) { ISubscribeTask subscribeTask = (ISubscribeTask) runnable; @@ -260,7 +264,7 @@ } logger.info("[绉婚櫎绉诲姩浣嶇疆璁㈤槄]: {}", device.getDeviceId()); String taskKey = device.getDeviceId() + "mobile_position"; - if (device.getOnline() == 1) { + if (device.isOnLine()) { Runnable runnable = dynamicTask.get(taskKey); if (runnable instanceof ISubscribeTask) { ISubscribeTask subscribeTask = (ISubscribeTask) runnable; @@ -327,7 +331,7 @@ @Override public void checkDeviceStatus(Device device) { - if (device == null || device.getOnline() == 0) { + if (device == null || !device.isOnLine()) { return; } try { @@ -442,7 +446,7 @@ @Override public void addDevice(Device device) { - device.setOnline(0); + device.setOnLine(false); device.setCreateTime(DateUtil.getNow()); device.setUpdateTime(DateUtil.getNow()); deviceMapper.addCustomDevice(device); @@ -466,7 +470,6 @@ } deviceInStore.setSdpIp(device.getSdpIp()); deviceInStore.setCharset(device.getCharset()); - deviceInStore.setTreeType(device.getTreeType()); // 鐩綍璁㈤槄鐩稿叧鐨勪俊鎭� if (device.getSubscribeCycleForCatalog() > 0) { @@ -526,8 +529,10 @@ } @Override - public ResourceBaceInfo getOverview() { - return deviceMapper.getOverview(); + public ResourceBaseInfo getOverview() { + List<Device> onlineDevices = deviceMapper.getOnlineDevices(); + List<Device> all = deviceMapper.getAll(); + return new ResourceBaseInfo(all.size(), onlineDevices.size()); } @Override -- Gitblit v1.8.0