报文模块删除冗余的代码
parent
9e0e3f37b8
commit
bef61a5d29
|
@ -25,6 +25,18 @@
|
||||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||||
</dependency>
|
</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依赖-->
|
<!--iotdb依赖-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.iotdb</groupId>
|
<groupId>org.apache.iotdb</groupId>
|
||||||
|
|
|
@ -3,12 +3,15 @@ package com.template.controller;
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.template.domain.Template;
|
import com.template.domain.Template;
|
||||||
import com.template.service.TemplateService;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,7 +45,7 @@ public class TemplateController {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/messageParsing")
|
@PostMapping("/messageParsing")
|
||||||
public Result messageParsing(@RequestParam("templateMessage") String templateMessage){
|
public Result messageParsing(@RequestParam("templateMessage") String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException {
|
||||||
templateService.messageParsing(templateMessage);
|
templateService.messageParsing(templateMessage);
|
||||||
return Result.success();
|
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;
|
package com.template.service;
|
||||||
|
|
||||||
import com.template.domain.Template;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,6 +18,6 @@ public interface TemplateService {
|
||||||
List<Template> templateList();
|
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;
|
package com.template.service.impl;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.muyu.common.core.domain.Result;
|
|
||||||
import com.template.domain.*;
|
import com.template.domain.*;
|
||||||
import com.template.mapper.TemplateMapper;
|
import com.template.mapper.TemplateMapper;
|
||||||
import com.template.service.CarService;
|
import com.template.service.CarService;
|
||||||
import com.template.service.MessageTemplateTypeService;
|
import com.template.service.MessageTemplateTypeService;
|
||||||
import com.template.service.TemplateService;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
/**
|
/**
|
||||||
* @Author:liuxinyue
|
* @Author:liuxinyue
|
||||||
|
@ -30,13 +37,16 @@ public class TemplateServiceImpl implements TemplateService{
|
||||||
@Autowired
|
@Autowired
|
||||||
private MessageTemplateTypeService messageTemplateTypeService;
|
private MessageTemplateTypeService messageTemplateTypeService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ToIoTDB toIoTDB;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Template> templateList() {
|
public List<Template> templateList() {
|
||||||
return templateMapper.templateList();
|
return templateMapper.templateList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void messageParsing(String templateMessage) {
|
public void messageParsing(String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException {
|
||||||
//给一个JSON对象
|
//给一个JSON对象
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
//先截取出VIN码 然后根据VIN码查询这个车属于什么类型
|
//先截取出VIN码 然后根据VIN码查询这个车属于什么类型
|
||||||
|
@ -73,43 +83,65 @@ public class TemplateServiceImpl implements TemplateService{
|
||||||
//将每个解析后的字段都存入到JSON对象中
|
//将每个解析后的字段都存入到JSON对象中
|
||||||
jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex-1));
|
jsonObject.put(messageTemplateType.getMessageField(), result.substring(startIndex, endIndex-1));
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("解析后的报文是:"+jsonObject);
|
System.out.println("解析后的报文是:"+jsonObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//连接IoTDB数据库并执行插入操作
|
|
||||||
public void addIoTDBTemplate(MessageTemplate messageTemplate) throws ClassNotFoundException {
|
|
||||||
// IoTDB 数据库的连接信息
|
public void insertIoTDB(JSONObject jsonObject) throws SQLException, ClassNotFoundException, IoTDBConnectionException, StatementExecutionException {
|
||||||
String url = "jdbc:iotdb://47.116.173.119:6667/";
|
|
||||||
String user = "root";
|
System.out.println("Hello IoTDB Java Example");
|
||||||
String password = "root";
|
//初始化与连接
|
||||||
try {
|
Session session = new Session.Builder()
|
||||||
// 注册 JDBC 驱动
|
.host("47.116.173.119")
|
||||||
Class.forName("org.apache.iotdb.jdbc.IoTDBDriver");
|
.port(6667)
|
||||||
System.out.println("JDBC Driver Registered!");
|
.username("root")
|
||||||
// 数据库连接
|
.password("root")
|
||||||
Connection connection = DriverManager.getConnection(url, user, password);
|
.version(Version.V_0_12)
|
||||||
System.out.println("Connected to IoTDB!");
|
.build();
|
||||||
// 插入数据的 SQL 语句
|
//开启Session RPC不压缩
|
||||||
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, " +
|
session.open(false);
|
||||||
"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, " +
|
session.open(false);
|
||||||
"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," +
|
System.out.println("写入数据");
|
||||||
" 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 ( ?, ?, ?, ?, ?, ?, ?, " +
|
List<Object> values = new ArrayList<>();
|
||||||
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ??, ?, ?, ?, ?, ?, ?, ?, ?, " +
|
values.add(jsonObject);
|
||||||
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
insertRecord(session, (List<Object>) jsonObject);
|
||||||
// 使用 PreparedStatement 插入数据
|
//添加sql语句
|
||||||
PreparedStatement preparedStatement = connection.prepareStatement(insertSQL);
|
String sql="INSERT INTO template (vinCode, ' or timeStamp' or longItude, latitude, speedVehicle, totalMileage, totalVoltage) VALUES(0, 0, 0, 0, 0, 0, 0)";
|
||||||
// 执行插入
|
}
|
||||||
preparedStatement.execute();
|
|
||||||
System.out.println("Data inserted successfully!");
|
private static void insertRecord(Session session,List<Object> values) throws SQLException, ClassNotFoundException, IoTDBConnectionException, StatementExecutionException {
|
||||||
// 关闭连接
|
|
||||||
preparedStatement.close();
|
List<String> strings = new ArrayList<>();
|
||||||
connection.close();
|
|
||||||
} catch (ClassNotFoundException e) {
|
List<TSDataType> objects = new ArrayList<>();
|
||||||
System.err.println("JDBC Driver not found: " + e.getMessage());
|
|
||||||
} catch (SQLException e) {
|
strings.add("status");
|
||||||
e.printStackTrace();
|
|
||||||
|
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