commit 6c3d48bd33f3a3cc8f5d826d14582a71c0f81f8c
Author: gukaixuan <1>
Date: Fri Sep 15 20:43:33 2023 +0800
car-collect
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..09bdfea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,46 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..3c13ca0
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,22 @@
+FROM openjdk:17-ea-slim
+LABEL authors="Car-two <3079188394@qq.com>"
+
+RUN mkdir /car
+
+# 暴露端口
+EXPOSE 9455
+
+# 创建着陆点
+WORKDIR "/car"
+
+# 复制新的运行程序
+COPY ./ruoyi-collect-server/target/ruoyi-collect-server.jar /car/app.jar
+
+# 挂载持续的目录
+VOLUME /car/logs/ruoyi-collect-server
+
+
+# 运行你的jar包
+CMD ["java","-jar","/car/app.jar"]
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..8792858
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,26 @@
+
+
+
+ com.ruoyi
+ ruoyi
+ 3.6.3
+
+ pom
+
+ ruoyi-collect-common
+ ruoyi-collect-remote
+ ruoyi-collect-server
+ ruoyi-vehicle-cache
+
+ 3.6.3
+ 4.0.0
+ ruoyi-modules-collect
+
+
+
+ ruoyi-modules-collect系统模块
+
+
+
diff --git a/ruoyi-collect-common/.gitignore b/ruoyi-collect-common/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/ruoyi-collect-common/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/ruoyi-collect-common/pom.xml b/ruoyi-collect-common/pom.xml
new file mode 100644
index 0000000..cf5fc3c
--- /dev/null
+++ b/ruoyi-collect-common/pom.xml
@@ -0,0 +1,97 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-modules-collect
+ 3.6.3
+
+
+ com.ruoyi
+ ruoyi-collect-common
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ net.logstash.logback
+ logstash-logback-encoder
+ 6.6
+
+
+
+ org.springframework.kafka
+ spring-kafka
+ 3.0.9
+
+
+ org.projectlombok
+ lombok
+
+
+ org.apache.kafka
+ kafka-clients
+ 3.0.0
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+
+
+
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Car.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Car.java
new file mode 100644
index 0000000..9daf063
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Car.java
@@ -0,0 +1,86 @@
+package com.ruoyi.collect.domain;
+
+import lombok.*;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Setter
+@Getter
+public class Car {
+
+ /**
+ * 车辆ID
+ */
+ private Integer carId;
+ /**
+ * 车辆名称
+ */
+ private String carName;
+ /**
+ * 车辆VIN编码
+ */
+ private String carVin;
+ /**
+ * 车辆类型
+ */
+ private Integer typeId;
+ /**
+ * 车辆类型名称
+ */
+ private String typeName;
+ /**
+ * 制造厂商名称
+ */
+ private String manufacturerName;
+ /**
+ * 电池名称
+ */
+ private String batteryName;
+ /**
+ * 制造编号
+ */
+ private String manufacturerDesc;
+ /**
+ * 电池编号
+ */
+ private String batteryDesc;
+ /**
+ * 汽车状态 1在线1 已离线
+ */
+ private Integer carStatus;
+ /**
+ * 关联企业
+ */
+ private Integer firmId;
+ /**
+ * 企业名称
+ */
+ private String firmName;
+
+ /**
+ * 逻辑删除 1显示 2删除
+ */
+ private Integer deletion;
+
+ /**
+ * 標識選擇數組
+ */
+ private String identifications;
+
+ /**
+ * 強轉
+ */
+ private Integer[] identificationIds;
+
+
+ /**
+ * 標識字符串
+ */
+ private String identificationName;
+
+
+
+
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarBsRecord.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarBsRecord.java
new file mode 100644
index 0000000..d756111
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarBsRecord.java
@@ -0,0 +1,37 @@
+package com.ruoyi.collect.domain;
+
+import lombok.Data;
+
+/**
+ * @author Lff
+ * @Date: 2023/9/11 20:44
+ * @Description:
+ */
+@Data
+public class CarBsRecord {
+ /**
+ * 車輛標識主鍵
+ */
+ private Integer carBsId;
+
+ /**
+ * 標識主鍵
+ */
+ private Integer identificationId;
+
+ /**
+ * 車輛主鍵
+ */
+ private Integer carId;
+
+ /**
+ * 標識主鍵
+ */
+ private Integer carBsStatus;
+
+ /**
+ * 標識選擇數組
+ */
+ private Integer[] identifications;
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarFence.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarFence.java
new file mode 100644
index 0000000..9af1e39
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarFence.java
@@ -0,0 +1,123 @@
+package com.ruoyi.collect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.*;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 车辆电子围栏中间表
+ * @author Lff
+ * @Date: 2023/8/22 22:27
+ * @Description:
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Setter
+@Getter
+public class CarFence {
+ /**
+ * 车辆-电子围栏中间表唯一标识:主键
+ */
+ private Integer fenceMiddleId;
+ /**
+ * 关联围栏
+ */
+ private Integer fenceId;
+ /**
+ * 车辆标识-状态:驶入驶出
+ */
+ private Integer carFenceStatus;
+
+ /**
+ * 车辆ID
+ */
+ private Integer carId;
+ /**
+ * 车辆名称
+ */
+ private String carName;
+ /**
+ * 车辆VIN编码
+ */
+ private String carVin;
+ /**
+ * 车辆类型
+ */
+ private Integer typeId;
+ /**
+ * 车辆类型名称
+ */
+ private String typeName;
+ /**
+ * 制造厂商名称
+ */
+ private String manufacturerName;
+ /**
+ * 电池名称
+ */
+ private String batteryName;
+ /**
+ * 制造编号
+ */
+ private String manufacturerDesc;
+ /**
+ * 电池编号
+ */
+ private String batteryDesc;
+ /**
+ * 汽车状态 1已离线 2在线
+ */
+ private Integer carStatus;
+
+ /**
+ * 电子围栏中间表
+ */
+ private CarFence carFences;
+
+ /**
+ * 电子围栏设置:围栏名称
+ */
+ private String fenceName;
+ /**
+ * 电子围栏设置:围栏地址
+ */
+ private String address;
+ /**
+ * 电子围栏设置:电子围栏经度/纬度
+ */
+ private String logLat;
+ /**
+ * 电子围栏设置:电子围栏创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ /**
+ * 创建人
+ */
+ private String createName;
+ /**
+ * 电子围栏设置:电子围栏修改时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+ /**
+ * 修改人
+ */
+ private String updateName;
+ /**
+ * 电子围栏设置:电子围栏结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endTime;
+ /**
+ * 电子围栏设置:电子围栏状态 1激活 2未激活
+ */
+ private Integer fenceStatus;
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarRecord.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarRecord.java
new file mode 100644
index 0000000..eb5d044
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/CarRecord.java
@@ -0,0 +1,47 @@
+package com.ruoyi.collect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author Lff
+ * @Date: 2023/9/2 9:23
+ * @Description:
+ */
+@Data
+public class CarRecord {
+ /**
+ * 车辆记录表主键
+ */
+ private Integer recordId;
+ /**
+ * 车辆标识
+ */
+ private String carVin;
+ /**
+ * 开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endDate;
+
+
+ /**
+ * 开始时间戳
+ */
+ private String startKey;
+ /**
+ * 结束时间戳
+ */
+ private String endKey;
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Emp.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Emp.java
new file mode 100644
index 0000000..768cd36
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Emp.java
@@ -0,0 +1,44 @@
+package com.ruoyi.collect.domain;
+
+import lombok.Data;
+
+/**
+ * @author Lff
+ * @Date: 2023/8/30 18:49
+ * @Description:
+ */
+@Data
+public class Emp {
+ /**
+ * 员工唯一标识:主键
+ */
+ private Integer empId;
+ /**
+ * 员工姓名
+ */
+ private String empName;
+ /**
+ * 员工性别
+ */
+ private String empSex;
+ /**
+ * 员工手机号
+ */
+ private String empPhone;
+ /**
+ * 员工邮箱
+ */
+ private String email;
+ /**
+ * 绑定企业
+ */
+ private Integer firmId;
+ /**
+ * 员工状态 0在职 1停用
+ */
+ private Integer empStatus;
+ /**
+ * 企业名称
+ */
+ private String firmName;
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/EmpMiddleCar.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/EmpMiddleCar.java
new file mode 100644
index 0000000..a3e71bc
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/EmpMiddleCar.java
@@ -0,0 +1,52 @@
+package com.ruoyi.collect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author Lff
+ * @Date: 2023/8/30 18:52
+ * @Description:
+ */
+@Data
+public class EmpMiddleCar {
+ /**
+ * 员工汽车中间表唯一标识:主键
+ */
+ private Integer middleId;
+ /**
+ * 绑定员工
+ */
+ private Integer empId;
+ /**
+ * 绑定汽车
+ */
+ private Integer carId;
+ /**
+ * 创建人名称
+ */
+ private String createName;
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ /**
+ * 修改人名称
+ */
+ private String updateName;
+ /**
+ * 修改时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+ /**
+ * 逻辑删除 0正常 1删除
+ */
+ private Integer deletion;
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Fence.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Fence.java
new file mode 100644
index 0000000..6dda070
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Fence.java
@@ -0,0 +1,73 @@
+package com.ruoyi.collect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 电子围栏实体类
+ * @author Lff
+ * @Date: 2023/8/22 16:52
+ * @Description:
+ */
+@Data
+public class Fence {
+ /**
+ * 电子围栏设置:主键ID
+ */
+ private Integer fenceId;
+ /**
+ * 关联企业
+ */
+ private Integer firmId;
+ /**
+ * 电子围栏设置:围栏名称
+ */
+ private String fenceName;
+ /**
+ * 电子围栏设置:围栏地址
+ */
+ private String address;
+ /**
+ * 电子围栏设置:电子围栏经度/纬度
+ */
+ private String logLat;
+ /**
+ * 电子围栏设置:电子围栏创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ /**
+ * 创建人
+ */
+ private String createName;
+ /**
+ * 电子围栏设置:电子围栏修改时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+ /**
+ * 修改人
+ */
+ private String updateName;
+ /**
+ * 电子围栏设置:电子围栏结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endTime;
+ /**
+ * 电子围栏设置:电子围栏状态 1激活 2未激活
+ */
+ private Integer fenceStatus;
+ /**
+ * 逻辑删除
+ */
+ private Integer deletion;
+
+ private String firmName;
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/FenceRecord.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/FenceRecord.java
new file mode 100644
index 0000000..8ac0284
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/FenceRecord.java
@@ -0,0 +1,37 @@
+package com.ruoyi.collect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author Lff
+ * @Date: 2023/9/12 9:32
+ * @Description:
+ */
+@Data
+public class FenceRecord {
+ private Integer recordId;
+ private Integer identificationId;
+ private Integer fenceId;
+ private Integer recordStatus;
+ private Integer firmId;
+ private String fenceName;
+ private String address;
+ private String logLat;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ private String createName;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endTime;
+ private String updateName;
+ private Integer fenceStatus;
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Firm.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Firm.java
new file mode 100644
index 0000000..962e18d
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Firm.java
@@ -0,0 +1,56 @@
+package com.ruoyi.collect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+@Data
+public class Firm {
+
+ /**
+ * 企业唯一标识
+ */
+ private Integer firmId;
+ /**
+ * 企业名称
+ */
+ private String firmName;
+ /**
+ * 负责人
+ */
+ private String userId;
+ /**
+ * 地址
+ */
+ private String address;
+ /**
+ * 电话
+ */
+ private String firmPhone;
+ /**
+ * 逻辑删除
+ */
+ private String deletion;
+ /**
+ * 状态
+ */
+ private String firmState;
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String createTime;
+ /**
+ * 修改人
+ */
+ private String updateName;
+ /**
+ * 修改时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String updateTime;
+
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Identification.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Identification.java
new file mode 100644
index 0000000..489d6ca
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Identification.java
@@ -0,0 +1,35 @@
+package com.ruoyi.collect.domain;
+
+import lombok.Data;
+
+/**
+ * @author Lff
+ * @Date: 2023/9/11 20:47
+ * @Description:
+ */
+@Data
+public class Identification {
+ /**
+ * 標識主鍵
+ */
+ private Integer identificationId;
+
+ /**
+ * 標識名稱
+ */
+ private String identificationName;
+
+ /**
+ * 標識狀態
+ */
+ private Integer identificationStatus;
+
+ /**
+ * 電子圍欄多選框
+ */
+ private Integer[] fences;
+
+
+
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Type.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Type.java
new file mode 100644
index 0000000..94b2f20
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/Type.java
@@ -0,0 +1,11 @@
+package com.ruoyi.collect.domain;
+
+import lombok.Data;
+
+@Data
+public class Type {
+
+ private Integer typeId;
+ private String typeName;
+
+}
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/VehicleMessage.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/VehicleMessage.java
new file mode 100644
index 0000000..a9f6541
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/VehicleMessage.java
@@ -0,0 +1,114 @@
+package com.ruoyi.collect.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+
+/**
+ * 报文实体类
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class VehicleMessage {
+ //消息标识
+ private String identification;
+ //VIN码
+ private String vinCode;
+ //经度
+ private String longitude;
+ //纬度
+ private String latitude;
+ //车速
+ private String speedOfVehicle;
+ //总里程
+ private String TotalMileage;
+ //总电压
+ private String TotalVoltage;
+ //总电流
+ private String combinedCurrent;
+ //绝缘电阻
+ private String InsulationResistance;
+ //档位
+ private String gearPosition;
+ //加速踏板行程值
+ private String acceleratorPedalTravelValue;
+ //制动踏板行程值
+ private String brakePedalTravelValue;
+ //燃料消耗率
+ private String specificFuelConsumption;
+ //电机控制器温度
+ private String motorControllerTemperature;
+ //电机转速
+ private String motorSpeed;
+ //电机转矩
+ private String motorTorque;
+ //电机温度
+ private String motorTemperature;
+ //电机电压
+ private String motorVoltage;
+ //电机电流
+ private String motorCurrent;
+ //动力电池剩余电量SOC
+ private String electricalSoc;
+ //当前状态允许的最大反馈功率
+ private String maximumFeedbackPower;
+ //当前状态允许最大放电功率
+ private String maximumDischargePower;
+ //BMS自检计数器
+ private String bms;
+ //动力电池充放电电流
+ private String batteryCurrent;
+ //动力电池负载端总电压V3
+ private String v3;
+ //单次最大电压
+ private String singleMaximumVoltage;
+ //单体电池最低电压
+ private String minimumVoltageOfBattery;
+ //单体电池最高温度
+ private String maximumBatteryTemperature;
+ //单体电池最低温度
+ private String minimumBatteryTemperature;
+ //动力电池可用容量
+ private String powerBatteryAvailableCapacity;
+ //车辆状态
+ private Integer carStatus;
+ //充电状态
+ private Integer chargingState;
+ //运行状态
+ private Integer runningState;
+ //SOC
+ private String soc;
+ //可充电储能装置工作状态
+ private String workingCondition;
+ //驱动电机状态
+ private String driveMotorCondition;
+ //定位是否有效
+ private String whetherTheLocationValid;
+ //EAS
+ private String eas;
+ //PTC
+ private String ptc;
+ //EPS
+ private String eps;
+ //ABS
+ private String abs;
+ //MCU
+ private String mcu;
+ //动力电池加热状态
+ private String powerBatteryHeatingState;
+ //动力电池当前状态
+ private String powerBattery;
+ //动力电池保温状态
+ private String powerBatteryInsulationState;
+ //DCDC
+ private String dcdc;
+ //CHG
+ private String chg;
+
+ //时间
+ private Long time;
+}
+
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/cache/fence/FenceIdTypeCache.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/cache/fence/FenceIdTypeCache.java
new file mode 100644
index 0000000..49c2a30
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/cache/fence/FenceIdTypeCache.java
@@ -0,0 +1,29 @@
+package com.ruoyi.collect.domain.cache.fence;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 车辆存储围栏类型缓存
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FenceIdTypeCache {
+
+ /**
+ * 围栏ID
+ */
+ private String fenceId;
+
+ /**
+ * 围栏类型
+ */
+ private String fenceType;
+
+}
+
diff --git a/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/cache/fence/FenceInfoTypeCache.java b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/cache/fence/FenceInfoTypeCache.java
new file mode 100644
index 0000000..11b6b13
--- /dev/null
+++ b/ruoyi-collect-common/src/main/java/com/ruoyi/collect/domain/cache/fence/FenceInfoTypeCache.java
@@ -0,0 +1,29 @@
+package com.ruoyi.collect.domain.cache.fence;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 电子围栏坐标和类型
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FenceInfoTypeCache {
+
+ /**
+ * 围栏类型
+ */
+ private String fenceType;
+
+ /**
+ * 经纬度信息
+ */
+ private double[][] coordinate;
+
+
+}
diff --git a/ruoyi-collect-remote/.gitignore b/ruoyi-collect-remote/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/ruoyi-collect-remote/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/ruoyi-collect-remote/pom.xml b/ruoyi-collect-remote/pom.xml
new file mode 100644
index 0000000..0f16ffe
--- /dev/null
+++ b/ruoyi-collect-remote/pom.xml
@@ -0,0 +1,29 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-modules-collect
+ 3.6.3
+
+
+ com.ruoyi
+ ruoyi-collect-remote
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ com.ruoyi
+ ruoyi-collect-common
+ 3.6.3
+
+
+
+
diff --git a/ruoyi-collect-server/.gitignore b/ruoyi-collect-server/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/ruoyi-collect-server/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/ruoyi-collect-server/pom.xml b/ruoyi-collect-server/pom.xml
new file mode 100644
index 0000000..606c513
--- /dev/null
+++ b/ruoyi-collect-server/pom.xml
@@ -0,0 +1,91 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-modules-collect
+ 3.6.3
+
+
+ com.ruoyi
+ ruoyi-collect-server
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ com.ruoyi
+ ruoyi-collect-common
+ 3.6.3
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datasource
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datascope
+
+
+
+
+ com.ruoyi
+ ruoyi-common-log
+
+
+
+ com.ruoyi
+ ruoyi-common-swagger
+
+
+
+ com.ruoyi
+ ruoyi-file-remote
+
+
+
+ com.ruoyi
+ ruoyi-analysis-remote
+ 3.6.3
+
+
+ com.ruoyi
+ ruoyi-common-redis
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
+
diff --git a/ruoyi-collect-server/src/main/java/com/ruoyi/collect/RuoYiCollectApplication.java b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/RuoYiCollectApplication.java
new file mode 100644
index 0000000..fa74d3b
--- /dev/null
+++ b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/RuoYiCollectApplication.java
@@ -0,0 +1,34 @@
+package com.ruoyi.collect;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+
+/**
+ * 系统模块
+ *
+ * @author ruoyi
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableRyFeignClients
+@SpringBootApplication
+public class RuoYiCollectApplication
+{
+ public static void main(String[] args)
+ {
+ SpringApplication.run(RuoYiCollectApplication.class, args);
+ System.out.println("(♥◠‿◠)ノ゙ 系统模块启动成功 ლ(´ڡ`ლ)゙ \n" +
+ " .-------. ____ __ \n" +
+ " | _ _ \\ \\ \\ / / \n" +
+ " | ( ' ) | \\ _. / ' \n" +
+ " |(_ o _) / _( )_ .' \n" +
+ " | (_,_).' __ ___(_ o _)' \n" +
+ " | |\\ \\ | || |(_,_)' \n" +
+ " | | \\ `' /| `-' / \n" +
+ " | | \\ / \\ / \n" +
+ " ''-' `'-' `-..-' ");
+ }
+}
diff --git a/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/CacheItem.java b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/CacheItem.java
new file mode 100644
index 0000000..82e462a
--- /dev/null
+++ b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/CacheItem.java
@@ -0,0 +1,41 @@
+package com.ruoyi.collect.cache;
+
+import lombok.Data;
+
+/**
+ * @program: Electronic-fence
+ * @description: 本地缓存
+ * @author: lff
+ * @create: 2023-08-22 21:14
+ **/
+@Data
+public class CacheItem {
+ /**
+ * value的值
+ */
+ private Object value;
+ /**
+ * 过期时间
+ */
+ private long expireTime;
+ /**
+ * 访问时间
+ */
+ private long accessTime;
+
+
+
+
+
+ public Object getValue() {
+ return value;
+ }
+
+ public boolean isExpired() {
+ return System.currentTimeMillis() - accessTime > expireTime;
+ }
+
+ public void updateAccessTime() {
+ accessTime = System.currentTimeMillis();
+ }
+}
diff --git a/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/service/CacheService.java b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/service/CacheService.java
new file mode 100644
index 0000000..ab7f751
--- /dev/null
+++ b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/service/CacheService.java
@@ -0,0 +1,40 @@
+package com.ruoyi.collect.cache.service;
+
+/**
+ * @program: Electronic-fence
+ * @description: 缓存的接口
+ * @author: lff
+ * @create: 2023-08-22 20:49
+ **/
+public interface CacheService {
+ /**
+ * 添加缓存的方法
+ * @param key
+ * @param value
+ * @param expire
+ */
+ public void put(Object key,Object value,long expire);
+
+ public void put(Object key,Object value);
+
+
+ /**
+ * 获取缓存
+ * @param key
+ * @return
+ */
+ public Object get(Object key);
+
+ /**
+ * 获取最少使用的缓存
+ * @return
+ */
+ public Object getKickedKey();
+
+
+ /**
+ * 删除缓存
+ * @param key
+ */
+ public void delekeyValue(Object key);
+}
diff --git a/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/service/impl/CacheServiceImpl.java b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/service/impl/CacheServiceImpl.java
new file mode 100644
index 0000000..ecbf22e
--- /dev/null
+++ b/ruoyi-collect-server/src/main/java/com/ruoyi/collect/cache/service/impl/CacheServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.collect.cache.service.impl;
+
+
+
+
+import com.ruoyi.collect.cache.CacheItem;
+import com.ruoyi.collect.cache.service.CacheService;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @program: Electronic-fence
+ * @description: 缓存接口的实现
+ * @author: lff
+ * @create: 2023-08-22 20:52
+ **/
+@Service
+public class CacheServiceImpl implements CacheService {
+
+ private Map