From bef61a5d29142af40a9bac8dc03ddda3d56c2d84 Mon Sep 17 00:00:00 2001
From: Number7 <1845377266@qq.com>
Date: Tue, 24 Sep 2024 10:02:32 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E6=96=87=E6=A8=A1=E5=9D=97=E5=88=A0?=
=?UTF-8?q?=E9=99=A4=E5=86=97=E4=BD=99=E7=9A=84=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cloud-modules/cloud-modules-template/pom.xml | 12 ++
.../controller/TemplateController.java | 5 +-
.../java/com/template/domain/Controller.java | 27 +++++
.../com/template/service/TemplateService.java | 5 +-
.../service/impl/TemplateServiceImpl.java | 106 ++++++++++++------
5 files changed, 116 insertions(+), 39 deletions(-)
create mode 100644 cloud-modules/cloud-modules-template/src/main/java/com/template/domain/Controller.java
diff --git a/cloud-modules/cloud-modules-template/pom.xml b/cloud-modules/cloud-modules-template/pom.xml
index b3cf784..ef7aa68 100644
--- a/cloud-modules/cloud-modules-template/pom.xml
+++ b/cloud-modules/cloud-modules-template/pom.xml
@@ -25,6 +25,18 @@
spring-cloud-starter-alibaba-nacos-discovery
+
+ org.apache.iotdb
+ iotdb-session
+ 1.3.2
+
+
+
+ org.apache.iotdb
+ node-commons
+ 1.3.2
+
+
org.apache.iotdb
diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/template/controller/TemplateController.java b/cloud-modules/cloud-modules-template/src/main/java/com/template/controller/TemplateController.java
index c1a2b36..1899cef 100644
--- a/cloud-modules/cloud-modules-template/src/main/java/com/template/controller/TemplateController.java
+++ b/cloud-modules/cloud-modules-template/src/main/java/com/template/controller/TemplateController.java
@@ -3,12 +3,15 @@ package com.template.controller;
import com.muyu.common.core.domain.Result;
import com.template.domain.Template;
import com.template.service.TemplateService;
+import org.apache.iotdb.rpc.IoTDBConnectionException;
+import org.apache.iotdb.rpc.StatementExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import java.sql.SQLException;
import java.util.List;
/**
@@ -42,7 +45,7 @@ public class TemplateController {
* @return
*/
@PostMapping("/messageParsing")
- public Result messageParsing(@RequestParam("templateMessage") String templateMessage){
+ public Result messageParsing(@RequestParam("templateMessage") String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException {
templateService.messageParsing(templateMessage);
return Result.success();
}
diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/template/domain/Controller.java b/cloud-modules/cloud-modules-template/src/main/java/com/template/domain/Controller.java
new file mode 100644
index 0000000..d188a0e
--- /dev/null
+++ b/cloud-modules/cloud-modules-template/src/main/java/com/template/domain/Controller.java
@@ -0,0 +1,27 @@
+package com.template.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:liuxinyue
+ * @Package:com.template.domain
+ * @Project:cloud-server
+ * @name:Controller
+ * @Date:2024/9/23 23:50
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Controller {
+
+ private String id;
+ private String Name;
+ private String userName;
+ private String passWord;
+ private String userName1;
+ private String passWord1;
+
+
+}
diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/template/service/TemplateService.java b/cloud-modules/cloud-modules-template/src/main/java/com/template/service/TemplateService.java
index 4854166..92d0b51 100644
--- a/cloud-modules/cloud-modules-template/src/main/java/com/template/service/TemplateService.java
+++ b/cloud-modules/cloud-modules-template/src/main/java/com/template/service/TemplateService.java
@@ -1,7 +1,10 @@
package com.template.service;
import com.template.domain.Template;
+import org.apache.iotdb.rpc.IoTDBConnectionException;
+import org.apache.iotdb.rpc.StatementExecutionException;
+import java.sql.SQLException;
import java.util.List;
/**
@@ -15,6 +18,6 @@ public interface TemplateService {
List templateList();
- void messageParsing(String templateMessage);
+ void messageParsing(String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException;
}
diff --git a/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java b/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java
index 05dc108..f6fd1b5 100644
--- a/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java
+++ b/cloud-modules/cloud-modules-template/src/main/java/com/template/service/impl/TemplateServiceImpl.java
@@ -1,15 +1,22 @@
package com.template.service.impl;
import com.alibaba.fastjson.JSONObject;
-import com.muyu.common.core.domain.Result;
import com.template.domain.*;
import com.template.mapper.TemplateMapper;
import com.template.service.CarService;
import com.template.service.MessageTemplateTypeService;
import com.template.service.TemplateService;
+import com.template.util.ToIoTDB;
+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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-
import java.sql.*;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
* @Author:liuxinyue
@@ -30,13 +37,16 @@ public class TemplateServiceImpl implements TemplateService{
@Autowired
private MessageTemplateTypeService messageTemplateTypeService;
+ @Autowired
+ private ToIoTDB toIoTDB;
+
@Override
public List templateList() {
return templateMapper.templateList();
}
@Override
- public void messageParsing(String templateMessage) {
+ public void messageParsing(String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException {
//给一个JSON对象
JSONObject jsonObject = new JSONObject();
//先截取出VIN码 然后根据VIN码查询这个车属于什么类型
@@ -73,43 +83,65 @@ public class TemplateServiceImpl implements TemplateService{
//将每个解析后的字段都存入到JSON对象中
jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex-1));
}
+
System.out.println("解析后的报文是:"+jsonObject);
}
}
- //连接IoTDB数据库并执行插入操作
- public void addIoTDBTemplate(MessageTemplate messageTemplate) throws ClassNotFoundException {
- // IoTDB 数据库的连接信息
- String url = "jdbc:iotdb://47.116.173.119:6667/";
- String user = "root";
- String password = "root";
- try {
- // 注册 JDBC 驱动
- Class.forName("org.apache.iotdb.jdbc.IoTDBDriver");
- System.out.println("JDBC Driver Registered!");
- // 数据库连接
- Connection connection = DriverManager.getConnection(url, user, password);
- System.out.println("Connected to IoTDB!");
- // 插入数据的 SQL 语句
- String insertSQL = "INSERT INTO root.four.message_template ( vin_code, time_stamp, long_itude, latitude, speed_vehicle, total_mileage, total_voltage, combined_current, insulation_resistance, " +
- "gear_position, accelerator_pedal_travel_value, brake_pedal_travel_value, specific_fuel_consumption, motor_controller_temperature, motor_speed, motor_torque, motor_temperature, motor_voltage, motor_current, " +
- "power_battery_remaining_soc, maximum_feedback_power, maximum_discharge_power, bms_self_check_counter, power_battery, total_voltage_load_side, maximum_voltage, minimum_voltage, maximum_temperature, minimum_temperature," +
- " available_capacity, vehicle_status, charging_state, operational_status, soc, energy_storage_devices," +
- " drive_motor_condition, whether_works, eas, ptc, eps, abs, mcu, heating_state, power_battery_status, state_battery_insulation, dcdc, chg, check_digit, cutoff_bit) VALUES ( ?, ?, ?, ?, ?, ?, ?, " +
- "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ??, ?, ?, ?, ?, ?, ?, ?, ?, " +
- "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
- // 使用 PreparedStatement 插入数据
- PreparedStatement preparedStatement = connection.prepareStatement(insertSQL);
- // 执行插入
- preparedStatement.execute();
- System.out.println("Data inserted successfully!");
- // 关闭连接
- preparedStatement.close();
- connection.close();
- } catch (ClassNotFoundException e) {
- System.err.println("JDBC Driver not found: " + e.getMessage());
- } catch (SQLException e) {
- e.printStackTrace();
- }
+
+
+ public void insertIoTDB(JSONObject jsonObject) throws SQLException, ClassNotFoundException, IoTDBConnectionException, StatementExecutionException {
+
+ System.out.println("Hello IoTDB Java Example");
+ //初始化与连接
+ Session session = new Session.Builder()
+ .host("47.116.173.119")
+ .port(6667)
+ .username("root")
+ .password("root")
+ .version(Version.V_0_12)
+ .build();
+ //开启Session RPC不压缩
+ session.open(false);
+ session.open(false);
+ System.out.println("写入数据");
+ //写入数据
+ List