diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java index d9357d20..1d639098 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java @@ -204,10 +204,7 @@ public class DeviceQuery { if (logger.isDebugEnabled()) { logger.debug("设备信息删除API调用,deviceId:" + deviceId); } - - if (offLineDetector.isOnline(deviceId)) { - return new ResponseEntity("不允许删除在线设备!", HttpStatus.NOT_ACCEPTABLE); - } + // 清除redis记录 boolean isSuccess = storager.delete(deviceId); if (isSuccess) { @@ -319,20 +316,20 @@ public class DeviceQuery { if (!StringUtils.isEmpty(device.getCharset())) deviceInStore.setCharset(device.getCharset()); if (!StringUtils.isEmpty(device.getMediaServerId())) deviceInStore.setMediaServerId(device.getMediaServerId()); - if ((deviceInStore.getSubscribeCycleForCatalog() <=0 && device.getSubscribeCycleForCatalog() > 0) - || deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) { - deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog()); - // 开启订阅 - deviceService.addCatalogSubscribe(deviceInStore); - } - if (deviceInStore.getSubscribeCycleForCatalog() > 0 && device.getSubscribeCycleForCatalog() <= 0) { - deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog()); - // 取消订阅 - deviceService.removeCatalogSubscribe(deviceInStore); + if (device.getSubscribeCycleForCatalog() > 0) { + if (deviceInStore.getSubscribeCycleForCatalog() == 0 || deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) { + // 开启订阅 + deviceService.addCatalogSubscribe(deviceInStore); + } + }else if (device.getSubscribeCycleForCatalog() == 0) { + if (deviceInStore.getSubscribeCycleForCatalog() != 0) { + // 取消订阅 + deviceService.removeCatalogSubscribe(deviceInStore); + } } - storager.updateDevice(deviceInStore); - cmder.deviceInfoQuery(deviceInStore); + storager.updateDevice(device); + cmder.deviceInfoQuery(device); } WVPResult result = new WVPResult<>(); result.setCode(0); diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue index 0dab7465..7922a934 100644 --- a/web_src/src/components/DeviceList.vue +++ b/web_src/src/components/DeviceList.vue @@ -55,14 +55,14 @@ - + @@ -165,15 +165,29 @@ }, deleteDevice: function(row) { - let that = this; - this.$axios({ - method: 'delete', - url:`/api/device/query/devices/${row.deviceId}/delete` - }).then((res)=>{ - this.getDeviceList(); - }).catch((error) =>{ - console.log(error); - }); + let msg = "确定删除此设备?" + if (row.online !== 0) { + msg = "在线设备删除后仍可通过注册再次上线。
如需彻底删除请先将设备离线。
确定删除此设备?" + } + this.$confirm(msg, '提示', { + dangerouslyUseHTMLString : true, + confirmButtonText: '确定', + cancelButtonText: '取消', + center: true, + type: 'warning' + }).then(() => { + this.$axios({ + method: 'delete', + url:`/api/device/query/devices/${row.deviceId}/delete` + }).then((res)=>{ + this.getDeviceList(); + }).catch((error) =>{ + console.log(error); + }); + }).catch(() => { + + }); + }, showChannelList: function(row) {