|
|
@@ -1,6 +1,7 @@
|
|
|
package com.yunfeiyun.agmp.iots.core.mqtt.network;
|
|
|
|
|
|
import com.yunfeiyun.agmp.common.utils.ip.IpUtils;
|
|
|
+import com.yunfeiyun.agmp.common.utils.spring.SpringUtils;
|
|
|
import com.yunfeiyun.agmp.iots.core.mqtt.modal.MqttTopicValue;
|
|
|
import com.yunfeiyun.agmp.iots.device.common.Device;
|
|
|
import lombok.Getter;
|
|
|
@@ -48,6 +49,7 @@ public class MqttCore {
|
|
|
* topic -> device
|
|
|
*/
|
|
|
Map<String,String> topicToDevId=new HashMap<>();
|
|
|
+ Map<String,MqttTopicValue> topicValueMap = new HashMap<>();
|
|
|
|
|
|
public String getConnectionId() {
|
|
|
return connectionId;
|
|
|
@@ -71,8 +73,8 @@ public class MqttCore {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public Device getDevice() {
|
|
|
- return mqttConfig.getDevice();
|
|
|
+ public Device getDevice(String topic) {
|
|
|
+ return SpringUtils.getBean(topicValueMap.get(topic).getServiceName());
|
|
|
}
|
|
|
|
|
|
public String getServiceType() {
|
|
|
@@ -253,7 +255,9 @@ public class MqttCore {
|
|
|
public void bindTopicToDeviceId(List<MqttTopicValue> mqttTopicValues){
|
|
|
for(MqttTopicValue mqttTopicValue:mqttTopicValues){
|
|
|
topicToDevId.put(mqttTopicValue.getTopic(),mqttTopicValue.getDevId());
|
|
|
+ topicValueMap.put(mqttTopicValue.getTopic(),mqttTopicValue);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
// public void unBindTopicToDeviceId(List<MqttTopicValue> mqttTopicValues){
|
|
|
// for(MqttTopicValue mqttTopicValue:mqttTopicValues){
|