| | |
| | | // 订阅租户实时数据 |
| | | mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA); |
| | | System.out.println("admin订阅" + MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA); |
| | | // 订阅租户报警数据 |
| | | mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_FAULT_DATA); |
| | | System.out.println("admin订阅" + MqttConstant.TENANT_UP_PREFIX_FAULT_DATA); |
| | | mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_EQU); |
| | | System.out.println("admin订阅" + MqttConstant.TENANT_UP_PREFIX_EQU); |
| | | initClients(); |
| | |
| | | * 服务端(admin角色)启动时查询所有设备并缓存到redis |
| | | */ |
| | | private void initClients() { |
| | | redisUtil.del(MqttConstant.MQTT_ONLINE_CLIENT); |
| | | redisUtil.removeAll(MqttConstant.MQTT_ONLINE_CLIENT); |
| | | |
| | | JSONObject clients = emqxApi.queryEmqx(EmqxApi.CMD_CLIENTS); |
| | | //TODO 根据emqx返回编写实体类 |
| | |
| | | //是否连接 |
| | | Boolean connected = obj.getBoolean("connected"); |
| | | item.put("connected", connected); |
| | | // |
| | | //根据clientid解析(注意配置文件中clientid格式 例:client-1000) |
| | | try { |
| | | String[] info = clientid.split("-"); |
| | | item.put("type", info[0]); |
| | | item.put("tenantId", info[1]); |
| | | item.put("code", info[2]); |
| | | //item.put("code", info[2]); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | if (connected) { |
| | | redisUtil.set(MqttConstant.MQTT_ONLINE_CLIENT + clientid, item); |