From 9da2194aa665e4f960aa4171db617e0b17e52086 Mon Sep 17 00:00:00 2001
From: xiaohuang <1559741705@qq.com>
Date: Thu, 23 May 2024 19:37:03 +0800
Subject: [PATCH] lotdb
---
muyu-modules/muyu-data-iotdb/pom.xml | 66 +++++++
.../com/muyu/iotdb/MuyuIotdbApplication.java | 19 ++
.../muyu/iotdb/config/IotDBSessionConfig.java | 187 ++++++++++++++++++
.../iotdb/controller/IotDbController.java | 69 +++++++
.../com/muyu/iotdb/domain/IotDbParam.java | 43 ++++
.../com/muyu/iotdb/domain/IotDbResult.java | 36 ++++
.../com/muyu/iotdb/service/IotDbServer.java | 17 ++
.../iotdb/service/impl/IotDbServerImpl.java | 132 +++++++++++++
muyu-modules/muyu-system/pom.xml | 40 ++++
muyu-modules/pom.xml | 1 +
pom.xml | 1 +
11 files changed, 611 insertions(+)
create mode 100644 muyu-modules/muyu-data-iotdb/pom.xml
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/controller/IotDbController.java
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbParam.java
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/domain/IotDbResult.java
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/service/IotDbServer.java
create mode 100644 muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/service/impl/IotDbServerImpl.java
diff --git a/muyu-modules/muyu-data-iotdb/pom.xml b/muyu-modules/muyu-data-iotdb/pom.xml
new file mode 100644
index 0000000..2b36b69
--- /dev/null
+++ b/muyu-modules/muyu-data-iotdb/pom.xml
@@ -0,0 +1,66 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-modules
+ 3.6.3
+
+
+ muyu-data-iotdb
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ org.apache.iotdb
+ iotdb-session
+ 0.14.0-preview1
+
+
+
+ cn.hutool
+ hutool-all
+ 5.6.3
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.83
+
+
+ com.bwie
+ bwie-common
+ 1.0-SNAPSHOT
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+
+
diff --git a/muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java b/muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java
new file mode 100644
index 0000000..1107558
--- /dev/null
+++ b/muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/MuyuIotdbApplication.java
@@ -0,0 +1,19 @@
+package com.muyu.iotdb;
+
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * BingRui.Hou
+ *
+ * @Description 描述
+ * @ClassName MuyuIotdbApplication
+ * @Date 2024/05/21 17:01
+ */
+@SpringBootApplication
+public class MuyuIotdbApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(MuyuIotdbApplication.class);
+ }
+}
diff --git a/muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java b/muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java
new file mode 100644
index 0000000..7aabdaf
--- /dev/null
+++ b/muyu-modules/muyu-data-iotdb/src/main/java/com/muyu/iotdb/config/IotDBSessionConfig.java
@@ -0,0 +1,187 @@
+package com.muyu.iotdb.config;
+
+import lombok.extern.log4j.Log4j2;
+import org.apache.iotdb.rpc.IoTDBConnectionException;
+import org.apache.iotdb.rpc.StatementExecutionException;
+import org.apache.iotdb.session.Session;
+import org.apache.iotdb.session.SessionDataSet;
+import org.apache.iotdb.session.util.Version;
+import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
+import org.apache.iotdb.tsfile.write.record.Tablet;
+import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+
+import java.rmi.ServerException;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * description: iotdb 配置工具类(常用部分,如需要可以自行扩展)
+ * 注意:可以不需要创建分组,插入时默认前两个节点名称为分组名称 比如: root.a1eaKSRpRty.CA3013A303A25467 或者
+ * root.a1eaKSRpRty.CA3013A303A25467.heart 他们的分组都为 root.a1eaKSRpRty
+ * author: zhouhong
+ */
+@Log4j2
+@Component
+@Configuration
+public class IotDBSessionConfig {
+
+ private static Session session;
+ private static final String LOCAL_HOST = "175.24.138.82";
+ @Bean
+ public Session getSession() throws IoTDBConnectionException, StatementExecutionException {
+ if (session == null) {
+ log.info("正在连接iotdb.......");
+ session = new Session.Builder().host(LOCAL_HOST).port(6667).username("root").password("root").version(Version.V_0_13).build();
+ session.open(false);
+ session.setFetchSize(100);
+ log.info("iotdb连接成功~");
+ // 设置时区
+ session.setTimeZone("+08:00");
+ }
+ return session;
+ }
+
+ /**
+ * description: 带有数据类型的添加操作 - insertRecord没有指定类型
+ * author: zhouhong
+ * @param * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467
+ * time:时间戳
+ * measurementsList:物理量 即:属性
+ * type:数据类型: BOOLEAN((byte)0), INT32((byte)1),INT64((byte)2),FLOAT((byte)3),DOUBLE((byte)4),TEXT((byte)5),VECTOR((byte)6);
+ * valuesList:属性值 --- 属性必须与属性值一一对应
+ * @return
+ */
+ public void insertRecordType(String deviceId, Long time,List measurementsList, TSDataType type,List