From 6a94451b8c17ee4fd19c44bb3d7d2011f83e806b Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期二, 14 十一月 2023 16:45:53 +0800
Subject: [PATCH] 锁数值类型更改
---
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnceCallback.java | 73 ++++++++++++++++++++++++++++++++++--
1 files changed, 68 insertions(+), 5 deletions(-)
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 5010300..98675bc 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
@@ -1,15 +1,19 @@
package com.ruoyi.utils.mqtt;
-import com.ruoyi.alarm.global.service.impl.GlobalAlarmServiceImpl;
-import com.ruoyi.alarm.radar.service.ArdRadarService;
+import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.statistical.service.StatisticalService;
-import com.ruoyi.storage.minio.service.IStorageMinioEventService;
+import com.ruoyi.sy.domain.ArdSyCarLock;
+import com.ruoyi.sy.domain.ArdSyCarRtu;
+import com.ruoyi.sy.gps31.PositionContainer;
+import com.ruoyi.sy.service.ArdSyCarLockService;
+import com.ruoyi.sy.service.ArdSyCarRtuService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.*;
import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @Description: mqtt鍥炶皟澶勭悊绫�
@@ -25,6 +29,9 @@
private MqttConnectOptions options;
private String topic;
private int qos;
+ //娉ㄥ叆鐢靛瓙閿丅ean
+ ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class);
+ ArdSyCarLockService carLockService = SpringUtils.getBean(ArdSyCarLockService.class);
public MqttOnceCallback(MqttClient client, MqttConnectOptions options, String topic, int qos) {
this.client = client;
@@ -70,6 +77,62 @@
public void messageArrived(String topic, MqttMessage message) {
try {
// 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
+ ArdSyCarRtu ardSyCarRtu = carRtuService.subscribeByCarId(topic);
+ String RTU = ardSyCarRtu.getId();
+ //鏍规嵁RTUID鏌ヨ閿�
+ List<ArdSyCarLock> ardSyCarLockList = carLockService.carLock(RTU);
+ for (int i = 0; i < ardSyCarLocks.size(); i++) {
+ ArdSyCarLock ardSyCarLockData = ardSyCarLocks.get(i);
+ String relay = ardSyCarLockData.getRelay();
+ Integer relayInfo = ardSyCarLockData.getRelayInfo();
+ String current = ardSyCarLockData.getCurrents();
+ Double currentInfo = ardSyCarLockData.getCurrentInfo();
+ for (int j = 0; j < ardSyCarLockList.size(); j++) {
+ ArdSyCarLock lock = ardSyCarLockList.get(j);
+ String relay1 = lock.getRelay();
+ String current1 = lock.getCurrents();
+ Integer relayInfo1 = lock.getRelayInfo();
+ Double currentInfo1 = lock.getCurrentInfo();
+ Boolean upd = false;
+ if(relay.equals(relay1)){
+ if(!relayInfo.equals(relayInfo1)){
+ lock.setRelayInfo(relayInfo);
+ upd = true;
+ }
+ }
+ if(current.equals(current1)){
+ if(!currentInfo.equals(currentInfo1)){
+ lock.setCurrentInfo(currentInfo);
+ upd = true;
+ }
+ }
+ if(upd){
+ int num = carLockService.updLock(lock);
+// log.debug("淇敼"+num+"鏁版嵁");
+ }
+ }
+ }
+// //瀛樺叆闆嗗悎
+// Map<String,List<ArdSyCarLock>> map = PositionContainer.getTopicSubscribe();
+// if(map==null){
+// Map<String,List<ArdSyCarLock>> newMap = new HashMap<>();
+// newMap.put("topic",ardSyCarLocks);
+// PositionContainer.setTopicSubscribe(newMap);
+// }else {
+// for(Map.Entry entry : map.entrySet()){
+// String mapTopic = (String) entry.getKey();
+// if(topic.equals(mapTopic)){
+// map.remove(entry.getKey());
+// }
+// Map<String,List<ArdSyCarLock>> newMap = new HashMap<>();
+// newMap.put("topic",ardSyCarLocks);
+// PositionContainer.setTopicSubscribe(newMap);
+// }
+// }
+// log.debug(String.valueOf(map));
} catch (Exception e) {
log.debug("杞﹁締鐢电閿佸鐞唌qtt娑堟伅寮傚父:" + e);
}
--
Gitblit v1.9.3