|
@@ -45,7 +45,9 @@ public class DeviceconnCacheService {
|
|
|
private String getKey(RedisCacheKey redisCacheKey){
|
|
private String getKey(RedisCacheKey redisCacheKey){
|
|
|
return redisCacheKey.getPrefix() + ":" + redisCacheKey.getModuleType() + ":" + redisCacheKey.getName()+":";
|
|
return redisCacheKey.getPrefix() + ":" + redisCacheKey.getModuleType() + ":" + redisCacheKey.getName()+":";
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【mqtt】 通过设备连接标识获取mqtt链接标识
|
|
|
|
|
+ * */
|
|
|
public String getMqttConnectIdByDeviceConnBid(String devconnBid){
|
|
public String getMqttConnectIdByDeviceConnBid(String devconnBid){
|
|
|
log.error("【设备连接缓存】查询mqtt链接标识,设备连接标识为:{}",devconnBid);
|
|
log.error("【设备连接缓存】查询mqtt链接标识,设备连接标识为:{}",devconnBid);
|
|
|
String connectId = (String) redisTemplate.opsForValue().get(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid);
|
|
String connectId = (String) redisTemplate.opsForValue().get(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid);
|
|
@@ -55,20 +57,52 @@ public class DeviceconnCacheService {
|
|
|
}
|
|
}
|
|
|
return connectId;
|
|
return connectId;
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【mqtt】 关联设备连接标识和mqtt链接标识
|
|
|
|
|
+ * */
|
|
|
public void setMqttConnectionIdByConnBid(String devconnBid,String connectionId){
|
|
public void setMqttConnectionIdByConnBid(String devconnBid,String connectionId){
|
|
|
redisTemplate.opsForList().leftPush(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+connectionId,devconnBid);
|
|
redisTemplate.opsForList().leftPush(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+connectionId,devconnBid);
|
|
|
redisTemplate.opsForValue().set(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid,connectionId);
|
|
redisTemplate.opsForValue().set(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid,connectionId);
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【mqtt】删除mqtt链接标识
|
|
|
|
|
+ * */
|
|
|
public void deleteMqttConnectionId(String devconnBid){
|
|
public void deleteMqttConnectionId(String devconnBid){
|
|
|
redisTemplate.opsForList().remove(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+getMqttConnectIdByDeviceConnBid(devconnBid),1,devconnBid);
|
|
redisTemplate.opsForList().remove(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+getMqttConnectIdByDeviceConnBid(devconnBid),1,devconnBid);
|
|
|
redisTemplate.delete(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid);
|
|
redisTemplate.delete(getKey(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID)+devconnBid);
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【mqtt】判定mqtt链接标识是否还有绑定的设备连接标识
|
|
|
|
|
+ * */
|
|
|
public boolean mqttConnectionIdHasLink(String connectionId){
|
|
public boolean mqttConnectionIdHasLink(String connectionId){
|
|
|
return redisTemplate.hasKey(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+connectionId);
|
|
return redisTemplate.hasKey(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+connectionId);
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【http】保存租户的http通用连接信息
|
|
|
|
|
+ * */
|
|
|
|
|
+ public void setHttpCommonConnectionByDevtypeCode(String devconnBid,String devtypeCode){
|
|
|
|
|
+ redisTemplate.opsForList().leftPush(getKey(RedisCacheKey.IOT_HTTP_DEVICE_CONN_BID_LIST)+devtypeCode,devconnBid);
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【http】删除租户的http通用连接信息
|
|
|
|
|
+ * */
|
|
|
|
|
+ public void deleteMqttConnectionId(String devconnBid,String devtypeCode){
|
|
|
|
|
+ redisTemplate.opsForList().remove(getKey(RedisCacheKey.IOT_HTTP_DEVICE_CONN_BID_LIST)+devtypeCode,1,devconnBid);
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 【http】判定http通用连接是否还有绑定的设备连接
|
|
|
|
|
+ * */
|
|
|
|
|
+ public boolean httpConnectionBidHasLink(String devtypeCode){
|
|
|
|
|
+ return redisTemplate.hasKey(getKey(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST)+devtypeCode);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
public void cleanCache(){
|
|
public void cleanCache(){
|
|
|
|
|
+ // Mqtt设备连接数据标识列表
|
|
|
cleanCache(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST);
|
|
cleanCache(RedisCacheKey.IOT_MQTT_DEVICE_CONN_BID_LIST);
|
|
|
|
|
+ // Mqtt设备链接标识
|
|
|
cleanCache(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID);
|
|
cleanCache(RedisCacheKey.IOT_DEVICE_CONN_MQTT_ID);
|
|
|
|
|
+ // Mqtt设备连接信息标识
|
|
|
cleanCache(RedisCacheKey.IOT_DEVICE_CONN);
|
|
cleanCache(RedisCacheKey.IOT_DEVICE_CONN);
|
|
|
}
|
|
}
|
|
|
public void cleanCache(RedisCacheKey redisCacheKey){
|
|
public void cleanCache(RedisCacheKey redisCacheKey){
|