报文模块删除冗余的代码
parent
9e0e3f37b8
commit
bef61a5d29
|
@ -25,6 +25,18 @@
|
|||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.iotdb</groupId>
|
||||
<artifactId>iotdb-session</artifactId>
|
||||
<version>1.3.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.iotdb</groupId>
|
||||
<artifactId>node-commons</artifactId>
|
||||
<version>1.3.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--iotdb依赖-->
|
||||
<dependency>
|
||||
<groupId>org.apache.iotdb</groupId>
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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<Template> templateList();
|
||||
|
||||
|
||||
void messageParsing(String templateMessage);
|
||||
void messageParsing(String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException;
|
||||
|
||||
}
|
||||
|
|
|
@ -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<Template> 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<Object> values = new ArrayList<>();
|
||||
values.add(jsonObject);
|
||||
insertRecord(session, (List<Object>) jsonObject);
|
||||
//添加sql语句
|
||||
String sql="INSERT INTO template (vinCode, ' or timeStamp' or longItude, latitude, speedVehicle, totalMileage, totalVoltage) VALUES(0, 0, 0, 0, 0, 0, 0)";
|
||||
}
|
||||
|
||||
private static void insertRecord(Session session,List<Object> values) throws SQLException, ClassNotFoundException, IoTDBConnectionException, StatementExecutionException {
|
||||
|
||||
List<String> strings = new ArrayList<>();
|
||||
|
||||
List<TSDataType> objects = new ArrayList<>();
|
||||
|
||||
strings.add("status");
|
||||
|
||||
objects.add(TSDataType.INT32);
|
||||
|
||||
session.insertRecord("root.test.test",System.currentTimeMillis(),strings,objects,values);
|
||||
|
||||
System.out.println("----------------写入数据成功----------------");
|
||||
}
|
||||
|
||||
private static void queryRecord(Session session) throws IoTDBConnectionException, StatementExecutionException {
|
||||
|
||||
System.out.println("----------------查询数据开始----------------");
|
||||
|
||||
try(SessionDataSet sessionDataSet = session.executeLastDataQuery(Collections.singletonList("select status from root.test.test"))){
|
||||
System.out.println(sessionDataSet.getColumnNames());
|
||||
sessionDataSet.setFetchSize(1024);
|
||||
while(sessionDataSet.hasNext()){
|
||||
System.out.println(sessionDataSet.hasNext());
|
||||
}
|
||||
}
|
||||
System.out.println("----------------查询数据结束----------------");
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue