From 33cf36a06ccadf96fb2486ed8e5a1aa5dd6ed664 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 30 一月 2026 16:31:57 +0800
Subject: [PATCH] 1
---
component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java | 86 +++++++++++++++----------------------------
1 files changed, 30 insertions(+), 56 deletions(-)
diff --git a/component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java b/component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java
index b9ee4ca..df7edff 100644
--- a/component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java
+++ b/component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java
@@ -1,12 +1,9 @@
package com.zy.influxdb.service;
-import com.influxdb.annotations.Column;
-import com.influxdb.annotations.Measurement;
-import com.influxdb.client.InfluxDBClient;
-import com.influxdb.client.WriteApiBlocking;
-import com.influxdb.client.domain.WritePrecision;
-import com.influxdb.client.write.Point;
-import com.influxdb.query.FluxTable;
+import com.influxdb.v3.client.InfluxDBClient;
+import com.influxdb.v3.client.Point;
+import com.influxdb.v3.client.write.WritePrecision;
+import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,85 +18,62 @@
@Service
-public class InfluxDBService {
+public class InfluxDBService {
private static final Logger logger = LoggerFactory.getLogger(InfluxDBService.class);
@Autowired
private InfluxDBClient influxDBClient;
- // 鏋勯�犲嚱鏁版敞鍏ュ鎴风
-
/**
* 鍐欏叆鏁版嵁
+ *
* @param measurement 琛ㄥ悕
- * @param tags 鏍囩
- * @param fields 瀛楁
+ * @param tags 鏍囩
+ * @param fields 瀛楁
*/
- public void writeData(String measurement, Map<String,String> tags,Map<String,Object> fields) {
- WriteApiBlocking writeApiBlocking = influxDBClient.getWriteApiBlocking();
+ public void writeData(String measurement, Map<String, String> tags, Map<String, Object> fields) {
Point point = Point.measurement(measurement)
- .addTags(tags)
- .addFields(fields)
- .time(Instant.now().toEpochMilli(), WritePrecision.MS);
+ .setTags(tags)
+ .setFields(fields)
+ .setTimestamp(Instant.now().toEpochMilli(), WritePrecision.MS);
try {
- writeApiBlocking.writePoint(point);
+ influxDBClient.writePoint(point);
System.out.println("Data written to the database.");
- }
- catch (Exception e) {
- System.err.println("Failed to write data to the database.");
+ } catch (Exception e) {
+ logger.error("Failed to write data to the database.");
e.printStackTrace();
}
}
+
/**
* 鏌ヨ鏁版嵁
+ *
* @param sql sql璇彞
* @return 鏌ヨ缁撴灉鍒楄〃
*/
- public List<FluxTable> queryData(String sql) {
+ public List<Map<String, Object>> queryData(String sql) {
try {
// 鎵ц鏌ヨ
- return influxDBClient.getQueryApi().query(sql);
+ Stream<Object[]> query = influxDBClient.query(sql);
+ // 杞崲涓� Map 鍒楄〃锛堜究浜庡悗缁鐞嗭級
+ List<Map<String, Object>> collect = query.map(record -> {
+ Map<String, Object> map = new LinkedHashMap<>();
+ for (int i = 0; i < record.length; i += 2) {
+ map.put((String) record[i], record[i + 1]);
+ }
+ return map;
+ })
+ .collect(Collectors.toList());
+ return collect;
} catch (Exception e) {
- System.err.println("Failed to query data from the database.");
+ logger.error("Failed to query data from the database.");
e.printStackTrace();
}
return null;
}
- /**
- * 鏌ヨ鏁版嵁
- * @param sql sql璇彞
- * @return 鏌ヨ缁撴灉鍒楄〃
- */
- public <T> List<T> queryData(String sql,T t) {
- try {
- // 鎵ц鏌ヨ
- List<T> temperatures = influxDBClient.getQueryApi().q(sql, t.getClass());
-
-
- } catch (Exception e) {
- System.err.println("Failed to query data from the database.");
- e.printStackTrace();
- }
- return null;
- }
-
- //POJO绫诲畾涔夊涓嬶細
- @Measurement(name = "temperature")//琛ㄥ悕
- public static class Temperature {
-
- @Column(tag = true)//tag
- String location;
-
- @Column//field
- Double value;
-
- @Column(timestamp = true)//timestamp
- Instant time;
-
- }
}
--
Gitblit v1.9.1