From 19c431878bc5d3b06fbda3f3fa8ae5023790c837 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期三, 15 十一月 2023 11:18:27 +0800 Subject: [PATCH] mqtt --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java | 11 +++++++---- ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java | 11 ++++++++--- ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java index 7f25a5c..7390c64 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.sy.service.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.AjaxResult; @@ -312,10 +313,10 @@ AjaxResult.error(0,"璇ラ攣澶勪簬瑙e皝鐘舵��,杩滅▼鏃犳硶鎿嶆帶,璇峰厛鎵ц鏂藉皝鎿嶄綔!"); } String key = ""; - Double currentInfo = ardSyCarLock.getCurrentInfo(); - if(currentInfo.equals("C01")){ + String currents = ardSyCarLock.getCurrents(); + if(currents.equals("C01")){ key = "D03"; - }else if(currentInfo.equals("C02")){ + }else if(currents.equals("C02")){ key = "D04"; } Number lockState = (Number) lockTypeParam.getNum(); @@ -329,9 +330,11 @@ Map<String,Object> map = new HashMap(); map.put(key, lockState);//鑼冨洿鏄�0.01鍒�99.99 map.put("res", String.valueOf(System.currentTimeMillis())); + String mapString = JSON.toJSONString(map); + System.out.println(mapString); MqttOnce mqttOnce = new MqttOnce(); try { - return AjaxResult.success(mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"寮�鍏抽攣鎸囦护"+lockState)); + return AjaxResult.success(mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(), mapString,"寮�鍏抽攣鎸囦护"+lockTypeParam.getNum())); } catch (MqttException e) { log.debug("寮�鍏抽攣鎸囦护鍙戦�佸け璐�"+e); } diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java index db5af35..9f1f0fd 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java @@ -64,7 +64,7 @@ ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class); //鑾峰彇鐢电閿佸湴鍧� String mqttUrl = carRtuService.url("ElectromagneticLockUrl"); - MqttClient client = new MqttClient(mqttUrl,carId); + MqttClient client = new MqttClient(mqttUrl,carId+"mqTest"); //log.debug("--鍒涘缓"+carId+"鍙疯溅杈嗙數瀛愰攣mqtt瀹㈡埛绔�"); return client; } @@ -90,9 +90,14 @@ client.connect(options); MqttMessage msg = new MqttMessage(message.getBytes()); msg.setQos(2); - client.publish(topic,msg); + try{ + client.publish(topic,msg); + }catch (Exception e){ + log.debug("鍙戝竷娑堟伅澶辫触"+topic+"娑堟伅:"+msg); + e.getMessage(); + } client.disconnect(); - return "鍙戝竷"+type+"鎸囦护鎴愬姛锛�"; + return topic+"鍙戝竷"+type+"鎸囦护鎴愬姛锛佹秷鎭�:"+msg; } } diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java index 98675bc..6465d86 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java @@ -76,7 +76,7 @@ @Override public void messageArrived(String topic, MqttMessage message) { try { -// System.out.println("銆愯溅杈嗛攣涓婚銆戯細"+topic+"銆愯溅杈嗛攣淇℃伅銆戯細"+new String(message.getPayload(), StandardCharsets.UTF_8)); + System.out.println("銆愯溅杈嗛攣涓婚銆戯細"+topic+"銆愯溅杈嗛攣淇℃伅銆戯細"+new String(message.getPayload(), StandardCharsets.UTF_8)); //鍑烘潵鍥炶皟鏁版嵁 List<ArdSyCarLock> ardSyCarLocks = carLockService.data(new String(message.getPayload(), StandardCharsets.UTF_8)); //鏍规嵁topic鏌ヨRTUID -- Gitblit v1.9.3