diff --git a/cloud-data-processing/pom.xml b/cloud-data-processing/pom.xml
index b0649cc..0f006a2 100644
--- a/cloud-data-processing/pom.xml
+++ b/cloud-data-processing/pom.xml
@@ -67,35 +67,49 @@
mysql-connector-j
-
-
- com.muyu
- cloud-common-datasource
-
-
com.muyu
cloud-common-datascope
-
- com.muyu
- cloud-common-log
+ org.apache.iotdb
+ iotdb-jdbc
+ 0.12.1
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ 1.1.9
-
+
- com.muyu
- cloud-common-api-doc
+ org.mybatis
+ mybatis-spring
+ 3.0.3
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.5
-
-
- com.muyu
- cloud-common-xxl
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java
index f8e5fb5..ff2394f 100644
--- a/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java
@@ -16,10 +16,8 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
* @FilePath: com.muyu.data.processing
*/
-@EnableCustomConfig
-//@EnableCustomSwagger2
-@EnableMyFeignClients
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+
+@SpringBootApplication
public class MyDataApplication {
public static void main(String[] args) {
SpringApplication.run(MyDataApplication.class, args);
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java
new file mode 100644
index 0000000..7909d7c
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java
@@ -0,0 +1,160 @@
+package com.muyu.data.processing.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.data.processing.domain.IotDbData;
+import com.muyu.data.processing.service.DataProcessingService;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.*;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 数据处理控制层
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 数据处理控制层
+ * @CreatedDate: 2024/9/28 下午3:53
+ * @FilePath: com.muyu.data.processing.controller
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/DataProcessing")
+public class DataProcessingController {
+ @Resource
+ private DataProcessingService service;
+
+
+
+ @RequestMapping(value = "/createCarData", method = RequestMethod.POST)
+// @Transactional(rollbackFor = Exception.class)
+ public Result createCarData(@RequestBody IotDbData data) {
+ try {
+ data.setTimestamp(System.currentTimeMillis());
+ data.setCreateTime(new Date());
+ Integer v = service.createCarData(data);
+ if (v == -1) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("创建车辆报文记录失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+
+ /**
+ * 更新操作 其实也是插入操作 时间戳相同 只和时间戳相关
+ * @param data
+ * @return
+ */
+ @RequestMapping(value = "/updateCarData", method = RequestMethod.POST)
+ public Result updateCarData(@RequestBody IotDbData data) {
+ try {
+ data.setTimestamp(System.currentTimeMillis());
+ data.setCreateTime(new Date());
+ Integer v = service.updateCarData(data);
+ if (v == -1) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("更新车辆报文记录失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+
+ /**
+ * 删除操作 要将时间戳的加号变成%2B
+ * @param timestamp
+ * @return
+ */
+ @RequestMapping(value = "/deleteCarData", method = RequestMethod.GET)
+ public Result deleteCarData(String timestamp) {
+ try {
+ Integer v = service.deleteCarData(timestamp);
+ if (v == -1) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("删除车辆报文记录失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+
+ /**
+ * 创建组 也就是相当于数据库
+ * @return
+ */
+ @RequestMapping(value = "/createCarDataGroup", method = RequestMethod.POST)
+ public Result createCarDataGroup() {
+ try {
+ Integer v = service.createCarDataGroup();
+ if (v > 0) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("创建车辆报文记录组失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+ /**
+ * 查询所有车辆报文记录数据
+ * @return
+ */
+ @RequestMapping(value = "/queryCarData", method = RequestMethod.GET)
+ public Result queryCarData() {
+ try {
+ List v = service.queryCarData();
+ if (v.size() > 0) {
+ v.forEach(x -> {
+ System.out.println(x.toString());
+ });
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("查询车辆报文记录组失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+ /**
+ * 查看数据库有多少组
+ *
+ * @return
+ */
+ @RequestMapping(value = "/selectStorageGroup", method = RequestMethod.GET)
+ public Result selectStorageGroup() {
+ try {
+ List v = service.selectStorageGroup();
+ if (v.size() > 0) {
+ v.forEach(x -> {
+ System.out.println("group------------------" + x.toString());
+ });
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("查询组失败!" + e);
+ return Result.error(false);
+ }
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java
new file mode 100644
index 0000000..249e952
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java
@@ -0,0 +1,37 @@
+package com.muyu.data.processing.domain;
+
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * 报文信息 时序实体类
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 报文信息 时序实体类
+ * @CreatedDate: 2024/9/28 下午3:48
+ * @FilePath: com.muyu.data.processing.domain
+ */
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ToString
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class IotDbData extends BaseEntity {
+ private long timestamp;
+
+ private String vin;
+
+ private String key;
+ private String label;
+ private String value;
+ private String type;
+
+
+}
+
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java
index 6de9775..5648325 100644
--- a/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java
@@ -2,7 +2,6 @@ package com.muyu.data.processing.kafka;
import com.muyu.common.kafka.constants.KafkaConstants;
-import io.swagger.v3.oas.annotations.servers.Server;
import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java
new file mode 100644
index 0000000..4482b98
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java
@@ -0,0 +1,37 @@
+package com.muyu.data.processing.mapper;
+
+import com.muyu.data.processing.domain.IotDbData;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 数据处理持久层
+ *
+ * @Author: 胡杨
+ * @Name: DataPeocessingMapper
+ * @Description: 数据处理持久层
+ * @CreatedDate: 2024/9/28 下午3:47
+ * @FilePath: com.muyu.data.processing.mapper
+ */
+
+@Repository
+@Mapper
+public interface DataProcessingMapper{
+
+ Integer createCarData(IotDbData data);
+
+ Integer updateCarData(IotDbData data);
+
+ Integer deleteCarData(String timestamp);
+
+ Integer createCarDataGroup();
+
+ Integer createCarDataGroupElement();
+
+// List queryCarData();
+
+ List selectStorageGroup();
+
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java
new file mode 100644
index 0000000..937bb17
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java
@@ -0,0 +1,63 @@
+package com.muyu.data.processing.service;
+
+
+import com.muyu.data.processing.domain.IotDbData;
+
+import java.util.List;
+
+/**
+ * 数据处理业务层
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 数据处理业务层
+ * @CreatedDate: 2024/9/28 下午3:52
+ * @FilePath: com.muyu.data.processing.server
+ */
+
+public interface DataProcessingService{
+ /**
+ * 创建车辆报文记录
+ *
+ * @param data 数据
+ * @return {@link Integer }
+ */
+ Integer createCarData(IotDbData data);
+
+ /**
+ * 更新车辆报文记录
+ *
+ * @param data 数据
+ * @return {@link Integer }
+ */
+ Integer updateCarData(IotDbData data);
+
+ /**
+ * 删除车辆报文记录
+ *
+ * @param timestamp 时间戳
+ * @return {@link Integer }
+ */
+ Integer deleteCarData(String timestamp);
+
+ /**
+ * 创建车辆报文记录组
+ *
+ * @return {@link Integer }
+ */
+ Integer createCarDataGroup();
+
+ /**
+ * 查询顺序
+ *
+ * @return {@link List }<{@link IotDbData }>
+ */
+ List queryCarData();
+ /**
+ * 选择存储组
+ *
+ * @return {@link List }<{@link String }>
+ */
+ List selectStorageGroup();
+
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java
new file mode 100644
index 0000000..7b6139a
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java
@@ -0,0 +1,70 @@
+package com.muyu.data.processing.service.impl;
+
+
+import javax.annotation.Resource;
+
+import com.muyu.data.processing.domain.IotDbData;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import com.muyu.data.processing.mapper.DataProcessingMapper;
+import com.muyu.data.processing.service.DataProcessingService;
+
+import java.util.List;
+
+/**
+ * 数据处理实现层
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 数据处理实现层
+ * @CreatedDate: 2024/9/28 下午3:52
+ * @FilePath: com.muyu.data.processing.server.impl
+ */
+
+@Slf4j
+@Service
+public class DataProcessingServiceImpl implements DataProcessingService {
+ @Resource
+ private DataProcessingMapper mapper;
+
+ @Override
+ public Integer createCarData(IotDbData data) {
+ return mapper.createCarData(data);
+ }
+
+ @Override
+ public Integer updateCarData(IotDbData data) {
+ return mapper.updateCarData(data);
+ }
+
+ @Override
+ public Integer deleteCarData(String timestamp) {
+ return mapper.deleteCarData(timestamp);
+ }
+
+ @Override
+ public Integer createCarDataGroup() {
+ try {
+ Integer flag = mapper.createCarDataGroup();
+ Integer flagEle = mapper.createCarDataGroupElement();
+ System.out.println("\n\t执行sql数量为{}" + flagEle);
+ return flagEle;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+ @Override
+ public List queryCarData() {
+// return mapper.queryCarData();
+ return null;
+ }
+
+ @Override
+ public List selectStorageGroup() {
+ return mapper.selectStorageGroup();
+ }
+
+
+}
diff --git a/cloud-data-processing/src/main/resources/bootstrap.yml b/cloud-data-processing/src/main/resources/bootstrap.yml
index 0cfae85..a1de498 100644
--- a/cloud-data-processing/src/main/resources/bootstrap.yml
+++ b/cloud-data-processing/src/main/resources/bootstrap.yml
@@ -11,6 +11,22 @@ nacos:
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
+ datasource:
+ username: root
+ password: root
+ driver-class-name: org.apache.iotdb.jdbc.IoTDBDriver
+ url: jdbc:iotdb://47.116.173.119:6667/
+ initial-size: 5
+ min-idle: 10
+ max-active: 20
+ max-wait: 60000
+ remove-abandoned: true
+ remove-abandoned-timeout: 30
+ time-between-eviction-runs-millis: 60000
+ min-evictable-idle-time-millis: 300000
+ test-while-idle: false
+ test-on-borrow: false
+ test-on-return: false
amqp:
deserialization:
trust:
diff --git a/cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml b/cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml
new file mode 100644
index 0000000..fab3dd1
--- /dev/null
+++ b/cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ insert into root.one.data(timestamp, CarData_id, CarData_num, CarData_name,create_time) values(#{timestamp},#{CarDataId},#{CarDataNum},#{CarDataName},#{createTime});
+
+
+
+ delete from root.one.data where timestamp = ${timestamp};
+
+
+
+ insert into root.one.data(timestamp, CarData_id, CarData_num, CarData_name,create_time) values(2021-11-24T18:28:20.689+08:00,#{CarDataId},#{CarDataNum},#{CarDataName},#{createTime});
+
+
+
+ SET STORAGE GROUP TO root.one.data
+
+
+ CREATE TIMESERIES root.one.data.CarData_num WITH DATATYPE=INT32, ENCODING=PLAIN, COMPRESSOR=SNAPPY;
+
+
+