diff --git a/cloud-common/cloud-common-iotdb/pom.xml b/cloud-common/cloud-common-iotdb/pom.xml new file mode 100644 index 0000000..bf36378 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + + com.muyu + cloud-common + 3.6.3 + + + cloud-common-iotdb + + + 17 + 17 + UTF-8 + + + + + com.muyu + cloud-common-core + + + + org.apache.iotdb + iotdb-session + 1.3.2 + + + + diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/CloudIotDBApplication.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/CloudIotDBApplication.java new file mode 100644 index 0000000..35a0533 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/CloudIotDBApplication.java @@ -0,0 +1,18 @@ +//package com.muyu.common.iotdb; +// +//import org.springframework.boot.SpringApplication; +//import org.springframework.boot.autoconfigure.SpringBootApplication; +// +///** +// * @Author: 胡杨 +// * @Name: CloudSystemSaas +// * @Description: SaaS系统驱动器 +// * @CreatedDate: 2024/9/22 上午10:05 +// * @FilePath: com.muyu.system.saas +// */ +//@SpringBootApplication +//public class CloudIotDBApplication { +// public static void main(String[] args) { +// SpringApplication.run(CloudIotDBApplication.class, args); +// } +//} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/TestController.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/TestController.java new file mode 100644 index 0000000..a158f93 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/TestController.java @@ -0,0 +1,32 @@ +//package com.muyu.common.iotdb; +// +// +//import com.muyu.common.iotdb.config.IotDBConfig; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.web.bind.annotation.GetMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +// +///** +// * 测试控制层 +// * @Author: 胡杨 +// * @Name: Test +// * @Description: +// * @CreatedDate: 2024/9/27 上午10:54 +// * @FilePath: com.muyu.data.processing.controller +// */ +//@Slf4j +//@RestController +//@RequestMapping("/Test") +//public class TestController { +// @Resource +// private IotDBConfig iotDBConfig; +// +// @GetMapping("/insertData") +// public void insertData(String deviceId, long time, double value) throws Exception { +// String sql = String.format("insert into root.one.%s(timestamp, temperature) values (%d, %f)", deviceId, time, value); +// iotDBConfig.iotSession().executeNonQueryStatement(sql); +// } +//} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBConfig.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBConfig.java new file mode 100644 index 0000000..76bfa49 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBConfig.java @@ -0,0 +1,48 @@ +package com.muyu.common.iotdb.config; + +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.session.Session; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 时序数据库配置 + * + * @Author: 胡杨 + * @Name: IotDBConfig + * @Description: 时序数据库配置 + * @CreatedDate: 2024/9/29 下午9:30 + * @FilePath: com.muyu.data.processing.config + */ + +@Configuration +public class IotDBConfig { + + @Value("${spring.iotdb.ip}") + private String ip; + + @Value("${spring.iotdb.port}") + private int port; + + @Value("${spring.iotdb.user}") + private String user; + + @Value("${spring.iotdb.password}") + private String password; + + @Value("${spring.iotdb.fetchSize}") + private int fetchSize; + + @Bean + public Session iotSession(){ + Session session = new Session(ip, port, user, password, fetchSize); + try { + session.open(); + } catch (IoTDBConnectionException e) { + throw new RuntimeException(e); + } + return session; + } + +} diff --git a/cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..2cabfb0 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.common.iotdb.config.IotDBConfig diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index 4ff226d..c9cee66 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -23,6 +23,7 @@ cloud-common-saas cloud-common-caffeine cloud-common-kafka + cloud-common-iotdb cloud-common diff --git a/cloud-data-processing/pom.xml b/cloud-data-processing/pom.xml index af13f3f..84658a6 100644 --- a/cloud-data-processing/pom.xml +++ b/cloud-data-processing/pom.xml @@ -37,6 +37,12 @@ cloud-common-rabbit + + com.muyu + cloud-common-iotdb + 3.6.3 + + com.alibaba.cloud @@ -61,6 +67,11 @@ spring-boot-starter-actuator + + org.springframework.boot + spring-boot-starter-tomcat + + com.mysql @@ -74,47 +85,52 @@ - org.apache.iotdb - iotdb-jdbc - 0.12.1 - - - com.alibaba - druid-spring-boot-starter - 1.2.20 - - - - - org.mybatis - mybatis-spring - 3.0.3 - - - com.baomidou - mybatis-plus-boot-starter - 3.5.5 + com.muyu + cloud-common-datasource - - + + + + + + + - - - com.alibaba - druid-spring-boot-3-starter - ${druid.version} - - - - com.baomidou - dynamic-datasource-spring-boot3-starter - ${dynamic-ds.version} - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/config/IotDBConfig.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/config/IotDBConfig.java deleted file mode 100644 index ea8719b..0000000 --- a/cloud-data-processing/src/main/java/com/muyu/data/processing/config/IotDBConfig.java +++ /dev/null @@ -1,48 +0,0 @@ -//package com.muyu.data.processing.config; -// -//import org.apache.iotdb.rpc.IoTDBConnectionException; -//import org.apache.iotdb.session.Session; -//import org.springframework.beans.factory.annotation.Value; -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Configuration; -// -///** -// * 时序数据库配置 -// * -// * @Author: 胡杨 -// * @Name: IotDBConfig -// * @Description: 时序数据库配置 -// * @CreatedDate: 2024/9/29 下午9:30 -// * @FilePath: com.muyu.data.processing.config -// */ -// -//@Configuration -//public class IotDBConfig { -// -// @Value("${spring.iotdb.ip}") -// private String ip; -// -// @Value("${spring.iotdb.port}") -// private int port; -// -// @Value("${spring.iotdb.user}") -// private String user; -// -// @Value("${spring.iotdb.password}") -// private String password; -// -// @Value("${spring.iotdb.fetchSize}") -// private int fetchSize; -// -// @Bean -// public Session iotSession(){ -// Session session = new Session(ip, port, user, password, fetchSize); -// try { -// session.open(); -// } catch (IoTDBConnectionException e) { -// throw new RuntimeException(e); -// } -// return session; -// } -// -//} diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java index 5a7a03c..4adee97 100644 --- a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java @@ -2,6 +2,7 @@ package com.muyu.data.processing.controller; import com.muyu.common.core.utils.uuid.UUID; +import com.muyu.common.iotdb.config.IotDBConfig; import com.muyu.common.kafka.constants.KafkaConstants; import com.muyu.common.rabbit.constants.RabbitConstants; import jakarta.annotation.Resource; @@ -27,8 +28,8 @@ public class TestController { private KafkaProducer kafkaProducer; @Resource private RabbitTemplate rabbitTemplate; -// @Resource -// private IotDBConfig iotDBConfig; + @Resource + private IotDBConfig iotDBConfig; @GetMapping("/testKafka") public void sendMsg(@RequestParam("msg") String msg) { @@ -81,9 +82,9 @@ public class TestController { }); } -// @GetMapping("/insertData") -// public void insertData(String deviceId, long time, double value) throws Exception { -// String sql = String.format("insert into root.one.%s(timestamp, temperature) values (%d, %f)", deviceId, time, value); -// iotDBConfig.iotSession().executeNonQueryStatement(sql); -// } + @GetMapping("/insertData") + public void insertData(@RequestParam("deviceId") String deviceId, @RequestParam("time") long time, @RequestParam("value") double value) throws Exception { + String sql = String.format("insert into root.one.%s(timestamp, temperature) values (%d, %f)", deviceId, time, value); + iotDBConfig.iotSession().executeNonQueryStatement(sql); + } } diff --git a/cloud-data-processing/src/main/resources/bootstrap.yml b/cloud-data-processing/src/main/resources/bootstrap.yml index 337453e..4bbeb8f 100644 --- a/cloud-data-processing/src/main/resources/bootstrap.yml +++ b/cloud-data-processing/src/main/resources/bootstrap.yml @@ -11,13 +11,13 @@ nacos: # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: -# iotdb: -# ip: 47.116.173.119 -# port: 6667 -# user: root -# password: root -# fetchSize: 10000 -# maxActive: 10 + iotdb: + ip: 47.116.173.119 + port: 6667 + user: root + password: root + fetchSize: 10000 + maxActive: 10 amqp: deserialization: trust: