From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 01 八月 2025 13:27:59 +0800
Subject: [PATCH] yys 密码已重置

---
 cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java
new file mode 100644
index 0000000..78c26d7
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java
@@ -0,0 +1,69 @@
+package com.ruoyi.device.mqtt;
+
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.*;
+import org.springframework.stereotype.Component;
+
+@Component
+@Slf4j
+public class MQPublic {
+
+	/**
+	 * 閫氫俊璐ㄩ噺qos涓�0锛氳〃绀篧EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彧鍙戦�佷竴娆★紝涓嶇MQTT鏈嶅姟鍣ㄦ湁娌℃湁鏀跺埌
+	 * WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂甯冩暟鎹紝姝ゆ柟娉曞皝瑁呬簡publish鍑芥暟
+	 * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑
+	 * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁
+	 */
+	public void publish_0(int qos, String topic, byte[] pushMessage) {
+		publish(0, false, topic, pushMessage);
+	}
+
+	/**
+	 * 閫氫俊璐ㄩ噺qos涓�1锛氳〃绀篧EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佹暟鎹紝MQTT鏈嶅姟鍣ㄤ竴瀹氫細鏀跺埌涓�娆℃暟鎹紝濡傛灉MQTT鏈嶅姟鍣ㄦ病鏈夊搷搴斺�滄敹鍒版暟鎹�濓紝閭d箞WEB鏈嶅姟鍣ㄥ氨浼氫竴鐩村彂閫佹暟鎹�
+	 * WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂甯冩暟鎹紝璋冪敤姝ゅ嚱鏁帮紝姝ゆ柟娉曞皝瑁呬簡publish鍑芥暟锛岄�氫俊璐ㄩ噺qos涓�1
+	 * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑
+	 * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁
+	 */
+	public void publish_1(String topic, byte[] pushMessage) {
+		publish(1, false, topic, pushMessage);
+	}
+
+	/**
+	 *閫氫俊璐ㄩ噺qos涓�2锛氳〃绀篧EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佹暟鎹紝涓よ�呬細杩涜鑷冲皯涓ゆ璇锋眰/鍝嶅簲娴佺▼锛岄伩鍏嶆暟鎹湪浼犺緭涓殑涓㈠け锛屼絾鏄浉搴旂殑涔熶細娑堣�楄绠楁満涓殑璧勬簮
+	 * WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂甯冩暟鎹紝姝ゆ柟娉曞皝瑁呬簡publish鍑芥暟锛岄�氫俊璐ㄩ噺锛�2
+	 * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑
+	 * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁
+	 */
+	public void publish_2(String topic, byte[] pushMessage) {
+		publish(2,false, topic, pushMessage);
+	}
+
+	/**
+	 * 鍙戝竷鍑芥暟锛歐EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佹暟鎹�
+	 *
+	 * @param qos 閫氫俊璐ㄩ噺
+	 * @param retained 榛樿锛歠alse-闈炴寔涔呭寲锛堟槸鎸囦竴鏉℃秷鎭秷璐瑰畬锛屽氨浼氳鍒犻櫎锛涙寔涔呭寲锛屾秷璐瑰畬锛岃繕浼氫繚瀛樺湪鏈嶅姟鍣ㄤ腑锛屽綋鏂扮殑璁㈤槄鑰呭嚭鐜帮紝缁х画缁欐柊璁㈤槄鑰呮秷璐癸級
+	 * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑
+	 * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁
+	 */
+	public void publish(int qos, boolean retained, String topic, byte[] pushMessage) {
+		MqttMessage message = new MqttMessage();
+		message.setQos(qos);
+		message.setRetained(retained);
+		// 灏哠tring[]鏁扮粍杞崲涓篵yte鏁扮粍鍙戦��
+		message.setPayload(pushMessage);
+		MqttTopic mTopic = MQClient.getClient().getTopic(topic);
+		if (null == mTopic) {
+			log.error("===============>>>MQTT {} 涓嶅瓨鍦�<<=======================",topic);
+		}
+		MqttDeliveryToken token;
+		try {
+			token = mTopic.publish(message);
+			token.waitForCompletion();
+		} catch (MqttPersistenceException e) {
+			e.printStackTrace();
+		} catch (MqttException e) {
+			e.printStackTrace();
+		}
+	}
+}

--
Gitblit v1.9.3