| | |
| | | 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; |
| | |
| | | |
| | | // 第一次上线 或则设备之前是离线状态--进行通道同步和设备信息查询 |
| | | if (device.getCreateTime() == null) { |
| | | device.setOnline(1); |
| | | device.setOnLine(true); |
| | | device.setCreateTime(now); |
| | | logger.info("[设备上线,首次注册]: {},查询设备信息以及通道信息", device.getDeviceId()); |
| | | deviceMapper.add(device); |
| | |
| | | } |
| | | 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); |
| | |
| | | } |
| | | String registerExpireTaskKey = VideoManagerConstants.REGISTER_EXPIRE_TASK_KEY_PREFIX + deviceId; |
| | | dynamicTask.stop(registerExpireTaskKey); |
| | | device.setOnline(0); |
| | | device.setOnLine(false); |
| | | redisCatchStorage.updateDevice(device); |
| | | deviceMapper.update(device); |
| | | //进行通道离线 |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | |
| | | @Override |
| | | public void checkDeviceStatus(Device device) { |
| | | if (device == null || device.getOnline() == 0) { |
| | | if (device == null || !device.isOnLine()) { |
| | | return; |
| | | } |
| | | try { |
| | |
| | | |
| | | if (haveChannel) { |
| | | // 查询那些civilCode不在通道中的不规范通道,放置在根目录 |
| | | List<DeviceChannel> nonstandardNode = deviceChannelMapper.getChannelWithoutCiviCode(deviceId); |
| | | List<DeviceChannel> nonstandardNode = deviceChannelMapper.getChannelWithoutCivilCode(deviceId); |
| | | if (nonstandardNode != null && nonstandardNode.size() > 0) { |
| | | result.addAll(nonstandardNode); |
| | | } |
| | |
| | | |
| | | @Override |
| | | public void addDevice(Device device) { |
| | | device.setOnline(0); |
| | | device.setOnLine(false); |
| | | device.setCreateTime(DateUtil.getNow()); |
| | | device.setUpdateTime(DateUtil.getNow()); |
| | | deviceMapper.addCustomDevice(device); |
| | |
| | | } |
| | | |
| | | @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 |