From 8f14c51ca42ff44bb576352aef30ad244ceee11e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E5=B0=8F=E4=B8=9C?=
<13396135+anton-aoi@user.noreply.gitee.com>
Date: Mon, 20 Nov 2023 13:57:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
february-vehicle-common/pom.xml | 6 ++
.../java/com/february/common/domain/Car.java | 65 ++++++++++++++
.../com/february/common/domain/Constants.java | 18 ++++
.../common/domain/HistoricalDetail.java | 61 +++++++++++++
.../common/domain/HistoricalTrack.java | 58 +++++++++++++
.../february/common/domain/HistoryData.java | 86 +++++++++++++++++++
.../com/february/common/domain/RealData.java | 51 +++++++++++
.../com/february/common/domain/Result.java | 76 ++++++++++++++++
february-vehicle-server/pom.xml | 31 ++++---
.../trajectory/TrajectoryApplication.java} | 7 +-
.../controller/TrajectoryController.java | 44 ++++++++++
.../trajectory/mapper/TrajectoryMapper.java | 14 +++
.../trajectory/service/TrajectoryService.java | 13 +++
.../service/impl/TrajectoryServiceImpl.java | 55 ++++++++++++
.../src/main/resources/bootstrap.yml | 25 ++++++
.../resources/mapper/TrajectoryMapper.xml | 13 +++
16 files changed, 609 insertions(+), 14 deletions(-)
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/Car.java
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/Constants.java
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/HistoricalDetail.java
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/HistoricalTrack.java
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/HistoryData.java
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/RealData.java
create mode 100644 february-vehicle-common/src/main/java/com/february/common/domain/Result.java
rename february-vehicle-server/src/main/java/com/{february/Main.java => vehicle/trajectory/TrajectoryApplication.java} (60%)
create mode 100644 february-vehicle-server/src/main/java/com/vehicle/trajectory/controller/TrajectoryController.java
create mode 100644 february-vehicle-server/src/main/java/com/vehicle/trajectory/mapper/TrajectoryMapper.java
create mode 100644 february-vehicle-server/src/main/java/com/vehicle/trajectory/service/TrajectoryService.java
create mode 100644 february-vehicle-server/src/main/java/com/vehicle/trajectory/service/impl/TrajectoryServiceImpl.java
create mode 100644 february-vehicle-server/src/main/resources/bootstrap.yml
create mode 100644 february-vehicle-server/src/main/resources/mapper/TrajectoryMapper.xml
diff --git a/february-vehicle-common/pom.xml b/february-vehicle-common/pom.xml
index c25c594..491369a 100644
--- a/february-vehicle-common/pom.xml
+++ b/february-vehicle-common/pom.xml
@@ -62,6 +62,12 @@
february-common-swagger
3.6.3
+
+
+
+ org.projectlombok
+ lombok
+
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/Car.java b/february-vehicle-common/src/main/java/com/february/common/domain/Car.java
new file mode 100644
index 0000000..fb2ea5d
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/Car.java
@@ -0,0 +1,65 @@
+package com.february.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 车辆信息
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Car {
+ /**
+ * 车辆主键
+ */
+ private int carId;
+
+ /**
+ * 车辆VIN
+ */
+ private String carVIN;
+
+ /**
+ * 车牌号
+ */
+ private String carBh;
+
+ /**
+ * 车型Id
+ */
+ private int carTypeId;
+
+ /**
+ * 驱动编号
+ */
+ private int actuateId;
+
+ /**
+ * 电池编号
+ */
+ private int batteryId;
+
+ /**
+ * 电池厂家编号
+ */
+ private int batteryMakerId;
+
+ /**
+ * 电机厂家编号
+ */
+ private int motorManufacturerId;
+
+ /**
+ * 车辆状态
+ */
+ private int carStatus;
+
+ /**
+ * 运用区域
+ */
+ private String operatingArea;
+}
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/Constants.java b/february-vehicle-common/src/main/java/com/february/common/domain/Constants.java
new file mode 100644
index 0000000..8d87b54
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/Constants.java
@@ -0,0 +1,18 @@
+package com.february.system.domain.constants;
+
+/**
+ * @description: 系统常量
+ * @author
+ */
+public class Constants {
+ /**
+ * 成功标记
+ */
+ public static final Integer SUCCESS = 200;
+ public static final String SUCCESS_MSG = "操作成功";
+ /**
+ * 失败标记
+ */
+ public static final Integer ERROR = 500;
+ public static final String ERROR_MSG = "操作异常";
+}
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/HistoricalDetail.java b/february-vehicle-common/src/main/java/com/february/common/domain/HistoricalDetail.java
new file mode 100644
index 0000000..8b535ed
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/HistoricalDetail.java
@@ -0,0 +1,61 @@
+package com.february.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ *
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class HistoricalDetail {
+
+ /**
+ * 历史详情主键
+ */
+ private int historicalDetailId;
+
+ /**
+ * 历史轨迹Id
+ */
+ private int historicalTrackId;
+
+ /**
+ * 电机转速
+ */
+ private String motorSpeed;
+
+ /**
+ * 瞬时功率
+ */
+ private String instantaneousSpeed;
+
+ /**
+ * 续航里程
+ */
+ private String range;
+
+ /**
+ * 总里程
+ */
+ private String totalMileage;
+
+ /**
+ * SOC%
+ */
+ private String residualElectricity;
+
+ /**
+ * 监测温度
+ */
+ private String monitoringTemperature;
+
+ /**
+ * 电池Id
+ */
+ private String batteryId;
+}
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/HistoricalTrack.java b/february-vehicle-common/src/main/java/com/february/common/domain/HistoricalTrack.java
new file mode 100644
index 0000000..55ccb91
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/HistoricalTrack.java
@@ -0,0 +1,58 @@
+package com.february.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 历史轨迹
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class HistoricalTrack {
+
+ /**
+ * 历史轨迹主键
+ */
+ private int historicalTrackId;
+
+ /**
+ * 车辆Id
+ */
+ private int carId;
+
+ /**
+ * 经度
+ */
+ private String longitude;
+
+ /**
+ * 维度
+ */
+ private String dimensionality;
+
+ /**
+ * 开始时间
+ */
+ private Date historicalStartTime;
+
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date historicalEndTime;
+
+ /**
+ * 速度
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private int speed;
+
+
+}
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/HistoryData.java b/february-vehicle-common/src/main/java/com/february/common/domain/HistoryData.java
new file mode 100644
index 0000000..ec685b6
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/HistoryData.java
@@ -0,0 +1,86 @@
+package com.february.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 历史数据
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class HistoryData {
+
+ /**
+ * 历史数据主键
+ */
+ private int historyDataId;
+
+ /**
+ * 车辆轨迹
+ */
+ private int carTrajectory;
+
+ /**
+ * 车辆转速
+ */
+ private int carSpeed;
+
+ /**
+ * 电池温度
+ */
+ private int batteryTemperature;
+
+ /**
+ * 电池电压
+ */
+ private int batteryVoltage;
+
+ /**
+ * 电机转速
+ */
+ private int actuateSpeed;
+
+ /**
+ * BMS自检计数器
+ */
+ private String selfCheckCounter;
+
+ /**
+ * 电池Id
+ */
+ private String batteryId;
+
+ /**
+ * 档位
+ */
+ private String gearPosition;
+
+ /**
+ * 单次最大电压
+ */
+ private String singleMaximumVoltage;
+
+ /**
+ * 燃烧消耗率
+ */
+ private String specificFuelConsumption;
+
+ /**
+ * 绝缘电阻
+ */
+ private String insulationResistance;
+
+ /**
+ * 最大反馈功率
+ */
+ private String maximumFeedbackPower;
+
+ /**
+ * 总体电量最高温度
+ */
+ private String maximumTemperature;
+}
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/RealData.java b/february-vehicle-common/src/main/java/com/february/common/domain/RealData.java
new file mode 100644
index 0000000..2a22a10
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/RealData.java
@@ -0,0 +1,51 @@
+package com.february.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 实时数据
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class RealData {
+
+ /**
+ * 实时数据主键
+ */
+ private int realDataId;
+
+ /**
+ * 车辆VIN
+ */
+ private String carVIN;
+
+ /**
+ * 车辆类型
+ */
+ private int carTypeId;
+
+ /**
+ * 电子围栏
+ */
+ private int fenceId;
+
+ /**
+ * 车辆状态Id
+ */
+ private int carStatusId;
+
+ /**
+ * 电机厂商Id
+ */
+ private int batteryMakerId;
+
+ /**
+ * 电池厂商Id
+ */
+ private int motorManufacturerId;
+}
diff --git a/february-vehicle-common/src/main/java/com/february/common/domain/Result.java b/february-vehicle-common/src/main/java/com/february/common/domain/Result.java
new file mode 100644
index 0000000..80919c0
--- /dev/null
+++ b/february-vehicle-common/src/main/java/com/february/common/domain/Result.java
@@ -0,0 +1,76 @@
+package com.february.common.domain;
+
+import com.february.system.domain.constants.Constants;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @description: 响应信息主体
+ */
+@Data
+public class Result implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 成功
+ */
+ public static final int SUCCESS = Constants.SUCCESS;
+ /**
+ * 失败
+ */
+ public static final int FAIL = Constants.ERROR;
+ /**
+ * 返回状态码
+ */
+ private int code;
+ /**
+ * 响应信息
+ */
+ private String msg;
+ /**
+ * 响应数据
+ */
+ private T data;
+
+ public static Result success() {
+ return restResult(null, SUCCESS, Constants.SUCCESS_MSG);
+ }
+
+ public static Result success(T data) {
+ return restResult(data, SUCCESS, Constants.SUCCESS_MSG);
+ }
+
+ public static Result success(T data, String msg) {
+ return restResult(data, SUCCESS, msg);
+ }
+
+ public static Result error() {
+ return restResult(null, FAIL, Constants.ERROR_MSG);
+ }
+
+ public static Result error(String msg) {
+ return restResult(null, FAIL, msg);
+ }
+
+ public static Result error(T data) {
+ return restResult(data, FAIL, Constants.ERROR_MSG);
+ }
+
+ public static Result error(T data, String msg) {
+ return restResult(data, FAIL, msg);
+ }
+
+ public static Result error(int code, String msg) {
+ return restResult(null, code, msg);
+ }
+
+ private static Result restResult(T data, int code, String msg) {
+ Result apiResult = new Result<>();
+ apiResult.setCode(code);
+ apiResult.setData(data);
+ apiResult.setMsg(msg);
+ return apiResult;
+ }
+}
diff --git a/february-vehicle-server/pom.xml b/february-vehicle-server/pom.xml
index a803cb3..5d4f974 100644
--- a/february-vehicle-server/pom.xml
+++ b/february-vehicle-server/pom.xml
@@ -27,18 +27,12 @@
compile
-
- com.february
- february-vehicle-remote
- 3.6.3
- compile
-
-
- com.february
- february-common-log
- 3.6.3
-
+
+
+
+
+
com.february
@@ -51,6 +45,21 @@
february-common-datasource
3.6.3
+
+ com.february
+ february-common-redis
+ 3.6.3
+
+
+
+
+
+
+
+ org.redisson
+ redisson
+ 3.16.0
+
diff --git a/february-vehicle-server/src/main/java/com/february/Main.java b/february-vehicle-server/src/main/java/com/vehicle/trajectory/TrajectoryApplication.java
similarity index 60%
rename from february-vehicle-server/src/main/java/com/february/Main.java
rename to february-vehicle-server/src/main/java/com/vehicle/trajectory/TrajectoryApplication.java
index 1d2e6c4..8efcb5f 100644
--- a/february-vehicle-server/src/main/java/com/february/Main.java
+++ b/february-vehicle-server/src/main/java/com/vehicle/trajectory/TrajectoryApplication.java
@@ -1,11 +1,12 @@
-package com.february;
+package com.vehicle.trajectory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+
@SpringBootApplication
-public class Main {
+public class TrajectoryApplication {
public static void main(String[] args) {
- SpringApplication.run(Main.class);
+ SpringApplication.run(TrajectoryApplication.class);
}
}
diff --git a/february-vehicle-server/src/main/java/com/vehicle/trajectory/controller/TrajectoryController.java b/february-vehicle-server/src/main/java/com/vehicle/trajectory/controller/TrajectoryController.java
new file mode 100644
index 0000000..6087be8
--- /dev/null
+++ b/february-vehicle-server/src/main/java/com/vehicle/trajectory/controller/TrajectoryController.java
@@ -0,0 +1,44 @@
+package com.vehicle.trajectory.controller;
+
+import com.february.common.domain.Car;
+import com.february.common.domain.RealData;
+import com.february.common.domain.Result;
+import com.vehicle.trajectory.service.TrajectoryService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+import java.util.List;
+
+@Log4j2
+@RestController
+@RequestMapping("/vehicle")
+public class TrajectoryController {
+ @Autowired
+ private TrajectoryService trajectoryService;
+ @Autowired
+ private HttpServletRequest request;
+
+
+ @GetMapping("/realDateList")
+ public Result> realDateList() {
+ log.info("功能名称:【实时数据查看】,请求路径:【{}】,请求方式:【{}】", request.getRequestURI(), request.getMethod());
+ Result> result = trajectoryService.realDateList();
+ log.info("请求结果:【{}】", result);
+ return result;
+ }
+ /**
+ * 查询车辆信息
+ */
+ @GetMapping("/carList")
+ public Result> carList() {
+ log.info("功能名称:【查看在线车辆】,请求路径:【{}】,请求方式:【{}】", request.getRequestURI(), request.getMethod());
+ Result> result = trajectoryService.carList();
+ log.info("请求结果:【{}】", result);
+ return result;
+ }
+}
diff --git a/february-vehicle-server/src/main/java/com/vehicle/trajectory/mapper/TrajectoryMapper.java b/february-vehicle-server/src/main/java/com/vehicle/trajectory/mapper/TrajectoryMapper.java
new file mode 100644
index 0000000..685502c
--- /dev/null
+++ b/february-vehicle-server/src/main/java/com/vehicle/trajectory/mapper/TrajectoryMapper.java
@@ -0,0 +1,14 @@
+package com.vehicle.trajectory.mapper;
+
+import com.february.common.domain.Car;
+import com.february.common.domain.RealData;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface TrajectoryMapper {
+ List realDateList();
+
+ List carList();
+}
diff --git a/february-vehicle-server/src/main/java/com/vehicle/trajectory/service/TrajectoryService.java b/february-vehicle-server/src/main/java/com/vehicle/trajectory/service/TrajectoryService.java
new file mode 100644
index 0000000..e970d5a
--- /dev/null
+++ b/february-vehicle-server/src/main/java/com/vehicle/trajectory/service/TrajectoryService.java
@@ -0,0 +1,13 @@
+package com.vehicle.trajectory.service;
+
+import com.february.common.domain.Car;
+import com.february.common.domain.RealData;
+import com.february.common.domain.Result;
+
+import java.util.List;
+
+public interface TrajectoryService {
+ Result> realDateList();
+
+ Result> carList();
+}
diff --git a/february-vehicle-server/src/main/java/com/vehicle/trajectory/service/impl/TrajectoryServiceImpl.java b/february-vehicle-server/src/main/java/com/vehicle/trajectory/service/impl/TrajectoryServiceImpl.java
new file mode 100644
index 0000000..2283c83
--- /dev/null
+++ b/february-vehicle-server/src/main/java/com/vehicle/trajectory/service/impl/TrajectoryServiceImpl.java
@@ -0,0 +1,55 @@
+package com.vehicle.trajectory.service.impl;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.february.common.domain.Car;
+import com.february.common.domain.RealData;
+import com.february.common.domain.Result;
+import com.february.common.redis.service.RedisService;
+import com.vehicle.trajectory.mapper.TrajectoryMapper;
+import com.vehicle.trajectory.service.TrajectoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Service;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Configuration
+public class TrajectoryServiceImpl implements TrajectoryService {
+ @Autowired
+ private TrajectoryMapper mapper;
+
+ @Override
+ public Result> realDateList() {
+ List realData = mapper.realDateList();
+ return Result.success(realData);
+ }
+
+ @Autowired
+ private RedisService redisService;
+ @Override
+ public Result> carList() {
+ Boolean aBoolean = redisService.hasKey("状态为上线的车辆信息");
+ if (Boolean.TRUE.equals(aBoolean)){
+ List