| | |
| | | package org.jeecg.modules.dry.mqtt; |
| | | |
| | | import cn.hutool.core.thread.ThreadUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import lombok.Data; |
| | | import org.eclipse.paho.client.mqttv3.MqttClient; |
| | | import org.eclipse.paho.client.mqttv3.MqttMessage; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | |
| | | public class MqttUtil { |
| | | public MqttClient mqttClient; |
| | | |
| | | /** |
| | | * 发送消息 |
| | | * |
| | | * @param topic 订阅 |
| | | * @param mqMessage 消息体 |
| | | * @param type 1-发送给租户 2-发送给固定id |
| | | */ |
| | | public void sendMqttMessage(String topic, MqMessage mqMessage, Integer type) { |
| | | ThreadUtil.execute(() -> { |
| | | try { |
| | | if (type == 1) { |
| | | MqttMessage sendMessage = new MqttMessage(JSONObject.toJSONString(mqMessage).getBytes()); |
| | | sendMessage.setQos(0); |
| | | mqttClient.publish(String.format(topic, mqMessage.getTentId()), sendMessage); |
| | | } else if (type == 2) { |
| | | MqttMessage sendMessage = new MqttMessage(JSONObject.toJSONString(mqMessage).getBytes()); |
| | | sendMessage.setQos(0); |
| | | mqttClient.publish(topic, sendMessage); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |