From 33cf36a06ccadf96fb2486ed8e5a1aa5dd6ed664 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 30 一月 2026 16:31:57 +0800
Subject: [PATCH] 1
---
zy-acs-hex/pom.xml | 20 ++++++
component/component-Influxdb/target/classes/com/zy/influxdb/base/BaseTemperature.class | 0
component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java | 5 -
component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java | 86 ++++++++++------------------
component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.class | 0
zy-acs-hex/src/main/java/com/zy/Main.java | 17 +++++
pom.xml | 1
component/component-Influxdb/pom.xml | 4
8 files changed, 72 insertions(+), 61 deletions(-)
diff --git a/component/component-Influxdb/pom.xml b/component/component-Influxdb/pom.xml
index ef92efe..c800944 100644
--- a/component/component-Influxdb/pom.xml
+++ b/component/component-Influxdb/pom.xml
@@ -17,14 +17,14 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Dependency Versions -->
- <influxdb-java.version>6.6.0</influxdb-java.version>
+ <influxdb-java.version>1.7.0</influxdb-java.version>
<lombok.version>1.18.20</lombok.version>
</properties>
<dependencies>
<dependency>
<groupId>com.influxdb</groupId>
- <artifactId>influxdb-client-java</artifactId>
+ <artifactId>influxdb3-java</artifactId>
<version>${influxdb-java.version}</version>
</dependency>
<dependency>
diff --git a/component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java b/component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java
index 693c1ea..0daa6fc 100644
--- a/component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java
+++ b/component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java
@@ -1,7 +1,6 @@
package com.zy.influxdb.config;
-import com.influxdb.client.InfluxDBClient;
-import com.influxdb.client.InfluxDBClientFactory;
+import com.influxdb.v3.client.InfluxDBClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -19,6 +18,6 @@
@Bean(destroyMethod = "close")
public InfluxDBClient influxDBClient(InfluxDBProperties influxDBProperties) throws Exception{
- return InfluxDBClientFactory.create(influxDBProperties.getUrl(), influxDBProperties.getToken().toCharArray(), influxDBProperties.getDatabase());
+ return InfluxDBClient.getInstance(influxDBProperties.getUrl(), influxDBProperties.getToken().toCharArray(), influxDBProperties.getDatabase());
}
}
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;
-
- }
}
diff --git a/component/component-Influxdb/target/classes/com/zy/influxdb/base/BaseTemperature.class b/component/component-Influxdb/target/classes/com/zy/influxdb/base/BaseTemperature.class
new file mode 100644
index 0000000..ecb6d81
--- /dev/null
+++ b/component/component-Influxdb/target/classes/com/zy/influxdb/base/BaseTemperature.class
Binary files differ
diff --git a/component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.class b/component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.class
index cc62930..c535a91 100644
--- a/component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.class
+++ b/component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.class
Binary files differ
diff --git a/pom.xml b/pom.xml
index 0219899..16e1a1e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,7 @@
<module>zy-acs-fake</module>
<module>zy-acs-cv</module>
<module>component</module>
+ <module>zy-acs-hex</module>
</modules>
<properties>
diff --git a/zy-acs-hex/pom.xml b/zy-acs-hex/pom.xml
new file mode 100644
index 0000000..01cd777
--- /dev/null
+++ b/zy-acs-hex/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.zy</groupId>
+ <artifactId>acs</artifactId>
+ <version>1.0.0</version>
+ </parent>
+
+ <artifactId>zy-acs-hex</artifactId>
+
+ <properties>
+ <maven.compiler.source>17</maven.compiler.source>
+ <maven.compiler.target>17</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/zy-acs-hex/src/main/java/com/zy/Main.java b/zy-acs-hex/src/main/java/com/zy/Main.java
new file mode 100644
index 0000000..7fe4b6a
--- /dev/null
+++ b/zy-acs-hex/src/main/java/com/zy/Main.java
@@ -0,0 +1,17 @@
+package com.zy;
+
+//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
+// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
+public class Main {
+ public static void main(String[] args) {
+ //TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
+ // to see how IntelliJ IDEA suggests fixing it.
+ System.out.printf("Hello and welcome!");
+
+ for (int i = 1; i <= 5; i++) {
+ //TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
+ // for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
+ System.out.println("i = " + i);
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1