|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
+import com.hfln.portal.common.constant.mqtt.topic.TopicConstants;
|
|
import com.hfln.portal.domain.customer.util.DevPosFixUtil;
|
|
import com.hfln.portal.domain.customer.util.DevPosFixUtil;
|
|
import com.hfln.portal.domain.customer.util.MsgClient;
|
|
import com.hfln.portal.domain.customer.util.MsgClient;
|
|
import com.hfln.portal.domain.customer.util.WxOfficeAccountClient;
|
|
import com.hfln.portal.domain.customer.util.WxOfficeAccountClient;
|
|
@@ -79,7 +80,7 @@ public class MqttSubHandle {
|
|
|
|
|
|
// 根据主题路由到不同的处理方法
|
|
// 根据主题路由到不同的处理方法
|
|
// 提取主题的操作部分(最后一段)
|
|
// 提取主题的操作部分(最后一段)
|
|
- String action = extractActionFromTopic(topic);
|
|
|
|
|
|
+ String action = extractActionFromTopic02(topic);
|
|
if (action != null) {
|
|
if (action != null) {
|
|
switch (action) {
|
|
switch (action) {
|
|
case "event":
|
|
case "event":
|
|
@@ -91,7 +92,7 @@ public class MqttSubHandle {
|
|
case "realtime_pos":
|
|
case "realtime_pos":
|
|
subDasRealtimePos(topic, payload);
|
|
subDasRealtimePos(topic, payload);
|
|
break;
|
|
break;
|
|
- case "dev_status":
|
|
|
|
|
|
+ case "dev_status":
|
|
subDasDevStatus(topic, payload);
|
|
subDasDevStatus(topic, payload);
|
|
break;
|
|
break;
|
|
case "exist":
|
|
case "exist":
|
|
@@ -388,6 +389,7 @@ public class MqttSubHandle {
|
|
|
|
|
|
// todo websocket 发送msg
|
|
// todo websocket 发送msg
|
|
// PushMsgWebSocket.sendMessageTo(msg.toString(), dev_id);
|
|
// PushMsgWebSocket.sendMessageTo(msg.toString(), dev_id);
|
|
|
|
+ mqttClient.sendMessage(String.format(TopicConstants.TOPIC_MPS_REALTIME_POS, clientId), msg.toString());
|
|
}
|
|
}
|
|
|
|
|
|
public void subDasDevStatus(String topic, String payload) {
|
|
public void subDasDevStatus(String topic, String payload) {
|
|
@@ -502,4 +504,13 @@ public class MqttSubHandle {
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private String extractActionFromTopic02(String topic) {
|
|
|
|
+ if (StringUtils.isNotBlank(topic)) {
|
|
|
|
+ String[] parts = topic.split("/");
|
|
|
|
+
|
|
|
|
+ return parts[parts.length - 1]; // 返回最后一段
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
}
|
|
}
|