| | |
| | | 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 org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | } |
| | | sync(device); |
| | | }else { |
| | | |
| | | if(device.getOnline() == 0){ |
| | | device.setOnline(1); |
| | | device.setCreateTime(now); |
| | |
| | | sync(device); |
| | | // TODO 如果设备下的通道级联到了其他平台,那么需要发送事件或者notify给上级平台 |
| | | }else { |
| | | if (deviceChannelMapper.queryAllChannels(device.getDeviceId()).size() == 0) { |
| | | logger.info("[设备上线]: {},通道数为0,查询通道信息", device.getDeviceId()); |
| | | sync(device); |
| | | } |
| | | |
| | | deviceMapper.update(device); |
| | | redisCatchStorage.updateDevice(device); |
| | | } |
| | |
| | | return null; |
| | | } |
| | | // 使用行政区划展示树 |
| | | if (parentId.length() > 10) { |
| | | // TODO 可能是行政区划与业务分组混杂的情形 |
| | | return null; |
| | | } |
| | | // if (parentId.length() > 10) { |
| | | // // TODO 可能是行政区划与业务分组混杂的情形 |
| | | // return null; |
| | | // } |
| | | |
| | | if (parentId.length() == 10 ) { |
| | | if (onlyCatalog) { |
| | |
| | | List<DeviceChannel> channelsForCivilCode = deviceChannelMapper.getChannelsWithCivilCodeAndLength(deviceId, parentId, parentId.length() + 2); |
| | | if (!onlyCatalog) { |
| | | List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); |
| | | channelsForCivilCode.addAll(channels); |
| | | |
| | | for(DeviceChannel channel : channels) { |
| | | boolean flag = false; |
| | | for(DeviceChannel deviceChannel : channelsForCivilCode) { |
| | | if(channel.getChannelId().equals(deviceChannel.getChannelId())) { |
| | | flag = true; |
| | | } |
| | | } |
| | | if(!flag) { |
| | | channelsForCivilCode.add(channel); |
| | | } |
| | | } |
| | | } |
| | | List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(channelsForCivilCode, parentId); |
| | | return trees; |
| | |
| | | if (!ObjectUtils.isEmpty(device.getMediaServerId())) { |
| | | deviceInStore.setMediaServerId(device.getMediaServerId()); |
| | | } |
| | | deviceInStore.setSdpIp(device.getSdpIp()); |
| | | deviceInStore.setCharset(device.getCharset()); |
| | | deviceInStore.setTreeType(device.getTreeType()); |
| | | |
| | | // 目录订阅相关的信息 |
| | | if (device.getSubscribeCycleForCatalog() > 0) { |
| | |
| | | if (!deviceInStore.getGeoCoordSys().equals(device.getGeoCoordSys())) { |
| | | updateDeviceChannelGeoCoordSys(device); |
| | | } |
| | | // 更新redis |
| | | redisCatchStorage.updateDevice(device); |
| | | deviceMapper.updateCustom(device); |
| | | } |
| | | |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public ResourceBaceInfo getOverview() { |
| | | return deviceMapper.getOverview(); |
| | | } |
| | | } |