From 19ca5b409f803b31b06ed0fe9c1bc4a6652bed3b Mon Sep 17 00:00:00 2001
From: WeiRan <2392355487@qq.com>
Date: Sat, 21 Sep 2024 12:43:38 +0800
Subject: [PATCH 1/8] =?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
---
cloud-faultmanage/.gitignore | 38 ++++
.../cloud-faultmanage-client/.gitignore | 38 ++++
.../cloud-faultmanage-client/pom.xml | 20 ++
.../src/main/java/com/muyu/Main.java | 14 ++
.../cloud-faultmanage-common/.gitignore | 38 ++++
.../cloud-faultmanage-common/pom.xml | 32 +++
.../faultmanage/domain/CarFaultRule.java | 214 ++++++++++++++++++
.../cloud/faultmanage/domain/FaultCode.java | 81 +++++++
.../cloud/faultmanage/domain/FaultLabel.java | 49 ++++
.../cloud/faultmanage/domain/FaultLog.java | 71 ++++++
.../cloud/faultmanage/domain/FaultReport.java | 26 +++
.../cloud/faultmanage/domain/FaultRule.java | 66 ++++++
.../cloud/faultmanage/domain/FaultType.java | 36 +++
.../cloud/faultmanage/domain/Vehicle.java | 26 +++
.../domain/req/FaultCodeAddReq.java | 61 +++++
.../domain/req/FaultCodeListReq.java | 41 ++++
.../domain/req/FaultCodeUpdReq.java | 71 ++++++
.../domain/req/FaultLogListReq.java | 57 +++++
.../domain/resp/FaultCodeListResp.java | 79 +++++++
.../domain/resp/FaultCodeTotalListResp.java | 39 ++++
.../domain/resp/FaultLogListResp.java | 82 +++++++
.../domain/resp/FaultLogTotalListResp.java | 36 +++
.../faultmanage/domain/vo/FaultCodeVO.java | 33 +++
.../cloud-faultmanage-remote/.gitignore | 38 ++++
.../cloud-faultmanage-remote/pom.xml | 20 ++
.../src/main/java/com/muyu/Main.java | 14 ++
.../cloud-faultmanage-server/.gitignore | 38 ++++
.../cloud-faultmanage-server/pom.xml | 159 +++++++++++++
.../MuYuFaultManageApplication.java | 18 ++
.../controller/FaultCodeController.java | 94 ++++++++
.../controller/FaultLabelController.java | 40 ++++
.../controller/FaultLogController.java | 39 ++++
.../controller/FaultRuleController.java | 42 ++++
.../controller/FaultTypeController.java | 39 ++++
.../faultmanage/mapper/FaultCodeMapper.java | 44 ++++
.../faultmanage/mapper/FaultLabelMapper.java | 17 ++
.../faultmanage/mapper/FaultLogMapper.java | 24 ++
.../faultmanage/mapper/FaultRuleMapper.java | 16 ++
.../faultmanage/mapper/FaultTypeMapper.java | 16 ++
.../faultmanage/service/FaultCodeService.java | 57 +++++
.../service/FaultDetectionStrategy.java | 22 ++
.../service/FaultLabelService.java | 23 ++
.../faultmanage/service/FaultLogService.java | 26 +++
.../faultmanage/service/FaultRuleService.java | 21 ++
.../faultmanage/service/FaultTypeService.java | 22 ++
.../service/impl/FaultCodeServiceImpl.java | 125 ++++++++++
.../service/impl/FaultLabelServiceImpl.java | 39 ++++
.../service/impl/FaultLogServiceImpl.java | 45 ++++
.../service/impl/FaultRuleServiceImpl.java | 63 ++++++
.../service/impl/FaultTypeServiceImpl.java | 36 +++
.../FuelVehicleCarFaultDetectionStrategy.java | 19 ++
...PureElectricCarFaultDetectionStrategy.java | 198 ++++++++++++++++
.../src/main/resources/banner.txt | 2 +
.../src/main/resources/logback/dev.xml | 74 ++++++
.../src/main/resources/logback/prod.xml | 81 +++++++
.../src/main/resources/logback/test.xml | 81 +++++++
.../mapper/faultcode/FaultCodeMapper.xml | 102 +++++++++
.../mapper/faultcode/FaultLogMapper.xml | 45 ++++
cloud-faultmanage/pom.xml | 27 +++
pom.xml | 1 +
60 files changed, 3015 insertions(+)
create mode 100644 cloud-faultmanage/.gitignore
create mode 100644 cloud-faultmanage/cloud-faultmanage-client/.gitignore
create mode 100644 cloud-faultmanage/cloud-faultmanage-client/pom.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-client/src/main/java/com/muyu/Main.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/.gitignore
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/pom.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLog.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultReport.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultRule.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultType.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeListReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultLogListReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeTotalListResp.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogListResp.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogTotalListResp.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-remote/.gitignore
create mode 100644 cloud-faultmanage/cloud-faultmanage-remote/pom.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-remote/src/main/java/com/muyu/Main.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/.gitignore
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/pom.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/MuYuFaultManageApplication.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLabelController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLogController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultTypeController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLabelMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLogMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultTypeMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultDetectionStrategy.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLabelService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLogService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultTypeService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLabelServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLogServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultTypeServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/banner.txt
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/dev.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/prod.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/test.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultLogMapper.xml
create mode 100644 cloud-faultmanage/pom.xml
diff --git a/cloud-faultmanage/.gitignore b/cloud-faultmanage/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/cloud-faultmanage/.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/cloud-faultmanage/cloud-faultmanage-client/.gitignore b/cloud-faultmanage/cloud-faultmanage-client/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-client/.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/cloud-faultmanage/cloud-faultmanage-client/pom.xml b/cloud-faultmanage/cloud-faultmanage-client/pom.xml
new file mode 100644
index 0000000..9f2f44f
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-client/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-faultmanage
+ 3.6.3
+
+
+ cloud-faultmanage-client
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-client/src/main/java/com/muyu/Main.java b/cloud-faultmanage/cloud-faultmanage-client/src/main/java/com/muyu/Main.java
new file mode 100644
index 0000000..3d25b01
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-client/src/main/java/com/muyu/Main.java
@@ -0,0 +1,14 @@
+package com.muyu;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu
+ * @Project:Default (Template) Project
+ * @name:${NAME}
+ * @Date:2024/9/17 23:27
+ */
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/.gitignore b/cloud-faultmanage/cloud-faultmanage-common/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-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/cloud-faultmanage/cloud-faultmanage-common/pom.xml b/cloud-faultmanage/cloud-faultmanage-common/pom.xml
new file mode 100644
index 0000000..eb72bc3
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/pom.xml
@@ -0,0 +1,32 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-faultmanage
+ 3.6.3
+
+
+ cloud-faultmanage-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ cloud-common-core
+
+
+ io.swagger.core.v3
+ swagger-annotations-jakarta
+ 2.2.8
+
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java
new file mode 100644
index 0000000..89a80c2
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java
@@ -0,0 +1,214 @@
+package com.muyu.cloud.faultmanage.domain;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.faultrule
+ * @Project:cloud-server-8
+ * @name:PureElectricCar
+ * @Date:2024/9/20 20:22
+ */
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class CarFaultRule {
+
+ /**
+ * VIN码VIN码VIN码
+ */
+ private String vin;
+ /**
+ * 时间戳时间戳时间戳
+ */
+ private long timestamp;
+ /**
+ * 经度经度经度
+ */
+ private double longitude;
+ /**
+ * 纬度纬度纬度
+ */
+ private double latitude;
+ /**
+ * 车速车速车速
+ */
+ private double speed;
+ /**
+ * 总里程总里程总里程
+ */
+ private long TM;
+ /**
+ * 总电压总电压总电压
+ */
+ private double TV;
+ /**
+ * 总电流总电流总电流
+ */
+ private double CC;
+ /**
+ * 绝缘电阻绝缘电阻绝缘电阻
+ */
+ private double IR;
+ /**
+ * 档位档位档位
+ */
+ private String GP;
+ /**
+ * 加速踏板行程值加速踏板行程值加速踏板行程值
+ */
+ private double APTV;
+ /**
+ * 制动踏板行程值制动踏板行程值制动踏板行程值
+ */
+ private double BPTV;
+ /**
+ * 燃料消耗率燃料消耗率燃料消耗率
+ */
+ private double SFC;
+ /**
+ * 电机控制器温度电机控制器温度电机控制器温度
+ */
+ private double MCT;
+ /**
+ * 电机转速电机转速电机转速
+ */
+ private int MS;
+ /**
+ * 电机转矩电机转矩电机转矩
+ */
+ private double MTO;
+ /**
+ * 电机温度电机温度电机温度
+ */
+ private double MTE;
+ /**
+ * 电机电压电机电压电机电压
+ */
+ private double MV;
+ /**
+ * 电机电流电机电流电机电流
+ */
+ private double MC;
+ /**
+ * 动力电池剩余电量SOC动力电池剩余电量SOC动力电池剩余电量SOC
+ */
+ private double PBRSOC;
+ /**
+ * 当前状态允许的最大反馈功率当前状态允许的最大反馈功率当前状态允许的最大反馈功率
+ */
+ private double MACSFP;
+ /**
+ * 当前状态允许最大放电功率当前状态允许最大放电功率当前状态允许最大放电功率
+ */
+ private double CSATMDP;
+ /**
+ * BMS自检计数器BMS自检计数器BMS自检计数器
+ */
+ private int BMS;
+ /**
+ * 动力电池充放电电流动力电池充放电电流动力电池充放电电流
+ */
+ private double CADC;
+ /**
+ * 动力电池负载端总电压V3动力电池负载端总电压V3动力电池负载端总电压V3
+ */
+ private double PBLETVV3;
+ /**
+ * 单次最大电压单次最大电压单次最大电压
+ */
+ private double SMV;
+ /**
+ * 单体电池最低电压单体电池最低电压单体电池最低电压
+ */
+ private double MVOAB;
+ /**
+ * 单体电池最高温度单体电池最高温度单体电池最高温度
+ */
+ private double MAXBT;
+ /**
+ * 单体电池最低温度单体电池最低温度单体电池最低温度
+ */
+ private double MINBT;
+ /**
+ * 动力电池可用容量动力电池可用容量动力电池可用容量
+ */
+ private double PBAC;
+ /**
+ * 车辆状态车辆状态车辆状态
+ */
+ private String VS;
+ /**
+ * 充电状态充电状态充电状态
+ */
+ private String CS;
+ /**
+ * 运行状态运行状态运行状态
+ */
+ private String RS;
+ /**
+ * SOCSOCSOC
+ */
+ private double SOC;
+ /**
+ * 可充电储能装置工作状态可充电储能装置工作状态可充电储能装置工作状态
+ */
+ private String RESDWC;
+ /**
+ * EASEASEAS
+ */
+ private String EAS;
+ /**
+ * PTCPTCPTC
+ */
+ private String PTC;
+ /**
+ * EPSEPSEPS
+ */
+ private String EPS;
+ /**
+ * ABSABSABS
+ */
+ private String ABS;
+ /**
+ * MCUMCUMCU
+ */
+ private String MCU;
+ /**
+ * 动力电池加热状态动力电池加热状态动力电池加热状态
+ */
+ private String PBHS;
+ /**
+ * 动力电池当前状态动力电池当前状态动力电池当前状态
+ */
+ private String PBCS;
+ /**
+ * 动力电池保温状态动力电池保温状态动力电池保温状态
+ */
+ private String PBIS;
+ /**
+ * DCDCDCDCDCDC
+ */
+ private String DCDC;
+ /**
+ * CHGCHGCHG
+ */
+ private String CHG;
+ /**
+ * 校验位校验位校验位
+ */
+ private byte CHB;
+ /**
+ * 截止位截止位截止位
+ */
+ private byte CUB;
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java
new file mode 100644
index 0000000..9703030
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java
@@ -0,0 +1,81 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeAddReq;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-faultmanage
+ * @name:FaultCode
+ * @Date:2024/9/17 14:55
+ */
+/**
+ * 故障码
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_faultcode",autoResultMap = true)
+public class FaultCode {
+
+ /**
+ *故障码Id
+ */
+ @TableId(value = "faultcode_id",type = IdType.AUTO)
+ private long faultcodeId;
+ /**
+ *故障名称Id
+ */
+ private long faultlabelId;
+ /**
+ *故障码
+ */
+ private String faultcodeNumber;
+ /**
+ *故障组
+ */
+ private String faultGroup;
+ /**
+ *故障位
+ */
+ private String faultBit;
+ /**
+ *故障值
+ */
+ private String faultValue;
+ /**
+ *是否警告
+ */
+ private Integer isWarning;
+
+
+
+ public static FaultCode addfaultcode(FaultCodeAddReq faultCodeAddReq){
+ return FaultCode.builder()
+ .faultcodeId(0)
+ .faultlabelId(faultCodeAddReq.getFaultlabelId())
+ .faultcodeNumber(faultCodeAddReq.getFaultcodeNumber())
+ .faultGroup(faultCodeAddReq.getFaultGroup())
+ .faultBit(faultCodeAddReq.getFaultBit())
+ .faultValue(faultCodeAddReq.getFaultValue())
+ .isWarning(faultCodeAddReq.getIsWarning())
+ .build();
+ }
+
+
+
+
+
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java
new file mode 100644
index 0000000..26b0eae
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java
@@ -0,0 +1,49 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-faultmanage
+ * @name:FaultLabel
+ * @Date:2024/9/17 15:06
+ */
+
+/**
+ * 故障标签
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_fault_label",autoResultMap = true)
+public class FaultLabel {
+ /**
+ *故障标签Id
+ */
+ private long faultlabelId;
+ /**
+ *故障名称
+ */
+ private String faultlabelName;
+ /**
+ *故障类型Id
+ */
+ private long faulttypeId;
+ /**
+ *故障状态
+ */
+ private Integer faultStatus;
+ /**
+ *故障描述
+ */
+ private String faultContent;
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLog.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLog.java
new file mode 100644
index 0000000..6a24003
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLog.java
@@ -0,0 +1,71 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:FaultLog
+ * @Date:2024/9/19 0:42
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_fault_log",autoResultMap = true)
+public class FaultLog {
+
+ /**
+ * 故障日志Id
+ */
+ @TableId(value = "log_id",type = IdType.AUTO)
+ private long logId;
+ /**
+ * 故障码Id
+ */
+ private long faultcodeId;
+ /**
+ * 车辆Id
+ */
+ private long carInformationId;
+ /**
+ * 车辆VIN
+ */
+ private String carVin;
+ /**
+ * 开始报警时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "开始报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date startwarningTime;
+ /**
+ * 结束报警时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "结束报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date endwarningTime;
+ /**
+ * 故障码
+ */
+ private String faultcodeNumber;
+ /**
+ * 车辆vin
+ */
+ private String carInformationVIN;
+
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultReport.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultReport.java
new file mode 100644
index 0000000..2658ead
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultReport.java
@@ -0,0 +1,26 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:FaultReport
+ * @Date:2024/9/20 20:36
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class FaultReport {
+
+ private String VehicleType;
+ private String FaultDescription;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultRule.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultRule.java
new file mode 100644
index 0000000..9e1c6c1
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultRule.java
@@ -0,0 +1,66 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:FaultRule
+ * @Date:2024/9/19 22:11
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_fault_condition",autoResultMap = true)
+public class FaultRule {
+ /**
+ * 触发条件Id
+ */
+ private long conditionId;
+
+ /**
+ * 故障码Id
+ */
+ private long faultcodeId;
+
+ /**
+ * 触发条件描述
+ */
+ private String conditionContent;
+
+ /**
+ * 单个参数的阈值
+ */
+ private BigDecimal singleThreshold;
+
+ /**
+ * 区间参数的阈值的最小值
+ */
+ private BigDecimal minThreshold;
+
+ /**
+ * 区间参数的阈值的最大值
+ */
+ private BigDecimal maxThreshold;
+
+ /**
+ * 触发条件是否激活
+ */
+ private Integer isActive;
+
+ /**
+ * 车辆数据值
+ */
+ private BigDecimal Threshold;
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultType.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultType.java
new file mode 100644
index 0000000..5207532
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultType.java
@@ -0,0 +1,36 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-faultmanage
+ * @name:FaultType
+ * @Date:2024/9/17 15:03
+ */
+/**
+ * 故障类型
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_fault_type",autoResultMap = true)
+public class FaultType {
+ /**
+ *故障类型Id
+ */
+ @TableId(value = "faulttype_id",type = IdType.AUTO)
+ private long faulttypeId;
+ /**
+ *故障类型名称
+ */
+ private String faulttypeName;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java
new file mode 100644
index 0000000..8020623
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java
@@ -0,0 +1,26 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:Vehicle
+ * @Date:2024/9/20 20:44
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class Vehicle {
+
+ private String type; // 可以是枚举或字符串
+ // 其他车辆相关的字段和方法
+
+ // getter 和 setter 省略
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java
new file mode 100644
index 0000000..84f6f89
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java
@@ -0,0 +1,61 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FaultCodeAddReq
+ * @Date:2024/9/18 10:12
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultCodeAddReq {
+
+ /**
+ * 故障标签Id
+ */
+ private long faultlabelId;
+ /**
+ * 故障名称
+ */
+ private String faultlabelName;
+ /**
+ * 故障码
+ */
+ private String faultcodeNumber;
+ /**
+ * 故障分类Id
+ */
+ private long faulttypeId;
+ /**
+ * 是否产生报警
+ */
+ private Integer isWarning;
+ /**
+ * 故障描述
+ */
+ private String faultContent;
+ /**
+ *故障组
+ */
+ private String faultGroup;
+ /**
+ *故障位
+ */
+ private String faultBit;
+ /**
+ *故障值
+ */
+ private String faultValue;
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeListReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeListReq.java
new file mode 100644
index 0000000..0a37c55
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeListReq.java
@@ -0,0 +1,41 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeListReq
+ * @Date:2024/9/17 15:55
+ */
+
+@Tag(name = "故障码列表请求对象")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultCodeListReq {
+ /**
+ *故障码
+ */
+ private String faultcodeNumber;
+ /**
+ *故障位
+ */
+ private String faultBit;
+ /**
+ * 页码,从1开始
+ */
+ private Integer pageNum=1;
+ /**
+ * 每页大小
+ */
+ private Integer pageSize=10;
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java
new file mode 100644
index 0000000..e626593
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java
@@ -0,0 +1,71 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FaultCodeAddReq
+ * @Date:2024/9/18 10:12
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultCodeUpdReq {
+
+ /**
+ *故障码Id
+ */
+ private long faultcodeId;
+ /**
+ * 故障标签Id
+ */
+ private long faultlabelId;
+ /**
+ * 故障名称
+ */
+ private String faultlabelName;
+ /**
+ * 故障码
+ */
+ private String faultcodeNumber;
+ /**
+ * 故障分类Id
+ */
+ private long faulttypeId;
+ /**
+ * 是否产生报警
+ */
+ private Integer isWarning;
+ /**
+ * 故障描述
+ */
+ private String faultContent;
+ /**
+ *故障状态
+ */
+ private Integer faultStatus;
+ /**
+ *故障组
+ */
+ private String faultGroup;
+ /**
+ *故障位
+ */
+ private String faultBit;
+ /**
+ *故障值
+ */
+ private String faultValue;
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultLogListReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultLogListReq.java
new file mode 100644
index 0000000..42bec54
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultLogListReq.java
@@ -0,0 +1,57 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FaultLogReq
+ * @Date:2024/9/20 9:38
+ */
+
+@Tag(name = "故障日志列表请求对象")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultLogListReq {
+
+ /**
+ * 故障码Id
+ */
+ private long faultcodeId;
+ /**
+ * 车辆VIN
+ */
+ private String carVin;
+ /**
+ * 开始报警时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "开始报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date startwarningTime;
+ /**
+ * 结束报警时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "结束报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date endwarningTime;
+
+ /**
+ * 页码,从1开始
+ */
+ private Integer pageNum=1;
+ /**
+ * 每页大小
+ */
+ private Integer pageSize=10;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java
new file mode 100644
index 0000000..c596a75
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java
@@ -0,0 +1,79 @@
+package com.muyu.cloud.faultmanage.domain.resp;
+
+
+import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.resp
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeListResp
+ * @Date:2024/9/17 15:41
+ */
+
+@Data
+@Builder
+@AllArgsConstructor
+@Tag(name="故障码信息响应对象",description = "故障码查询的响应结果")
+public class FaultCodeListResp {
+
+ /**
+ *故障码Id
+ */
+ private long faultcodeId;
+ /**
+ *故障名称Id
+ */
+ private long faultlabelId;
+ /**
+ *故障码
+ */
+ private String faultcodeNumber;
+ /**
+ *故障组
+ */
+ private String faultGroup;
+ /**
+ *故障位
+ */
+ private String faultBit;
+ /**
+ *故障值
+ */
+ private String faultValue;
+ /**
+ *是否警告
+ */
+ private Integer isWarning;
+ /**
+ *故障类型名称
+ */
+ private String faulttypeName;
+ /**
+ *故障名称
+ */
+ private String faultlabelName;
+
+ /**
+ * 数据库对象构建为返回结果对象
+ * @param faultCodeVO
+ * @return
+ */
+ public static FaultCodeListResp faultCodeListResp(FaultCodeVO faultCodeVO){
+ return FaultCodeListResp.builder()
+ .faultcodeId(faultCodeVO.getFaultcodeId())
+ .faultlabelId(faultCodeVO.getFaultlabelId())
+ .faultcodeNumber(faultCodeVO.getFaultcodeNumber())
+ .faultGroup(faultCodeVO.getFaultGroup())
+ .faultBit(faultCodeVO.getFaultBit())
+ .faultValue(faultCodeVO.getFaultValue())
+ .isWarning(faultCodeVO.getIsWarning())
+ .faulttypeName(faultCodeVO.getFaulttypeName())
+ .faultlabelName(faultCodeVO.getFaultlabelName())
+ .build();
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeTotalListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeTotalListResp.java
new file mode 100644
index 0000000..b728747
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeTotalListResp.java
@@ -0,0 +1,39 @@
+package com.muyu.cloud.faultmanage.domain.resp;
+
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.resp
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeTotalListResp
+ * @Date:2024/9/17 15:44
+ */
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+@Tag(name="数据总数列表",description = "数据和总数的响应")
+public class FaultCodeTotalListResp {
+
+
+ private List faultCodeListRespList;
+
+ private long total;
+
+ public static FaultCodeTotalListResp faultCodeTotalListResp(List faultCodeListRespList,long total){
+ FaultCodeTotalListResp faultCodeTotalListResp = new FaultCodeTotalListResp();
+ faultCodeTotalListResp.setFaultCodeListRespList(faultCodeListRespList);
+ faultCodeTotalListResp.setTotal(total);
+ return faultCodeTotalListResp;
+ }
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogListResp.java
new file mode 100644
index 0000000..767f087
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogListResp.java
@@ -0,0 +1,82 @@
+package com.muyu.cloud.faultmanage.domain.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.cloud.faultmanage.domain.FaultLog;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.resp
+ * @Project:cloud-server-8
+ * @name:FaultLogResp
+ * @Date:2024/9/20 9:43
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@Tag(name="故障日志信息响应对象",description = "故障日志的响应结果")
+public class FaultLogListResp {
+
+
+ /**
+ * 故障日志Id
+ */
+ private long logId;
+ /**
+ * 故障码Id
+ */
+ private long faultcodeId;
+ /**
+ * 车辆Id
+ */
+ private long carInformationId;
+ /**
+ * 车辆VIN
+ */
+ private String carVin;
+ /**
+ * 开始报警时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "开始报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date startwarningTime;
+ /**
+ * 结束报警时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "结束报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date endwarningTime;
+ /**
+ * 故障码
+ */
+ private String faultcodeNumber;
+ /**
+ * 车辆vin
+ */
+ private String carInformationVIN;
+
+
+ /**
+ * 数据库对象构建为返回结果对象
+ * @param faultLog
+ * @return
+ */
+ public static FaultLogListResp faultLogListResp(FaultLog faultLog){
+ return FaultLogListResp.builder()
+ .logId(faultLog.getLogId())
+ .faultcodeId(faultLog.getFaultcodeId())
+ .carInformationId(faultLog.getCarInformationId())
+ .carVin(faultLog.getCarVin())
+ .startwarningTime(faultLog.getStartwarningTime())
+ .endwarningTime(faultLog.getEndwarningTime())
+ .faultcodeNumber(faultLog.getFaultcodeNumber())
+ .carInformationVIN(faultLog.getCarInformationVIN())
+ .build();
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogTotalListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogTotalListResp.java
new file mode 100644
index 0000000..e35fd3e
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultLogTotalListResp.java
@@ -0,0 +1,36 @@
+package com.muyu.cloud.faultmanage.domain.resp;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.resp
+ * @Project:cloud-server-8
+ * @name:FaultLogTotalListResp
+ * @Date:2024/9/20 11:18
+ */
+
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+@Tag(name="故障日志数据总数列表",description = "数据和总数的响应")
+public class FaultLogTotalListResp {
+
+ private List faultLogListRespList;
+
+ private long total;
+
+ public static FaultLogTotalListResp faultLogTotalListResp(List faultLogListRespList,long total){
+ FaultLogTotalListResp faultLogTotalListResp = new FaultLogTotalListResp();
+ faultLogTotalListResp.setFaultLogListRespList(faultLogListRespList);
+ faultLogTotalListResp.setTotal(total);
+ return faultLogTotalListResp;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java
new file mode 100644
index 0000000..64789a0
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java
@@ -0,0 +1,33 @@
+package com.muyu.cloud.faultmanage.domain.vo;
+
+import com.muyu.cloud.faultmanage.domain.FaultCode;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.vo
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeVO
+ * @Date:2024/9/17 15:14
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class FaultCodeVO extends FaultCode {
+ /**
+ *故障类型名称
+ */
+ private String faulttypeName;
+ /**
+ *故障名称
+ */
+ private String faultlabelName;
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-remote/.gitignore b/cloud-faultmanage/cloud-faultmanage-remote/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-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/cloud-faultmanage/cloud-faultmanage-remote/pom.xml b/cloud-faultmanage/cloud-faultmanage-remote/pom.xml
new file mode 100644
index 0000000..18ed723
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-remote/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-faultmanage
+ 3.6.3
+
+
+ cloud-faultmanage-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-remote/src/main/java/com/muyu/Main.java b/cloud-faultmanage/cloud-faultmanage-remote/src/main/java/com/muyu/Main.java
new file mode 100644
index 0000000..b8e034d
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-remote/src/main/java/com/muyu/Main.java
@@ -0,0 +1,14 @@
+package com.muyu;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu
+ * @Project:Default (Template) Project
+ * @name:${NAME}
+ * @Date:2024/9/17 23:28
+ */
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/.gitignore b/cloud-faultmanage/cloud-faultmanage-server/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-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/cloud-faultmanage/cloud-faultmanage-server/pom.xml b/cloud-faultmanage/cloud-faultmanage-server/pom.xml
new file mode 100644
index 0000000..7e626b1
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/pom.xml
@@ -0,0 +1,159 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-faultmanage
+ 3.6.3
+
+
+ cloud-faultmanage-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ com.muyu
+ cloud-faultmanage-common
+ 3.6.3
+
+
+
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ 3.16.3
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ cloud-common-datasource
+
+
+
+
+ com.muyu
+ cloud-common-datascope
+
+
+
+
+
+ com.muyu
+ cloud-common-api-doc
+
+
+
+
+ com.muyu
+ cloud-common-xxl
+
+
+
+
+ com.muyu
+ cloud-common-rabbit
+
+
+
+
+
+
+
+
+ org.apache.httpcomponents
+ httpmime
+ 4.5.14
+
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.41
+
+
+
+
+
+ cloud-faultmanage
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.13.0
+
+
+ -parameters
+
+
+
+
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/MuYuFaultManageApplication.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/MuYuFaultManageApplication.java
new file mode 100644
index 0000000..ffa9190
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/MuYuFaultManageApplication.java
@@ -0,0 +1,18 @@
+package com.muyu.cloud.faultmanage;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage
+ * @Project:cloud-faultmanage
+ * @name:MuYuFaultManageApplication
+ * @Date:2024/9/16 21:16
+ */
+@SpringBootApplication
+public class MuYuFaultManageApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(MuYuFaultManageApplication.class, args);
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java
new file mode 100644
index 0000000..8b13a11
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java
@@ -0,0 +1,94 @@
+package com.muyu.cloud.faultmanage.controller;
+
+
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeListReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeUpdReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp;
+import com.muyu.cloud.faultmanage.service.FaultCodeService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeController
+ * @Date:2024/9/17 14:51
+ */
+
+/**
+ * 车辆故障码
+ */
+@RestController
+@RequestMapping("/faultcode")
+public class FaultCodeController {
+
+ @Autowired
+ private FaultCodeService faultCodeService;
+
+
+ /**
+ * 故障码展示(仅故障码单表)
+ * @param faultCodeListReq
+ * @return
+ */
+ @PostMapping(path = "/list")
+ @Operation(summary = "故障码列表(单)",description = "展示故障码信息")
+ public Result selectlist(@Validated @RequestBody FaultCodeListReq faultCodeListReq){
+ return Result.success(faultCodeService.selectlist(faultCodeListReq));
+ }
+
+
+ /**
+ * 故障码展示(故障码联查)
+ * @param faultCodeListReq
+ * @return
+ */
+ @PostMapping("/faultcodelist")
+ @Operation(summary = "故障码列表(多)",description = "展示故障码信息")
+ public Result selectfaultcodelist(@Validated @RequestBody FaultCodeListReq faultCodeListReq){
+ return Result.success(faultCodeService.selectfaultcodelist(faultCodeListReq));
+ }
+
+
+ /**
+ * 新增故障码
+ * @param faultCodeAddReq
+ * @return
+ */
+ @PostMapping("/faultcodeadd")
+ @Operation(summary = "新增故障码",description = "新增故障码信息")
+ public Result insertfaultcode(@Validated @RequestBody FaultCodeAddReq faultCodeAddReq){
+ faultCodeService.insert(faultCodeAddReq);
+ return Result.success(null,"新增成功");
+ }
+
+ /**
+ * 修改故障码
+ * @param faultCodeUpdReq
+ * @return
+ */
+ @PostMapping("/faultcodeupd")
+ @Operation(summary = "修改故障码",description = "修改故障码信息")
+ public Result updfaultcode(@Validated @RequestBody FaultCodeUpdReq faultCodeUpdReq){
+ faultCodeService.upd(faultCodeUpdReq);
+ return Result.success(null,"修改成功");
+ }
+
+ /**
+ * 删除故障码
+ * @param faultcodeId
+ * @return
+ */
+ @PostMapping("/faultcodedel/{faultcodeId}")
+ @Operation(summary = "删除故障码",description = "删除故障码信息")
+ public Result delfaultcode(@PathVariable("faultcodeId") Integer faultcodeId){
+ faultCodeService.del(faultcodeId);
+ return Result.success(null,"删除成功");
+ }
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLabelController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLabelController.java
new file mode 100644
index 0000000..c2a55c3
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLabelController.java
@@ -0,0 +1,40 @@
+package com.muyu.cloud.faultmanage.controller;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:FaultTypeController
+ * @Date:2024/9/18 20:58
+ */
+
+import com.muyu.cloud.faultmanage.service.FaultLabelService;
+import com.muyu.cloud.faultmanage.service.FaultTypeService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+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.RestController;
+
+/**
+ * 故障码分类
+ */
+@RestController
+@RequestMapping("/faultlabel")
+public class FaultLabelController {
+
+ @Autowired
+ private FaultLabelService faultLabelService;
+
+
+ /**
+ * 故障名称
+ * @return
+ */
+ @PostMapping("/list")
+ @Operation(summary = "故障名称查询",description = "故障名称信息")
+ public Result findfaulttype(){
+ return Result.success(faultLabelService.select());
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLogController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLogController.java
new file mode 100644
index 0000000..9fba3bd
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultLogController.java
@@ -0,0 +1,39 @@
+package com.muyu.cloud.faultmanage.controller;
+
+import com.muyu.cloud.faultmanage.domain.FaultLog;
+import com.muyu.cloud.faultmanage.domain.req.FaultLogListReq;
+import com.muyu.cloud.faultmanage.service.FaultLogService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:FaultLogController
+ * @Date:2024/9/20 9:30
+ */
+@RestController
+@RequestMapping("/faultlog")
+public class FaultLogController {
+ @Autowired
+ private FaultLogService faultLogService;
+
+
+ /**
+ * 故障日志列表
+ * @param faultLogListReq
+ * @return
+ */
+ @PostMapping("/list")
+ @Operation(summary = "故障日志列表",description = "故障日志列表展示")
+ public Result selectfaultlog(@Validated @RequestBody FaultLogListReq faultLogListReq){
+ return Result.success(faultLogService.selectfaultlog(faultLogListReq));
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
new file mode 100644
index 0000000..be9ffc6
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
@@ -0,0 +1,42 @@
+package com.muyu.cloud.faultmanage.controller;
+
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.service.FaultRuleService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:FaultRuleController
+ * @Date:2024/9/19 22:10
+ */
+
+/**
+ * 故障检测
+ */
+@RestController
+@RequestMapping("/faultrule")
+public class FaultRuleController {
+
+ @Autowired
+ private FaultRuleService faultRuleService;
+
+
+ /**
+ * 车辆故障检测
+ * @return
+ */
+ @PostMapping("/check-faults")
+ @Operation(summary = "检查故障",description = "进行故障检查")
+ public Result checkfaults(@Validated FaultRule faultRule){
+ String checkfaults = faultRuleService.checkfaults(faultRule);
+ return Result.success(checkfaults);
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultTypeController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultTypeController.java
new file mode 100644
index 0000000..09a5fd4
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultTypeController.java
@@ -0,0 +1,39 @@
+package com.muyu.cloud.faultmanage.controller;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:FaultTypeController
+ * @Date:2024/9/18 20:58
+ */
+
+import com.muyu.cloud.faultmanage.service.FaultTypeService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+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.RestController;
+
+/**
+ * 故障码分类
+ */
+@RestController
+@RequestMapping("/faulttype")
+public class FaultTypeController {
+
+ @Autowired
+ private FaultTypeService faultTypeService;
+
+
+ /**
+ * 故障码分类查询
+ * @return
+ */
+ @PostMapping("/list")
+ @Operation(summary = "故障码分类查询",description = "故障码分类信息")
+ public Result findfaulttype(){
+ return Result.success(faultTypeService.select());
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java
new file mode 100644
index 0000000..8b1ec40
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java
@@ -0,0 +1,44 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.FaultCode;
+import com.muyu.cloud.faultmanage.domain.FaultLabel;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeListReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeUpdReq;
+import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeMapper
+ * @Date:2024/9/17 14:52
+ */
+@Mapper
+public interface FaultCodeMapper extends BaseMapper {
+
+ List selectfaultcodelist(FaultCodeListReq faultCodeListReq);
+
+
+
+ //新增故障码
+ FaultLabel selectfaultName(@Param("faultlabelName") String faultlabelName);
+ FaultCode selectfaultCode(@Param("faultcodeNumber") String faultcodeNumber);
+ Integer insertfaultlabel(FaultCodeAddReq faultCodeAddReq);
+ Integer insertfaultcode(FaultCodeAddReq faultCodeAddReq);
+
+ //修改故障码
+ Integer updfaultlabel(FaultCodeUpdReq faultCodeUpdReq);
+ Integer updfaultcode(FaultCodeUpdReq faultCodeUpdReq);
+
+
+ //删除故障码
+ FaultCode findByfaultcodeId(@Param("faultcodeId") Integer faultcodeId);
+ Integer delfaultcode(@Param("faultcodeId") Integer faultcodeId);
+ Integer delfaultlabel(@Param("faultlabelId") long faultlabelId);
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLabelMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLabelMapper.java
new file mode 100644
index 0000000..b7ff314
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLabelMapper.java
@@ -0,0 +1,17 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.FaultLabel;
+import com.muyu.cloud.faultmanage.domain.FaultType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FaultTypeMapper
+ * @Date:2024/9/18 20:59
+ */
+@Mapper
+public interface FaultLabelMapper extends BaseMapper {
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLogMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLogMapper.java
new file mode 100644
index 0000000..33f731a
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultLogMapper.java
@@ -0,0 +1,24 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.FaultLog;
+import com.muyu.cloud.faultmanage.domain.req.FaultLogListReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultLogListResp;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FaultLogMapper
+ * @Date:2024/9/20 9:33
+ */
+@Mapper
+public interface FaultLogMapper extends BaseMapper {
+
+
+ List selectfaultLogMapper(FaultLogListReq faultLogListReq);
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java
new file mode 100644
index 0000000..88a5b7b
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java
@@ -0,0 +1,16 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FaultRuleMapper
+ * @Date:2024/9/19 22:11
+ */
+@Mapper
+public interface FaultRuleMapper extends BaseMapper {
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultTypeMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultTypeMapper.java
new file mode 100644
index 0000000..6b965ce
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultTypeMapper.java
@@ -0,0 +1,16 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.FaultType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FaultTypeMapper
+ * @Date:2024/9/18 20:59
+ */
+@Mapper
+public interface FaultTypeMapper extends BaseMapper {
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java
new file mode 100644
index 0000000..267dc69
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java
@@ -0,0 +1,57 @@
+package com.muyu.cloud.faultmanage.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeListReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeUpdReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp;
+import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO;
+
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeService
+ * @Date:2024/9/17 14:53
+ */
+public interface FaultCodeService extends IService {
+
+ /**
+ * 故障码展示
+ * @param faultCodeListReq
+ * @return
+ */
+ FaultCodeTotalListResp selectlist(FaultCodeListReq faultCodeListReq);
+
+ /**
+ * 故障码展示(故障码联查)
+ * @param faultCodeListReq
+ * @return
+ */
+ FaultCodeTotalListResp selectfaultcodelist(FaultCodeListReq faultCodeListReq);
+
+ /**
+ * 新增故障码
+ * @param faultCodeAddReq
+ * @return
+ */
+ void insert(FaultCodeAddReq faultCodeAddReq);
+
+
+ /**
+ * 修改故障码
+ * @param faultCodeUpdReq
+ * @return
+ */
+ void upd(FaultCodeUpdReq faultCodeUpdReq);
+
+
+ /**
+ * 删除故障码
+ * @param faultcodeId
+ * @return
+ */
+ void del(Integer faultcodeId);
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultDetectionStrategy.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultDetectionStrategy.java
new file mode 100644
index 0000000..d629283
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultDetectionStrategy.java
@@ -0,0 +1,22 @@
+package com.muyu.cloud.faultmanage.service;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-server-8
+ * @name:FaultDetectionStrategy
+ * @Date:2024/9/20 19:40
+ */
+
+import com.muyu.cloud.faultmanage.domain.CarFaultRule;
+import com.muyu.cloud.faultmanage.domain.FaultReport;
+import com.muyu.cloud.faultmanage.domain.Vehicle;
+
+/**
+ * 故障检测策略的接口
+ */
+public interface FaultDetectionStrategy {
+
+ FaultReport detectFaults(CarFaultRule carFaultRule);
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLabelService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLabelService.java
new file mode 100644
index 0000000..eab9fe2
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLabelService.java
@@ -0,0 +1,23 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.FaultLabel;
+import com.muyu.cloud.faultmanage.domain.FaultType;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-server-8
+ * @name:FaultTypeService
+ * @Date:2024/9/18 20:59
+ */
+public interface FaultLabelService extends IService {
+ /**
+ * 故障名称
+ * @return
+ */
+ List select();
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLogService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLogService.java
new file mode 100644
index 0000000..6f87645
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultLogService.java
@@ -0,0 +1,26 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.FaultLog;
+import com.muyu.cloud.faultmanage.domain.req.FaultLogListReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultLogListResp;
+import com.muyu.cloud.faultmanage.domain.resp.FaultLogTotalListResp;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-server-8
+ * @name:FaultLogService
+ * @Date:2024/9/20 9:34
+ */
+public interface FaultLogService extends IService {
+
+ /**
+ * 故障日志列表
+ * @param faultLogListReq
+ * @return
+ */
+ FaultLogTotalListResp selectfaultlog(FaultLogListReq faultLogListReq);
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
new file mode 100644
index 0000000..d419d86
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
@@ -0,0 +1,21 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FaultRuleService
+ * @Date:2024/9/19 22:10
+ */
+public interface FaultRuleService extends IService {
+
+ /**
+ * 车辆故障检测
+ * @return
+ */
+ String checkfaults(FaultRule faultRule);
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultTypeService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultTypeService.java
new file mode 100644
index 0000000..1b41530
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultTypeService.java
@@ -0,0 +1,22 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.FaultType;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-server-8
+ * @name:FaultTypeService
+ * @Date:2024/9/18 20:59
+ */
+public interface FaultTypeService extends IService {
+
+ /**
+ * 故障码分类查询
+ * @return
+ */
+ List select();
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java
new file mode 100644
index 0000000..733233a
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java
@@ -0,0 +1,125 @@
+package com.muyu.cloud.faultmanage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.muyu.cloud.faultmanage.domain.FaultCode;
+import com.muyu.cloud.faultmanage.domain.FaultLabel;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeListReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultCodeUpdReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultCodeListResp;
+import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp;
+import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO;
+import com.muyu.cloud.faultmanage.mapper.FaultCodeMapper;
+import com.muyu.cloud.faultmanage.service.FaultCodeService;
+import com.muyu.common.core.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-faultmanage
+ * @name:FaultCodeServiceImpl
+ * @Date:2024/9/17 14:53
+ */
+@Service
+public class FaultCodeServiceImpl extends ServiceImpl implements FaultCodeService {
+ @Autowired
+ private FaultCodeMapper faultCodeMapper;
+
+ /**
+ * 故障码展示
+ * @param faultCodeListReq
+ * @return
+ */
+ @Override
+ public FaultCodeTotalListResp selectlist(FaultCodeListReq faultCodeListReq) {
+ Integer pageNum = faultCodeListReq.getPageNum();
+ Integer pageSize = faultCodeListReq.getPageSize();
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(StringUtils.isNotEmpty(faultCodeListReq.getFaultcodeNumber()),
+ FaultCodeVO::getFaultcodeNumber,faultCodeListReq.getFaultcodeNumber());
+ queryWrapper.eq(StringUtils.isNotEmpty(faultCodeListReq.getFaultBit()),
+ FaultCodeVO::getFaultBit,faultCodeListReq.getFaultBit());
+ long count = this.count(queryWrapper);
+ queryWrapper.last("LIMIT "+ ((pageNum-1)*pageSize)+", "+pageSize);
+ List faultCodeVOList = this.list(queryWrapper);
+ List faultCodeListRespList = faultCodeVOList.stream()
+ .map(FaultCodeListResp::faultCodeListResp)
+ .toList();
+ return FaultCodeTotalListResp.faultCodeTotalListResp(faultCodeListRespList,count);
+ }
+
+
+ /**
+ * 故障码展示(故障码联查)
+ * @param faultCodeListReq
+ * @return
+ */
+ @Override
+ public FaultCodeTotalListResp selectfaultcodelist(FaultCodeListReq faultCodeListReq) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ long count = this.count(queryWrapper);
+ int offset = (faultCodeListReq.getPageNum() - 1) * faultCodeListReq.getPageSize();
+ faultCodeListReq.setPageNum(offset);
+ List selectfaultcodelist = faultCodeMapper.selectfaultcodelist(faultCodeListReq);
+ List faultCodeListRespList = selectfaultcodelist.stream()
+ .map(FaultCodeListResp::faultCodeListResp)
+ .toList();
+ return FaultCodeTotalListResp.faultCodeTotalListResp(faultCodeListRespList,count);
+ }
+
+ /**
+ * 新增故障码
+ * @param faultCodeAddReq
+ * @return
+ */
+ @Override
+ public void insert(FaultCodeAddReq faultCodeAddReq) {
+ //判断故障名称或故障码是否存在,若都不存在先添加故障名称表,在添加故障码表
+ //1.判断故障名称是否存在
+ String faultlabelName = faultCodeAddReq.getFaultlabelName();
+ FaultLabel faultLabel = faultCodeMapper.selectfaultName(faultlabelName);
+ //2.判断故障码是否存在
+ String faultcodeNumber = faultCodeAddReq.getFaultcodeNumber();
+ FaultCode faultCode = faultCodeMapper.selectfaultCode(faultcodeNumber);
+ if (faultLabel==null && faultCode==null){
+ faultCodeMapper.insertfaultlabel(faultCodeAddReq);
+ faultCodeMapper.insertfaultcode(faultCodeAddReq);
+ }
+ }
+
+
+ /**
+ * 修改故障码
+ * @param faultCodeUpdReq
+ * @return
+ */
+ @Override
+ public void upd(FaultCodeUpdReq faultCodeUpdReq) {
+ //修改故障名称表信息和故障码表信息
+// faultCodeMapper.updfaultlabel(faultCodeUpdReq);
+ faultCodeMapper.updfaultcode(faultCodeUpdReq);
+ }
+
+
+ /**
+ * 删除故障码
+ * @param faultcodeId
+ * @return
+ */
+ @Override
+ public void del(Integer faultcodeId) {
+ //查找故障码信息对应的故障名称
+ FaultCode faultCode = faultCodeMapper.findByfaultcodeId(faultcodeId);
+ //删除故障码表信息
+ faultCodeMapper.delfaultcode(faultcodeId);
+ //删除对应的故障名称表信息
+ faultCodeMapper.delfaultlabel(faultCode.getFaultlabelId());
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLabelServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLabelServiceImpl.java
new file mode 100644
index 0000000..40f2fed
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLabelServiceImpl.java
@@ -0,0 +1,39 @@
+package com.muyu.cloud.faultmanage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.cloud.faultmanage.domain.FaultLabel;
+import com.muyu.cloud.faultmanage.domain.FaultType;
+import com.muyu.cloud.faultmanage.mapper.FaultLabelMapper;
+import com.muyu.cloud.faultmanage.mapper.FaultTypeMapper;
+import com.muyu.cloud.faultmanage.service.FaultLabelService;
+import com.muyu.cloud.faultmanage.service.FaultTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FaultTypeServiceImpl
+ * @Date:2024/9/18 21:00
+ */
+@Service
+public class FaultLabelServiceImpl extends ServiceImpl implements FaultLabelService {
+ @Autowired
+ private FaultLabelMapper faultLabelMapper;
+
+
+ /**
+ * 故障信息查询
+ * @return
+ */
+ @Override
+ public List select() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ List list = this.list(queryWrapper);
+ return list;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLogServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLogServiceImpl.java
new file mode 100644
index 0000000..b996d74
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultLogServiceImpl.java
@@ -0,0 +1,45 @@
+package com.muyu.cloud.faultmanage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.cloud.faultmanage.domain.FaultLog;
+import com.muyu.cloud.faultmanage.domain.req.FaultLogListReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultLogListResp;
+import com.muyu.cloud.faultmanage.domain.resp.FaultLogTotalListResp;
+import com.muyu.cloud.faultmanage.mapper.FaultLogMapper;
+import com.muyu.cloud.faultmanage.service.FaultLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FaultLogServiceImpl
+ * @Date:2024/9/20 9:34
+ */
+@Service
+public class FaultLogServiceImpl extends ServiceImpl implements FaultLogService {
+ @Autowired
+ private FaultLogMapper faultLogMapper;
+
+ /**
+ * 故障日志列表
+ * @param faultLogListReq
+ * @return
+ */
+ @Override
+ public FaultLogTotalListResp selectfaultlog(FaultLogListReq faultLogListReq) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ long count = this.count(queryWrapper);
+ int offset = (faultLogListReq.getPageNum() - 1) * faultLogListReq.getPageSize();
+ faultLogListReq.setPageNum(offset);
+ List faultLogListResps = faultLogMapper.selectfaultLogMapper(faultLogListReq);
+ List faultLogListRespList = faultLogListResps.stream()
+ .map(FaultLogListResp::faultLogListResp)
+ .toList();
+ return FaultLogTotalListResp.faultLogTotalListResp(faultLogListRespList,count);
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
new file mode 100644
index 0000000..0f8321a
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -0,0 +1,63 @@
+package com.muyu.cloud.faultmanage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.mapper.FaultRuleMapper;
+import com.muyu.cloud.faultmanage.service.FaultRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FaultRuleServiceImpl
+ * @Date:2024/9/19 22:10
+ */
+
+@Service
+public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService {
+
+ @Autowired
+ private FaultRuleMapper faultRuleMapper;
+
+ /**
+ * 车辆故障检测
+ * @return
+ */
+ @Override
+ public String checkfaults(FaultRule faultRule) {
+ //获取触发条件
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (Long.valueOf(faultRule.getFaultcodeId())!=null && faultRule.getFaultcodeId()!=0){
+ queryWrapper.eq(FaultRule::getFaultcodeId, faultRule.getFaultcodeId());
+ }
+ List faultRuleList = this.list(queryWrapper);
+ for (FaultRule rule : faultRuleList) {
+ //单个值比较
+ if (faultRule.getSingleThreshold()!=null && faultRule.getMaxThreshold()==null && faultRule.getMinThreshold()==null){
+ //大于阈值
+ if (faultRule.getConditionContent().contains(">") || faultRule.getConditionContent().contains("大于")){
+ if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())>0){
+ return "数据超过阈值,出现异常";
+ }
+ }
+ //小于阈值
+ if (faultRule.getConditionContent().contains("<") || faultRule.getConditionContent().contains("小于")){
+ if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())<0){
+ return "数据过低,出现异常";
+ }
+ }
+ }else { //区间值比较
+ if (faultRule.getThreshold().compareTo(rule.getMinThreshold())<0 || faultRule.getThreshold().compareTo(rule.getMaxThreshold())>0){
+ return "数据不在可控范围内,出现异常";
+ }
+ }
+ }
+ return "判断出现异常";
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultTypeServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultTypeServiceImpl.java
new file mode 100644
index 0000000..8bd58ec
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultTypeServiceImpl.java
@@ -0,0 +1,36 @@
+package com.muyu.cloud.faultmanage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.cloud.faultmanage.domain.FaultType;
+import com.muyu.cloud.faultmanage.mapper.FaultTypeMapper;
+import com.muyu.cloud.faultmanage.service.FaultTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FaultTypeServiceImpl
+ * @Date:2024/9/18 21:00
+ */
+@Service
+public class FaultTypeServiceImpl extends ServiceImpl implements FaultTypeService {
+ @Autowired
+ private FaultTypeMapper faultTypeMapper;
+
+
+ /**
+ * 故障码分类查询
+ * @return
+ */
+ @Override
+ public List select() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ List list = this.list(queryWrapper);
+ return list;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java
new file mode 100644
index 0000000..245b5d7
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java
@@ -0,0 +1,19 @@
+package com.muyu.cloud.faultmanage.service.impl.faultDetectionStrategy;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl.faultDetectionStrategy
+ * @Project:cloud-server-8
+ * @name:FuelVehicleCarFaultDetectionStrategy
+ * @Date:2024/9/20 20:00
+ */
+
+
+/**
+ * 针对燃油车的故障检测逻辑
+ */
+@Service(value = "FuelVehicleCar")
+public class FuelVehicleCarFaultDetectionStrategy {
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java
new file mode 100644
index 0000000..ec30549
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java
@@ -0,0 +1,198 @@
+package com.muyu.cloud.faultmanage.service.impl.faultDetectionStrategy;
+
+import com.muyu.cloud.faultmanage.domain.CarFaultRule;
+import com.muyu.cloud.faultmanage.domain.FaultReport;
+import com.muyu.cloud.faultmanage.service.FaultDetectionStrategy;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl.faultDetectionStrategy
+ * @Project:cloud-server-8
+ * @name:CarFaultDetectionStrategy
+ * @Date:2024/9/20 19:44
+ */
+
+/**
+ * 针对纯电车的故障检测逻辑
+ */
+@Service(value = "PureElectricCar")
+public class PureElectricCarFaultDetectionStrategy implements FaultDetectionStrategy {
+
+
+
+ @Override
+ public FaultReport detectFaults(CarFaultRule carFaultRule) {
+
+
+ //检测车速是否处于正常范围
+ if (carFaultRule.getSpeed()>200 || carFaultRule.getSpeed()<0){
+ return new FaultReport("纯电车","车速不在正常范围内,请注意");
+ }
+ //检测总里程数是否超过正常数
+ if (carFaultRule.getTM()>5000000){
+ return new FaultReport("纯电车","总里程数已超标,请注意");
+ }
+ //检测总电压是否正常
+ if (carFaultRule.getTV()>650){
+ return new FaultReport("纯电车","总电压过高,请注意");
+ }
+ //检测电流是否超标
+ if (carFaultRule.getCC()>50){
+ return new FaultReport("纯电车","电流过高,请注意");
+ }
+ //检测绝缘电阻
+ if (carFaultRule.getIR()>100000){
+ return new FaultReport("纯电车","绝缘电阻过高,请注意");
+ }
+// //检测加速踏板行程值
+// if (carFaultRule.getAPTV()){
+//
+// }
+// //检测制动踏板行程值
+// if (carFaultRule.getBPTV()){
+//
+// }
+// //检测燃料消耗率
+// if (carFaultRule.getSFC()){
+//
+// }
+// //检测电机控制器温度
+// if (carFaultRule.getMCT()){
+//
+// }
+// //检测电机转速
+// if (carFaultRule.getMS()){
+//
+// }
+// //检测电机转矩
+// if (carFaultRule.getMTO()){
+//
+// }
+// //检测电机温度
+// if (carFaultRule.getMTE()){
+//
+// }
+// //检测电机电压
+// if (carFaultRule.getMV()){
+//
+// }
+// //检测电机电流
+// if (carFaultRule.getMC()){
+//
+// }
+// //检测动力电池剩余电量SOC
+// if (carFaultRule.getPBRSOC()){
+//
+// }
+// //检测当前状态允许的最大反馈功率
+// if (carFaultRule.getMACSFP()){
+//
+// }
+// //检测当前状态允许最大放电功率
+// if (carFaultRule.getCSATMDP()) {
+//
+// }
+// //检测BMS自检计数器
+// if (carFaultRule.getBMS()) {
+//
+// }
+// //检测动力电池充放电电流
+// if (carFaultRule.getCADC()) {
+//
+// }
+// //检测动力电池负载端总电压V3
+// if (carFaultRule.getPBLETVV3()) {
+//
+// }
+// //检测单次最大电压
+// if (carFaultRule.getSMV()) {
+//
+// }
+// //检测单体电池最低电压
+// if (carFaultRule.getMVOAB()) {
+//
+// }
+// //检测单体电池最高温度
+// if (carFaultRule.getMAXBT()) {
+//
+// }
+// //检测单体电池最低温度
+// if (carFaultRule.getMINBT()) {
+//
+// }
+// //检测动力电池可用容量
+// if (carFaultRule.getPBAC()) {
+//
+// }
+// //检测车辆状态
+// if (carFaultRule.getVS()) {
+//
+// }
+// //检测充电状态
+// if (carFaultRule.getCS()) {
+//
+// }
+// //检测运行状态
+// if (carFaultRule.getRS()) {
+//
+// }
+// //检测SOC
+// if (carFaultRule.getSOC()) {
+//
+// }
+// //检测可充电储能装置工作状态
+// if (carFaultRule.getRESDWC()) {
+//
+// }
+// //检测驱动电机状态
+// if (carFaultRule.getEAS()) {
+//
+// }
+// //检测定位是否有效
+// if (carFaultRule.getPTC()) {
+//
+// }
+// //检测EAS
+// if (carFaultRule.getEPS()) {
+//
+// }
+// //检测PTC
+// if (carFaultRule.getABS()) {
+//
+// }
+// //检测EPS
+// if (carFaultRule.getMCU()) {
+//
+// }
+// //检测ABS
+// if (carFaultRule.getPBHS()) {
+//
+// }
+// //检测MCU
+// if (carFaultRule.getPBCS()) {
+//
+// }
+// //检测动力电池加热状态
+// if (carFaultRule.getPBIS()) {
+//
+// }
+// //检测动力电池当前状态
+// if (carFaultRule.getDCDC()) {
+//
+// }
+// //检测动力电池保温状态
+// if (carFaultRule.getCHG()) {
+//
+// }
+// //检测DCDC
+// if (carFaultRule.getCHB()) {
+//
+// }
+// //检测CHG
+// if (carFaultRule.getCUB()) {
+//
+// }
+ return null;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/banner.txt b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/dev.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/dev.xml
new file mode 100644
index 0000000..1b52238
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/dev.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/prod.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/prod.xml
new file mode 100644
index 0000000..89a567d
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/prod.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/test.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/test.xml
new file mode 100644
index 0000000..89a567d
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/logback/test.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml
new file mode 100644
index 0000000..28cafbd
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT
+ car_faultcode.faultcode_id,
+ car_fault_label.faulttype_id,
+ car_fault_label.faultlabel_id,
+ car_faultcode.faultcode_number,
+ car_fault_type.faulttype_name,
+ car_faultcode.fault_group,
+ car_faultcode.fault_bit,
+ car_faultcode.fault_value,
+ car_fault_label.faultlabel_name,
+ car_faultcode.is_warning
+ FROM
+ car_faultcode
+ LEFT JOIN car_fault_label ON car_faultcode.faultlabel_id = car_fault_label.faultlabel_id
+ LEFT JOIN car_fault_type ON car_fault_label.faulttype_id = car_fault_type.faulttype_id
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO `eight`.`car_fault_label`
+ (`faultlabel_id`, `faultlabel_name`, `faulttype_id`, `fault_status`, `fault_content`) VALUES
+ (0, #{faultlabelName}, #{faulttypeId}, 0, #{faultContent});
+
+
+ INSERT INTO `eight`.`car_faultcode`
+ (`faultcode_id`, `faultlabel_id`, `faultcode_number`, `fault_group`, `fault_bit`, `fault_value`, `is_warning`) VALUES
+ (0, #{faultlabelId}, #{faultcodeNumber}, #{faultGroup}, #{faultBit}, #{faultValue}, #{isWarning});
+
+
+
+
+
+ UPDATE `eight`.`car_fault_label`
+ SET `faultlabel_name` = #{faultlabelName},
+ `faulttype_id` = #{faulttypeId},
+ `fault_status` = #{faultStatus},
+ `fault_content` = #{faultContent}
+ WHERE `faultlabel_id`= #{faultlabelId};
+
+
+ UPDATE `eight`.`car_faultcode`
+ SET `faultlabel_id` = #{faultlabelId},
+ `faultcode_number` = #{faultcodeNumber},
+ `fault_group` = #{faultGroup},
+ `fault_bit` = #{faultBit},
+ `fault_value` = #{faultValue},
+ `is_warning` = #{isWarning}
+ WHERE `faultcode_id` = #{faultcodeId};
+
+
+
+
+
+ delete from car_faultcode where faultcode_id=#{faultcodeId}
+
+
+ delete from car_fault_label where faultlabel_id=#{faultlabelId}
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultLogMapper.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultLogMapper.xml
new file mode 100644
index 0000000..f637de2
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultLogMapper.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT
+ car_fault_log.*,
+ car_faultcode.faultcode_number,
+ car_information.car_information_VIN
+ FROM
+ car_fault_log
+ LEFT JOIN car_faultcode ON car_fault_log.faultcode_id = car_faultcode.faultcode_id
+ LEFT JOIN car_information ON car_fault_log.car_information_id = car_information.car_information_id
+
+
+
+
+
diff --git a/cloud-faultmanage/pom.xml b/cloud-faultmanage/pom.xml
new file mode 100644
index 0000000..d4d1734
--- /dev/null
+++ b/cloud-faultmanage/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-server
+ 3.6.3
+
+
+ cloud-faultmanage
+ pom
+
+ cloud-faultmanage-server
+ cloud-faultmanage-client
+ cloud-faultmanage-remote
+ cloud-faultmanage-common
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/pom.xml b/pom.xml
index b30f0df..eca4fe7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -275,6 +275,7 @@
cloud-visual
cloud-modules
cloud-common
+ cloud-faultmanage
pom
From 5edc2a8c05d4233915ba3030f630def64a11eb5d Mon Sep 17 00:00:00 2001
From: WeiRan <2392355487@qq.com>
Date: Sun, 22 Sep 2024 22:22:48 +0800
Subject: [PATCH 2/8] =?UTF-8?q?feat():=E6=95=85=E9=9A=9C=E8=A7=84=E5=88=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cloud/faultmanage/domain/CarType.java | 36 +++++
.../cloud/faultmanage/domain/FaultCode.java | 4 +-
.../faultmanage/domain/FaultCondition.java | 88 +++++++++++++
.../cloud/faultmanage/domain/FaultLabel.java | 25 ++--
.../faultmanage/domain/message/Message.java | 68 ++++++++++
.../domain/message/MessageReq.java | 29 +++++
.../domain/message/MessageSendReq.java | 48 +++++++
.../domain/req/FaultCodeAddReq.java | 15 ++-
.../domain/req/FaultCodeUpdReq.java | 14 +-
.../domain/req/FaultConditionAddReq.java | 44 +++++++
.../domain/req/FaultConditionListReq.java | 42 ++++++
.../domain/req/FaultConditionUpdReq.java | 44 +++++++
.../domain/resp/FaultCodeListResp.java | 20 ++-
.../domain/resp/FaultConditionListResp.java | 75 +++++++++++
.../resp/FaultConditionTotalListResp.java | 36 +++++
.../faultmanage/domain/vo/FaultCodeVO.java | 12 +-
.../controller/CarTypeController.java | 35 +++++
.../controller/FaultCodeController.java | 8 +-
.../controller/FaultConditionController.java | 88 +++++++++++++
.../FaultDetectionStrategyController.java | 18 +++
.../controller/FaultRuleController.java | 5 +
.../controller/MessageController.java | 74 +++++++++++
.../faultmanage/mapper/CarTypeMapper.java | 16 +++
.../faultmanage/mapper/FaultCodeMapper.java | 9 +-
.../mapper/FaultConditionMapper.java | 26 ++++
.../faultmanage/mapper/MessageMapper.java | 22 ++++
.../faultmanage/service/CarTypeService.java | 22 ++++
.../faultmanage/service/FaultCodeService.java | 4 +-
.../service/FaultConditionService.java | 35 +++++
.../faultmanage/service/FaultRuleService.java | 4 +
.../faultmanage/service/MessageService.java | 49 +++++++
.../service/impl/CarTypeServiceImpl.java | 36 +++++
.../service/impl/FaultCodeServiceImpl.java | 15 +--
.../impl/FaultConditionServiceImpl.java | 70 ++++++++++
.../service/impl/FaultRuleServiceImpl.java | 10 ++
.../service/impl/MessageServiceImpl.java | 123 ++++++++++++++++++
.../mapper/faultcode/FaultCodeMapper.xml | 46 +++----
.../mapper/faultcode/FaultConditionMapper.xml | 56 ++++++++
.../mapper/faultcode/MessageMapper.xml | 16 +++
39 files changed, 1318 insertions(+), 69 deletions(-)
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarType.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCondition.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/Message.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageSendReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionAddReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionListReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionUpdReq.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionListResp.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionTotalListResp.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/CarTypeController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultDetectionStrategyController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/CarTypeMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultConditionMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/MessageMapper.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/CarTypeService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultConditionService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/CarTypeServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultConditionServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/MessageServiceImpl.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultConditionMapper.xml
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/MessageMapper.xml
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarType.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarType.java
new file mode 100644
index 0000000..38ef7f5
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarType.java
@@ -0,0 +1,36 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:CarType
+ * @Date:2024/9/21 19:01
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_type",autoResultMap = true)
+public class CarType {
+
+ /**
+ * 车辆类型ID
+ */
+ private long carTypeId;
+ /**
+ * 车辆类型名
+ */
+ private String carTypeName;
+ /**
+ * 车辆规则外键ID
+ */
+ private long carTypeRules;
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java
index 9703030..44a2d9b 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCode.java
@@ -35,7 +35,7 @@ public class FaultCode {
/**
*故障名称Id
*/
- private long faultlabelId;
+ private long messageTypeId;
/**
*故障码
*/
@@ -62,7 +62,7 @@ public class FaultCode {
public static FaultCode addfaultcode(FaultCodeAddReq faultCodeAddReq){
return FaultCode.builder()
.faultcodeId(0)
- .faultlabelId(faultCodeAddReq.getFaultlabelId())
+ .messageTypeId(faultCodeAddReq.getMessageTypeId())
.faultcodeNumber(faultCodeAddReq.getFaultcodeNumber())
.faultGroup(faultCodeAddReq.getFaultGroup())
.faultBit(faultCodeAddReq.getFaultBit())
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCondition.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCondition.java
new file mode 100644
index 0000000..a379e9f
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultCondition.java
@@ -0,0 +1,88 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionUpdReq;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.math.BigDecimal;
+import java.util.function.Supplier;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:FaultCondition
+ * @Date:2024/9/21 19:51
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_fault_condition",autoResultMap = true)
+public class FaultCondition {
+ /**
+ * 故障规则表Id
+ */
+ @TableId(value = "carcondition_id",type = IdType.AUTO)
+ private long carconditionId;
+ /**
+ * 车辆类型Id
+ */
+ private long carTypeId;
+ /**
+ *故障名称Id
+ */
+ private long messageTypeId;
+ /**
+ * 故障条件
+ */
+ private String faultconditionIdentification;
+ /**
+ * 故障规则参数
+ */
+ private BigDecimal faultconditionParameter;
+ /**
+ * 车辆类型名称
+ */
+ private String carTypeName;
+ /**
+ * 故障名称
+ */
+ private String messageTypeName;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
+
+
+ public static FaultCondition faultConditionadd(FaultConditionAddReq faultConditionAddReq){
+ return FaultCondition.builder()
+ .carTypeId(faultConditionAddReq.getCarTypeId())
+ .messageTypeId(faultConditionAddReq.getMessageTypeId())
+ .faultconditionIdentification(faultConditionAddReq.getFaultconditionIdentification())
+ .faultconditionParameter(faultConditionAddReq.getFaultconditionParameter())
+ .build();
+ }
+
+ public static FaultCondition faultConditionupd(FaultConditionUpdReq faultConditionUpdReq, Supplier idSupplier){
+ return FaultCondition.builder()
+ .carconditionId(faultConditionUpdReq.getCarconditionId())
+ .carTypeId(faultConditionUpdReq.getCarTypeId())
+ .messageTypeId(faultConditionUpdReq.getMessageTypeId())
+ .faultconditionIdentification(faultConditionUpdReq.getFaultconditionIdentification())
+ .faultconditionParameter(faultConditionUpdReq.getFaultconditionParameter())
+ .build();
+ }
+
+
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java
index 26b0eae..a3d5740 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/FaultLabel.java
@@ -1,5 +1,7 @@
package com.muyu.cloud.faultmanage.domain;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -24,25 +26,24 @@ import lombok.experimental.SuperBuilder;
@TableName(value = "car_fault_label",autoResultMap = true)
public class FaultLabel {
/**
- *故障标签Id
+ *自增主键
*/
- private long faultlabelId;
+ @TableId(value = "message_type_id",type = IdType.AUTO)
+ private String messageTypeId;
/**
- *故障名称
+ *报文编码
*/
- private String faultlabelName;
+ private String messageTypeCode;
/**
- *故障类型Id
+ *报文名称
*/
- private long faulttypeId;
+ private String messageTypeName;
/**
- *故障状态
+ *报文所属类别
*/
- private Integer faultStatus;
- /**
- *故障描述
- */
- private String faultContent;
+ private String messageTypeBelongs;
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/Message.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/Message.java
new file mode 100644
index 0000000..e619074
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/Message.java
@@ -0,0 +1,68 @@
+package com.muyu.cloud.faultmanage.domain.message;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.message
+ * @Project:cloud-server-8
+ * @name:Message
+ * @Date:2024/9/22 10:40
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "car_fault_message",autoResultMap = true)
+public class Message {
+ /**
+ * id
+ */
+ @TableId(value = "id",type = IdType.AUTO)
+ private long id;
+
+ /**
+ * 发送者
+ */
+ private String sender;
+
+ /**
+ * 接收者
+ */
+ private String receiver;
+
+ /**
+ * 消息内容
+ */
+ private String content;
+
+ /**
+ * 消息状态
+ */
+ private Integer status;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "消息创建时间",defaultValue = "2024-8-9 10:47:57",type = "Date")
+ private Date createTime;
+ /**
+ * 登录人Id
+ */
+ private long userId;
+
+
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageReq.java
new file mode 100644
index 0000000..eecc393
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageReq.java
@@ -0,0 +1,29 @@
+package com.muyu.cloud.faultmanage.domain.message;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.message
+ * @Project:cloud-server-8
+ * @name:MessageReq
+ * @Date:2024/9/22 11:00
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class MessageReq {
+ /**
+ * 消息状态
+ */
+ private Integer status;
+ /**
+ * 登录人Id
+ */
+ private long userId;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageSendReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageSendReq.java
new file mode 100644
index 0000000..290f3b7
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/MessageSendReq.java
@@ -0,0 +1,48 @@
+package com.muyu.cloud.faultmanage.domain.message;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.message
+ * @Project:cloud-server-8
+ * @name:MessageReq
+ * @Date:2024/9/22 11:00
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class MessageSendReq {
+ /**
+ * 发送者
+ */
+ private String sender;
+ /**
+ * 接收者
+ */
+ private String receiver;
+
+ /**
+ * 消息内容
+ */
+ private String content;
+ /**
+ * 登录人Id
+ */
+ private long userId;
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "消息创建时间",defaultValue = "2024-8-9 10:47:57",type = "String")
+ private Date createTime;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java
index 84f6f89..e15db16 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeAddReq.java
@@ -21,13 +21,18 @@ import lombok.experimental.SuperBuilder;
public class FaultCodeAddReq {
/**
- * 故障标签Id
+ *故障名称Id
*/
- private long faultlabelId;
+ private long messageTypeId;
/**
* 故障名称
*/
- private String faultlabelName;
+ private String messageTypeName;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
+
/**
* 故障码
*/
@@ -56,6 +61,10 @@ public class FaultCodeAddReq {
*故障值
*/
private String faultValue;
+ /**
+ *报文所属类别
+ */
+ private String messageTypeBelongs;
}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java
index e626593..2b3a4b5 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultCodeUpdReq.java
@@ -26,13 +26,17 @@ public class FaultCodeUpdReq {
*/
private long faultcodeId;
/**
- * 故障标签Id
+ *故障名称Id
*/
- private long faultlabelId;
+ private long messageTypeId;
/**
* 故障名称
*/
- private String faultlabelName;
+ private String messageTypeName;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
/**
* 故障码
*/
@@ -65,6 +69,10 @@ public class FaultCodeUpdReq {
*故障值
*/
private String faultValue;
+ /**
+ *报文所属类别
+ */
+ private String messageTypeBelongs;
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionAddReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionAddReq.java
new file mode 100644
index 0000000..5e41668
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionAddReq.java
@@ -0,0 +1,44 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FaultConditionAddReq
+ * @Date:2024/9/21 21:02
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultConditionAddReq {
+ /**
+ * 故障规则表Id
+ */
+ private long carconditionId;
+ /**
+ * 车辆类型Id
+ */
+ private long carTypeId;
+ /**
+ *故障名称Id
+ */
+ private long messageTypeId;
+ /**
+ * 故障条件
+ */
+ private String faultconditionIdentification;
+ /**
+ * 故障规则参数
+ */
+ private BigDecimal faultconditionParameter;
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionListReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionListReq.java
new file mode 100644
index 0000000..c45393e
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionListReq.java
@@ -0,0 +1,42 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FaultCondition
+ * @Date:2024/9/21 20:02
+ */
+@Tag(name = "故障规则列表请求对象")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultConditionListReq {
+
+
+ /**
+ * 车辆类型Id
+ */
+ private long carTypeId;
+ /**
+ *故障名称Id
+ */
+ private long messageTypeId;
+ /**
+ * 页码,从1开始
+ */
+ private Integer pageNum=1;
+ /**
+ * 每页大小
+ */
+ private Integer pageSize=10;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionUpdReq.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionUpdReq.java
new file mode 100644
index 0000000..80e198d
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/req/FaultConditionUpdReq.java
@@ -0,0 +1,44 @@
+package com.muyu.cloud.faultmanage.domain.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FaultConditionUpdReq
+ * @Date:2024/9/22 9:38
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FaultConditionUpdReq {
+
+ /**
+ * 故障规则表Id
+ */
+ private long carconditionId;
+ /**
+ * 车辆类型Id
+ */
+ private long carTypeId;
+ /**
+ *故障名称Id
+ */
+ private long messageTypeId;
+ /**
+ * 故障条件
+ */
+ private String faultconditionIdentification;
+ /**
+ * 故障规则参数
+ */
+ private BigDecimal faultconditionParameter;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java
index c596a75..c0b79b8 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultCodeListResp.java
@@ -28,7 +28,7 @@ public class FaultCodeListResp {
/**
*故障名称Id
*/
- private long faultlabelId;
+ private long messageTypeId;
/**
*故障码
*/
@@ -54,9 +54,17 @@ public class FaultCodeListResp {
*/
private String faulttypeName;
/**
- *故障名称
+ * 故障名称
*/
- private String faultlabelName;
+ private String messageTypeName;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
+ /**
+ *报文所属类别
+ */
+ private String messageTypeBelongs;
/**
* 数据库对象构建为返回结果对象
@@ -66,14 +74,16 @@ public class FaultCodeListResp {
public static FaultCodeListResp faultCodeListResp(FaultCodeVO faultCodeVO){
return FaultCodeListResp.builder()
.faultcodeId(faultCodeVO.getFaultcodeId())
- .faultlabelId(faultCodeVO.getFaultlabelId())
+ .messageTypeId(faultCodeVO.getMessageTypeId())
.faultcodeNumber(faultCodeVO.getFaultcodeNumber())
.faultGroup(faultCodeVO.getFaultGroup())
.faultBit(faultCodeVO.getFaultBit())
.faultValue(faultCodeVO.getFaultValue())
.isWarning(faultCodeVO.getIsWarning())
.faulttypeName(faultCodeVO.getFaulttypeName())
- .faultlabelName(faultCodeVO.getFaultlabelName())
+ .messageTypeName(faultCodeVO.getMessageTypeName())
+ .messageTypeCode(faultCodeVO.getMessageTypeCode())
+ .messageTypeBelongs(faultCodeVO.getMessageTypeBelongs())
.build();
}
}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionListResp.java
new file mode 100644
index 0000000..bdbcef0
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionListResp.java
@@ -0,0 +1,75 @@
+package com.muyu.cloud.faultmanage.domain.resp;
+
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.resp
+ * @Project:cloud-server-8
+ * @name:FaultConditionResp
+ * @Date:2024/9/21 19:59
+ */
+
+@Data
+@Builder
+@AllArgsConstructor
+@Tag(name="故障规则信息响应对象",description = "故障规则查询的响应结果")
+public class FaultConditionListResp {
+
+ /**
+ * 故障规则表Id
+ */
+ private long carconditionId;
+ /**
+ * 车辆类型Id
+ */
+ private long carTypeId;
+ /**
+ *故障名称Id
+ */
+ private long messageTypeId;
+ /**
+ * 故障条件
+ */
+ private String faultconditionIdentification;
+ /**
+ * 故障规则参数
+ */
+ private BigDecimal faultconditionParameter;
+ /**
+ * 车辆类型名称
+ */
+ private String carTypeName;
+ /**
+ * 故障名称
+ */
+ private String messageTypeName;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
+
+ /**
+ * 数据库对象构建为返回结果对象
+ * @param faultCondition
+ * @return
+ */
+ public static FaultConditionListResp faultConditionListResp(FaultCondition faultCondition){
+ return FaultConditionListResp.builder()
+ .carconditionId(faultCondition.getCarconditionId())
+ .carTypeId(faultCondition.getCarTypeId())
+ .messageTypeId(faultCondition.getMessageTypeId())
+ .faultconditionParameter(faultCondition.getFaultconditionParameter())
+ .faultconditionIdentification(faultCondition.getFaultconditionIdentification())
+ .carTypeName(faultCondition.getCarTypeName())
+ .messageTypeName(faultCondition.getMessageTypeName())
+ .messageTypeCode(faultCondition.getMessageTypeCode())
+ .build();
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionTotalListResp.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionTotalListResp.java
new file mode 100644
index 0000000..fe96e27
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/resp/FaultConditionTotalListResp.java
@@ -0,0 +1,36 @@
+package com.muyu.cloud.faultmanage.domain.resp;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.resp
+ * @Project:cloud-server-8
+ * @name:FaultConditionTotalListResp
+ * @Date:2024/9/21 20:00
+ */
+
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+@Tag(name="故障规则数据总数列表",description = "数据和总数的响应")
+public class FaultConditionTotalListResp {
+
+ private List faultConditionListRespList;
+
+ private long total;
+
+ public static FaultConditionTotalListResp faultConditionTotalListResp(List faultConditionListRespList,long total){
+ FaultConditionTotalListResp faultConditionTotalListResp = new FaultConditionTotalListResp();
+ faultConditionTotalListResp.setFaultConditionListRespList(faultConditionListRespList);
+ faultConditionTotalListResp.setTotal(total);
+ return faultConditionTotalListResp;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java
index 64789a0..a0f5a15 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/vo/FaultCodeVO.java
@@ -25,9 +25,17 @@ public class FaultCodeVO extends FaultCode {
*/
private String faulttypeName;
/**
- *故障名称
+ * 故障名称
*/
- private String faultlabelName;
+ private String messageTypeName;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
+ /**
+ *报文所属类别
+ */
+ private String messageTypeBelongs;
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/CarTypeController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/CarTypeController.java
new file mode 100644
index 0000000..807c671
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/CarTypeController.java
@@ -0,0 +1,35 @@
+package com.muyu.cloud.faultmanage.controller;
+
+import com.muyu.cloud.faultmanage.service.CarTypeService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+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.RestController;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:CarTypeController
+ * @Date:2024/9/21 19:01
+ */
+@RequestMapping("/cartype")
+@RestController
+public class CarTypeController {
+
+ @Autowired
+ private CarTypeService carTypeService;
+
+
+ /**
+ * 车辆类型
+ * @return
+ */
+ @PostMapping("/list")
+ @Operation(summary = "车辆类型",description = "车辆类型信息")
+ public Result carTypeList(){
+ return Result.success(carTypeService.selectcarType());
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java
index 8b13a11..49a06cd 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultCodeController.java
@@ -81,13 +81,13 @@ public class FaultCodeController {
/**
* 删除故障码
- * @param faultcodeId
+ * @param messageTypeId
* @return
*/
- @PostMapping("/faultcodedel/{faultcodeId}")
+ @PostMapping("/faultcodedel/{messageTypeId}")
@Operation(summary = "删除故障码",description = "删除故障码信息")
- public Result delfaultcode(@PathVariable("faultcodeId") Integer faultcodeId){
- faultCodeService.del(faultcodeId);
+ public Result delfaultcode(@PathVariable("messageTypeId") Integer messageTypeId){
+ faultCodeService.del(messageTypeId);
return Result.success(null,"删除成功");
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java
new file mode 100644
index 0000000..4a93e99
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java
@@ -0,0 +1,88 @@
+package com.muyu.cloud.faultmanage.controller;
+
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionUpdReq;
+import com.muyu.cloud.faultmanage.service.FaultConditionService;
+import com.muyu.cloud.faultmanage.service.FaultRuleService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:FaultRuleController
+ * @Date:2024/9/19 22:10
+ */
+
+/**
+ * 故障检测
+ */
+@RestController
+@RequestMapping("/faultcondition")
+public class FaultConditionController {
+
+ @Autowired
+ private FaultConditionService faultConditionService;
+
+
+ /**
+ * 故障规则
+ * @param faultConditionListReq
+ * @return
+ */
+ @PostMapping("/list")
+ @Operation(summary = "故障规则列表展示",description = "故障规则列表展示")
+ public Result getfaultrulelist(@RequestBody @Validated FaultConditionListReq faultConditionListReq){
+ return Result.success(faultConditionService.getfaultrulelist(faultConditionListReq));
+ }
+
+
+ /**
+ * 故障规则添加
+ * @param faultConditionAddReq
+ * @return
+ */
+ @PostMapping("/faultconditionadd")
+ @Operation(summary = "添加规则",description = "添加故障规则")
+ public Result faultconditionadd(@RequestBody FaultConditionAddReq faultConditionAddReq){
+ //判断车辆类型是否已存在所对应的故障规则
+ List faultConditionList = faultConditionService.selectBytypeAndlabel(faultConditionAddReq);
+ if (faultConditionList.size()>0){
+ return Result.error("此车辆类型已存在所对应的故障规则,无需重新制定,可在原规则上进行修改");
+ }
+ faultConditionService.save(FaultCondition.faultConditionadd(faultConditionAddReq));
+ return Result.success(null,"规则制定成功");
+ }
+
+ /**
+ * 故障规则修改
+ * @param
+ * @param faultConditionUpdReq
+ * @return
+ */
+ @PostMapping("/faultconditionupd")
+ @Operation(summary = "修改规则",description = "修改故障规则")
+ public Result faultconditionupd(
+ @RequestBody @Validated FaultConditionUpdReq faultConditionUpdReq){
+ faultConditionService.updateById(FaultCondition.faultConditionupd(faultConditionUpdReq,()->faultConditionUpdReq.getCarconditionId()));
+ return Result.success(null,"规则修改成功");
+ }
+
+
+ @PostMapping("/faultconditiondel/{carconditionId}")
+ @Operation(summary = "删除规则",description = "删除故障规则")
+ public Result faultconditiondel(@PathVariable("carconditionId") long carconditionId){
+ faultConditionService.removeById(carconditionId);
+ return Result.success(null,"规则删除成功");
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultDetectionStrategyController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultDetectionStrategyController.java
new file mode 100644
index 0000000..af20a62
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultDetectionStrategyController.java
@@ -0,0 +1,18 @@
+package com.muyu.cloud.faultmanage.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:FaultDetectionStrategyController
+ * @Date:2024/9/21 14:18
+ */
+@RestController
+@RequestMapping("/faultdetectionstrategy")
+public class FaultDetectionStrategyController {
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
index be9ffc6..6db39f0 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
@@ -1,6 +1,8 @@
package com.muyu.cloud.faultmanage.controller;
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
import com.muyu.cloud.faultmanage.service.FaultRuleService;
import com.muyu.common.core.domain.Result;
import io.swagger.v3.oas.annotations.Operation;
@@ -39,4 +41,7 @@ public class FaultRuleController {
String checkfaults = faultRuleService.checkfaults(faultRule);
return Result.success(checkfaults);
}
+
+
+
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java
new file mode 100644
index 0000000..dcb5097
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java
@@ -0,0 +1,74 @@
+package com.muyu.cloud.faultmanage.controller;
+
+import com.muyu.cloud.faultmanage.domain.message.Message;
+import com.muyu.cloud.faultmanage.domain.message.MessageReq;
+import com.muyu.cloud.faultmanage.domain.message.MessageSendReq;
+import com.muyu.cloud.faultmanage.service.MessageService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.controller
+ * @Project:cloud-server-8
+ * @name:MessageController
+ * @Date:2024/9/22 10:56
+ */
+@RestController
+@RequestMapping("/message")
+public class MessageController {
+
+ @Autowired
+ private MessageService messageService;
+
+ /**
+ * 消息发送
+ * @param messageSendReq
+ * @return
+ */
+ @PostMapping("/sendmessage")
+ @Operation(summary = "发送消息",description = "站内信消息发送")
+ public Result sendmessage(@Validated MessageSendReq messageSendReq, HttpServletRequest request){
+ messageService.sendmessage(messageSendReq,request);
+ return Result.success(null,"发送成功");
+ }
+
+ /**
+ * 消息查看
+ * @param messageReq
+ * @param
+ * @return
+ */
+ @PostMapping("/messagelist")
+ @Operation(summary = "消息查看(能根据登录人新的信息查看当前登录人的消息栏)",description = "消息查看")
+ public Result selectmessage(@Validated @RequestBody MessageReq messageReq){
+ return Result.success(messageService.selectmessage(messageReq));
+ }
+
+ /**
+ * 查看消息改变状态
+ * @param message
+ * @return
+ */
+ @PostMapping("/changestatus")
+ @Operation(summary = "状态改变",description = "状态改变")
+ public Result changestatus(@RequestBody Message message){
+ messageService.changestatus(message);
+ return Result.success(null,"成功");
+ }
+
+
+ @PostMapping("/unread")
+ @Operation(summary = "查看未读的消息",description = "查看未读的消息")
+ public Result unread(){
+ return Result.success(messageService.unread());
+ }
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/CarTypeMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/CarTypeMapper.java
new file mode 100644
index 0000000..0f9b4b5
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/CarTypeMapper.java
@@ -0,0 +1,16 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.CarType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:CarTypeMapper
+ * @Date:2024/9/21 19:06
+ */
+@Mapper
+public interface CarTypeMapper extends BaseMapper {
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java
index 8b1ec40..e395eae 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultCodeMapper.java
@@ -27,7 +27,7 @@ public interface FaultCodeMapper extends BaseMapper {
//新增故障码
- FaultLabel selectfaultName(@Param("faultlabelName") String faultlabelName);
+ FaultLabel selectfaultName(@Param("messageTypeName") String messageTypeName);
FaultCode selectfaultCode(@Param("faultcodeNumber") String faultcodeNumber);
Integer insertfaultlabel(FaultCodeAddReq faultCodeAddReq);
Integer insertfaultcode(FaultCodeAddReq faultCodeAddReq);
@@ -37,8 +37,7 @@ public interface FaultCodeMapper extends BaseMapper {
Integer updfaultcode(FaultCodeUpdReq faultCodeUpdReq);
- //删除故障码
- FaultCode findByfaultcodeId(@Param("faultcodeId") Integer faultcodeId);
- Integer delfaultcode(@Param("faultcodeId") Integer faultcodeId);
- Integer delfaultlabel(@Param("faultlabelId") long faultlabelId);
+
+ Integer delfaultcode(@Param("messageTypeId") long messageTypeId);
+ Integer delfaultlabel(@Param("messageTypeId") long messageTypeId);
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultConditionMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultConditionMapper.java
new file mode 100644
index 0000000..6a4a19d
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultConditionMapper.java
@@ -0,0 +1,26 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FaultRuleMapper
+ * @Date:2024/9/19 22:11
+ */
+@Mapper
+public interface FaultConditionMapper extends BaseMapper {
+
+ List selectfaultconditionlist(FaultConditionListReq faultConditionListReq);
+
+
+ List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq);
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/MessageMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/MessageMapper.java
new file mode 100644
index 0000000..adfe32d
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/MessageMapper.java
@@ -0,0 +1,22 @@
+package com.muyu.cloud.faultmanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.cloud.faultmanage.domain.message.Message;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.mapper
+ * @Project:cloud-server-8
+ * @name:MessageMapper
+ * @Date:2024/9/22 11:54
+ */
+@Mapper
+public interface MessageMapper extends BaseMapper {
+ void changestatus(Message message);
+
+ List unread();
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/CarTypeService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/CarTypeService.java
new file mode 100644
index 0000000..bf7cd66
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/CarTypeService.java
@@ -0,0 +1,22 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.CarType;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-server-8
+ * @name:CarTypeService
+ * @Date:2024/9/21 19:08
+ */
+public interface CarTypeService extends IService {
+
+ /**
+ * 车辆类型
+ * @return
+ */
+ List selectcarType();
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java
index 267dc69..e0055e4 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultCodeService.java
@@ -50,8 +50,8 @@ public interface FaultCodeService extends IService {
/**
* 删除故障码
- * @param faultcodeId
+ * @param messageTypeId
* @return
*/
- void del(Integer faultcodeId);
+ void del(Integer messageTypeId);
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultConditionService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultConditionService.java
new file mode 100644
index 0000000..3bbd6fc
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultConditionService.java
@@ -0,0 +1,35 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
+import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionAddReq;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FaultRuleService
+ * @Date:2024/9/19 22:10
+ */
+public interface FaultConditionService extends IService {
+
+
+ /**
+ * 故障规则
+ * @param faultConditionListReq
+ * @return
+ */
+ FaultConditionTotalListResp getfaultrulelist(FaultConditionListReq faultConditionListReq);
+
+ /**
+ * 故障规则添加
+ * @param faultConditionAddReq
+ * @return
+ */
+ List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq);
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
index d419d86..4c870ba 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
@@ -1,7 +1,10 @@
package com.muyu.cloud.faultmanage.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp;
/**
* @Author:weiran
@@ -18,4 +21,5 @@ public interface FaultRuleService extends IService {
*/
String checkfaults(FaultRule faultRule);
+
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java
new file mode 100644
index 0000000..79bb9e3
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java
@@ -0,0 +1,49 @@
+package com.muyu.cloud.faultmanage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.cloud.faultmanage.domain.message.Message;
+import com.muyu.cloud.faultmanage.domain.message.MessageReq;
+import com.muyu.cloud.faultmanage.domain.message.MessageSendReq;
+import jakarta.servlet.http.HttpServletRequest;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service
+ * @Project:cloud-server-8
+ * @name:MessageService
+ * @Date:2024/9/22 10:57
+ */
+public interface MessageService extends IService {
+
+ /**
+ * 消息发送
+ * @param messageSendReq
+ * @return
+ */
+ void sendmessage(MessageSendReq messageSendReq, HttpServletRequest request);
+
+ /**
+ * 消息查看
+ * @param messageReq
+ * @param
+ * @return
+ */
+ List selectmessage(MessageReq messageReq);
+
+
+ /**
+ * 查看消息改变状态
+ * @param message
+ * @return
+ */
+ void changestatus(Message message);
+
+
+ /**
+ * 查看未读的消息
+ * @return
+ */
+ List unread();
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/CarTypeServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/CarTypeServiceImpl.java
new file mode 100644
index 0000000..d00cc4f
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/CarTypeServiceImpl.java
@@ -0,0 +1,36 @@
+package com.muyu.cloud.faultmanage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.cloud.faultmanage.domain.CarType;
+import com.muyu.cloud.faultmanage.mapper.CarTypeMapper;
+import com.muyu.cloud.faultmanage.service.CarTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:CarTypeServiceImpl
+ * @Date:2024/9/21 19:08
+ */
+@Service
+public class CarTypeServiceImpl extends ServiceImpl implements CarTypeService {
+
+ @Autowired
+ private CarTypeMapper carTypeMapper;
+
+ /**
+ * 车辆类型
+ * @return
+ */
+ @Override
+ public List selectcarType() {
+ LambdaQueryWrapper carTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ List list = this.list(carTypeLambdaQueryWrapper);
+ return list;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java
index 733233a..d8ff4cc 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultCodeServiceImpl.java
@@ -83,8 +83,8 @@ public class FaultCodeServiceImpl extends ServiceImpl implements FaultConditionService {
+
+ @Autowired
+ private FaultConditionMapper faultConditionMapper;
+
+
+
+ /**
+ * 故障规则
+ * @param faultConditionListReq
+ * @return
+ */
+ @Override
+ public FaultConditionTotalListResp getfaultrulelist(FaultConditionListReq faultConditionListReq) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ long count = this.count(queryWrapper);
+ int offset = (faultConditionListReq.getPageNum() - 1) * faultConditionListReq.getPageSize();
+ faultConditionListReq.setPageNum(offset);
+
+ List selectfaultconditionlist = faultConditionMapper.selectfaultconditionlist(faultConditionListReq);
+ List faultConditionListRespList = selectfaultconditionlist.stream()
+ .map(FaultConditionListResp::faultConditionListResp)
+ .toList();
+ return FaultConditionTotalListResp.faultConditionTotalListResp(faultConditionListRespList,count);
+ }
+
+
+ /**
+ * 故障规则添加 判断故障规则是否存在
+ * @param faultConditionAddReq
+ * @return
+ */
+ @Override
+ public List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq) {
+ List faultConditionList = faultConditionMapper.selectBytypeAndlabel(faultConditionAddReq);
+ return faultConditionList;
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index 0f8321a..75062b2 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -2,13 +2,21 @@ package com.muyu.cloud.faultmanage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
+import com.muyu.cloud.faultmanage.domain.resp.FaultCodeListResp;
+import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp;
+import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp;
+import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO;
import com.muyu.cloud.faultmanage.mapper.FaultRuleMapper;
import com.muyu.cloud.faultmanage.service.FaultRuleService;
+import com.muyu.common.core.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
+import java.util.Collections;
import java.util.List;
/**
@@ -60,4 +68,6 @@ public class FaultRuleServiceImpl extends ServiceImpl implements MessageService {
+ @Autowired
+ private TokenService tokenService;
+ @Autowired
+ private HttpServletRequest request;
+ @Autowired
+ private MessageMapper messageMapper;
+ /**
+ * 消息发送
+ * @param messageSendReq
+ * @return
+ */
+ @Override
+ public void sendmessage(MessageSendReq messageSendReq, HttpServletRequest request) {
+ String token = SecurityUtils.getToken();// 获取当前Token
+ LoginUser loginUser = tokenService.getLoginUser(token); // 获取当前登录用户
+ if (loginUser == null) {
+ throw new RuntimeException("用户未登录或Token无效");
+ }
+ Long userid = loginUser.getUserid();
+ messageSendReq.setUserId(userid);
+
+ // 定义一个DateTimeFormatter对象,用于格式化日期时间为yyyy-MM-dd HH:mm:ss
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ // 获取当前日期和时间
+ LocalDateTime now = LocalDateTime.now();
+ // 使用formatter格式化当前日期和时间
+ String formattedDateTime = now.format(formatter);
+ // 使用formatter将字符串解析回LocalDateTime
+ LocalDateTime parsedDateTime = LocalDateTime.parse(formattedDateTime, formatter);
+ // 然后按照上面的步骤将LocalDateTime转换为Date
+ ZonedDateTime zdt = parsedDateTime.atZone(ZoneId.systemDefault());
+ Date date = Date.from(zdt.toInstant());
+ // 现在date是一个包含了字符串中日期和时间的Date对象
+ messageSendReq.setCreateTime(date);
+
+
+
+ }
+
+
+ /**
+ * 消息查看
+ * @param messageReq
+ * @param
+ * @return
+ */
+ @Override
+ public List selectmessage(MessageReq messageReq) {
+ String token = SecurityUtils.getToken();// 获取当前Token
+ LoginUser loginUser = tokenService.getLoginUser(token); // 获取当前登录用户
+ if (loginUser == null) {
+ throw new RuntimeException("用户未登录或Token无效");
+ }
+ Long userid = loginUser.getUserid();
+ messageReq.setUserId(userid);
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+// queryWrapper.eq(StringUtils.isNotEmpty(String.valueOf(messageReq.getStatus())),
+// Message::getStatus,messageReq.getStatus());
+// queryWrapper.eq(StringUtils.isNotEmpty(String.valueOf(messageReq.getUserId())),
+// Message::getUserId,messageReq.getUserId());
+ if (messageReq.getStatus() != null) {
+ queryWrapper.eq(Message::getStatus, messageReq.getStatus());
+ }
+ queryWrapper.eq(Message::getUserId, messageReq.getUserId());
+ List list = this.list(queryWrapper);
+ return list;
+ }
+
+ /**
+ * 查看消息改变状态
+ * @param message
+ * @return
+ */
+ @Override
+ public void changestatus(Message message) {
+ messageMapper.changestatus(message);
+ }
+
+ /**
+ * 查看未读的消息
+ * @return
+ */
+ @Override
+ public List unread() {
+ return messageMapper.unread();
+ }
+
+
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml
index 28cafbd..10c94a9 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultCodeMapper.xml
@@ -6,32 +6,32 @@
-
+
-
+
+
+
SELECT
car_faultcode.faultcode_id,
- car_fault_label.faulttype_id,
- car_fault_label.faultlabel_id,
+ car_faultcode.message_type_id,
+ car_fault_label.message_type_code,
car_faultcode.faultcode_number,
- car_fault_type.faulttype_name,
car_faultcode.fault_group,
car_faultcode.fault_bit,
car_faultcode.fault_value,
- car_fault_label.faultlabel_name,
+ car_fault_label.message_type_name,
car_faultcode.is_warning
FROM
car_faultcode
- LEFT JOIN car_fault_label ON car_faultcode.faultlabel_id = car_fault_label.faultlabel_id
- LEFT JOIN car_fault_type ON car_fault_label.faulttype_id = car_fault_type.faulttype_id
+ LEFT JOIN car_fault_label ON car_faultcode.message_type_id = car_fault_label.message_type_id
@@ -52,35 +52,35 @@
-
+
INSERT INTO `eight`.`car_fault_label`
- (`faultlabel_id`, `faultlabel_name`, `faulttype_id`, `fault_status`, `fault_content`) VALUES
- (0, #{faultlabelName}, #{faulttypeId}, 0, #{faultContent});
+ (`message_type_id`, `message_type_code`, `message_type_name`, `message_type_belongs`) VALUES
+ (0, #{messageTypeCode}, #{messageTypeName}, '车辆基础');
INSERT INTO `eight`.`car_faultcode`
- (`faultcode_id`, `faultlabel_id`, `faultcode_number`, `fault_group`, `fault_bit`, `fault_value`, `is_warning`) VALUES
- (0, #{faultlabelId}, #{faultcodeNumber}, #{faultGroup}, #{faultBit}, #{faultValue}, #{isWarning});
+ (`faultcode_id`, `message_type_id`, `faultcode_number`, `fault_group`, `fault_bit`, `fault_value`, `is_warning`) VALUES
+ (0, #{messageTypeId}, #{faultcodeNumber}, #{faultGroup}, #{faultBit}, #{faultValue}, #{isWarning});
+
- UPDATE `eight`.`car_fault_label`
- SET `faultlabel_name` = #{faultlabelName},
- `faulttype_id` = #{faulttypeId},
- `fault_status` = #{faultStatus},
- `fault_content` = #{faultContent}
- WHERE `faultlabel_id`= #{faultlabelId};
+ UPDATE `eight`.`car_fault_label`
+ SET `message_type_code` = #{messageTypeCode},
+ `message_type_name` = #{messageTypeName},
+ `message_type_belongs` =#{messageTypeBelongs}
+ WHERE `message_type_id` = #{messageTypeId};
UPDATE `eight`.`car_faultcode`
- SET `faultlabel_id` = #{faultlabelId},
+ SET `message_type_id` = #{messageTypeId},
`faultcode_number` = #{faultcodeNumber},
`fault_group` = #{faultGroup},
`fault_bit` = #{faultBit},
@@ -94,9 +94,9 @@
select * from car_faultcode where faultcode_id=#{faultcodeId}
- delete from car_faultcode where faultcode_id=#{faultcodeId}
+ delete from car_faultcode where message_type_id=#{messageTypeId}
- delete from car_fault_label where faultlabel_id=#{faultlabelId}
+ delete from car_fault_label where message_type_id=#{messageTypeId}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultConditionMapper.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultConditionMapper.xml
new file mode 100644
index 0000000..4b9cd4b
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultConditionMapper.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT
+ car_fault_condition.*,
+ car_type.car_type_name,
+ car_fault_label.message_type_name,
+ car_fault_label.message_type_code
+ FROM
+ car_fault_condition
+ LEFT JOIN car_type ON car_fault_condition.car_type_id = car_type.car_type_id
+ LEFT JOIN car_fault_label ON car_fault_condition.message_type_id = car_fault_label.message_type_id
+
+
+
+
+
+
+
+
+
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/MessageMapper.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/MessageMapper.xml
new file mode 100644
index 0000000..25866ef
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/MessageMapper.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+ update car_fault_message set status=1 where id=#{id}
+
+
+
From 3d8b02a00ea29f1b93a15e81153c53e26cc0e4dd Mon Sep 17 00:00:00 2001
From: WeiRan <2392355487@qq.com>
Date: Tue, 24 Sep 2024 09:30:39 +0800
Subject: [PATCH 3/8] =?UTF-8?q?fex():=E4=BF=AE=E6=94=B9=E6=95=85=E9=9A=9C?=
=?UTF-8?q?=E5=88=A4=E6=96=AD=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/muyu/cloud/annotate/FaultField.java | 19 +++
.../faultmanage/domain/CarInformation.java | 124 ++++++++++++++++++
.../cloud/faultmanage/domain/Vehicle.java | 13 +-
.../faultmanage/domain/message/User.java | 24 ++++
.../controller/FaultConditionController.java | 8 ++
.../controller/FaultRuleController.java | 30 +++--
.../controller/MessageController.java | 11 +-
.../faultmanage/mapper/FaultRuleMapper.java | 13 +-
.../faultmanage/service/FaultRuleService.java | 21 +--
.../faultmanage/service/MessageService.java | 2 +-
.../service/impl/FaultRuleServiceImpl.java | 98 +++++++++-----
.../service/impl/MessageServiceImpl.java | 7 +-
.../service/message/MessageDao.java | 42 ++++++
.../service/message/MessageService.java | 58 ++++++++
.../mapper/faultcode/FaultRuleMapper.xml | 71 ++++++++++
15 files changed, 481 insertions(+), 60 deletions(-)
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/annotate/FaultField.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarInformation.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/User.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageDao.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageService.java
create mode 100644 cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultRuleMapper.xml
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/annotate/FaultField.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/annotate/FaultField.java
new file mode 100644
index 0000000..0dc4fb0
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/annotate/FaultField.java
@@ -0,0 +1,19 @@
+package com.muyu.cloud.annotate;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.annotate
+ * @Project:cloud-server-8
+ * @name:FaultField
+ * @Date:2024/9/24 9:16
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface FaultField {
+ String name(); //假设FaultCondition中有一个相同名字的字段或可以映射到它的字段
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarInformation.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarInformation.java
new file mode 100644
index 0000000..f3fb4df
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarInformation.java
@@ -0,0 +1,124 @@
+package com.muyu.cloud.faultmanage.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain
+ * @Project:cloud-server-8
+ * @name:CarInformation
+ * @Date:2024/9/23 22:29
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "企业车辆管理实体类",autoResultMap = true)
+public class CarInformation {
+
+ /**
+ * 车辆Id
+ */
+ private Long carInformationId;
+ /**
+ * 车辆唯一VIN固定(不可修改)
+ */
+ private String carInformationVIN;
+ /**
+ * 车牌号
+ */
+ private String carInformationLicensePlate;
+
+ /**
+ * 车辆品牌
+ */
+ private String carInformationBrand;
+
+ /**
+ * 车辆颜色
+ */
+ private String carInformationColor;
+
+ /**
+ * 车辆驾驶员
+ */
+ private String carInformationDriver;
+
+ /**
+ * 车检到期日期
+ * 固定(不可修改)
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+ private Date carInformationExamineEnddata;
+
+ /**
+ * 车辆电机厂商
+ */
+ private String carInformationMotorManufacturer;
+
+ /**
+ * 车辆电机型号
+ */
+ private String carInformationMotorModel;
+
+ /**
+ * 车辆电池厂商
+ */
+ private String carInformationBatteryManufacturer;
+
+ /**
+ * 车辆电池型号
+ */
+ private String carInformationBatteryModel;
+
+ /**
+ * 车辆电子围栏外键ID
+ */
+ private Integer carInformationFence;
+
+ /**
+ * 车辆类型外键ID
+ */
+ private Integer carInformationType;
+
+ /**
+ * 是否重点车辆 (0否默认 1是 )
+ */
+ private Integer carInformationFocus;
+
+ /**
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ */
+ private Integer carInformationState;
+
+
+ //车辆类型表
+ /**
+ * 车辆类型ID
+ */
+ private Integer carTypeId;
+ /**
+ * 车辆类型名
+ */
+ private String carTypeName;
+
+ //电子围栏
+ /**
+ *电子围栏ID
+ */
+ private Integer fenceid;
+
+ /**
+ * 电子围栏名
+ */
+ private String fencename;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java
index 8020623..c149473 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/Vehicle.java
@@ -18,9 +18,12 @@ import lombok.experimental.SuperBuilder;
@NoArgsConstructor
@SuperBuilder
public class Vehicle {
-
- private String type; // 可以是枚举或字符串
- // 其他车辆相关的字段和方法
-
- // getter 和 setter 省略
+ /**
+ * 车辆VIN 唯一标识
+ */
+ private String VIN;
+ /**
+ * g故障信息
+ */
+ private String faultmessage;
}
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/User.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/User.java
new file mode 100644
index 0000000..19c7a35
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/message/User.java
@@ -0,0 +1,24 @@
+package com.muyu.cloud.faultmanage.domain.message;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.domain.message
+ * @Project:cloud-server-8
+ * @name:User
+ * @Date:2024/9/23 9:34
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class User {
+
+ private Integer id;
+ private String username;
+ private String email;
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java
index 4a93e99..146dd9d 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultConditionController.java
@@ -79,10 +79,18 @@ public class FaultConditionController {
}
+ /**
+ * 故障规则删除
+ * @param carconditionId
+ * @return
+ */
@PostMapping("/faultconditiondel/{carconditionId}")
@Operation(summary = "删除规则",description = "删除故障规则")
public Result faultconditiondel(@PathVariable("carconditionId") long carconditionId){
faultConditionService.removeById(carconditionId);
return Result.success(null,"规则删除成功");
}
+
+
+
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
index 6db39f0..ea3c4f2 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
@@ -1,5 +1,6 @@
package com.muyu.cloud.faultmanage.controller;
+import com.muyu.cloud.faultmanage.domain.CarFaultRule;
import com.muyu.cloud.faultmanage.domain.FaultCondition;
import com.muyu.cloud.faultmanage.domain.FaultRule;
import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
@@ -9,6 +10,7 @@ import io.swagger.v3.oas.annotations.Operation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -31,17 +33,27 @@ public class FaultRuleController {
private FaultRuleService faultRuleService;
+// /**
+// * 车辆故障检测
+// * @return
+// */
+// @PostMapping("/check-faults")
+// @Operation(summary = "检查故障",description = "进行故障检查")
+// public Result checkfaults(@Validated FaultRule faultRule){
+// String checkfaults = faultRuleService.checkfaults(faultRule);
+// return Result.success(checkfaults);
+// }
+
+
/**
- * 车辆故障检测
+ * 故障参数匹配检查
+ * @param carFaultRule
* @return
*/
- @PostMapping("/check-faults")
- @Operation(summary = "检查故障",description = "进行故障检查")
- public Result checkfaults(@Validated FaultRule faultRule){
- String checkfaults = faultRuleService.checkfaults(faultRule);
- return Result.success(checkfaults);
+ @PostMapping("/cheakfaults")
+ @Operation(summary = "故障参数匹配检查",description = "获取报文数据与故障参数进行比较")
+ public Result cheakfaults(@Validated @RequestBody CarFaultRule carFaultRule){
+ faultRuleService.checkfault(carFaultRule);
+ return null;
}
-
-
-
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java
index dcb5097..45ece78 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/MessageController.java
@@ -35,8 +35,8 @@ public class MessageController {
*/
@PostMapping("/sendmessage")
@Operation(summary = "发送消息",description = "站内信消息发送")
- public Result sendmessage(@Validated MessageSendReq messageSendReq, HttpServletRequest request){
- messageService.sendmessage(messageSendReq,request);
+ public Result sendmessage(@Validated MessageSendReq messageSendReq){
+ messageService.sendmessage(messageSendReq);
return Result.success(null,"发送成功");
}
@@ -65,10 +65,17 @@ public class MessageController {
}
+ /**
+ * 查看未读的消息
+ * @return
+ */
@PostMapping("/unread")
@Operation(summary = "查看未读的消息",description = "查看未读的消息")
public Result unread(){
return Result.success(messageService.unread());
}
+
+
+
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java
index 88a5b7b..ebf3141 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/mapper/FaultRuleMapper.java
@@ -1,8 +1,13 @@
package com.muyu.cloud.faultmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.CarFaultRule;
+import com.muyu.cloud.faultmanage.domain.CarInformation;
+import com.muyu.cloud.faultmanage.domain.FaultCondition;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* @Author:weiran
@@ -12,5 +17,9 @@ import org.apache.ibatis.annotations.Mapper;
* @Date:2024/9/19 22:11
*/
@Mapper
-public interface FaultRuleMapper extends BaseMapper {
+public interface FaultRuleMapper extends BaseMapper {
+
+ CarInformation selectTypeByVIN(@Param("vin") String vin);
+
+ List selectruleByType(@Param("carInformationType") Integer carInformationType);
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
index 4c870ba..0274604 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
@@ -1,10 +1,9 @@
package com.muyu.cloud.faultmanage.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.muyu.cloud.faultmanage.domain.FaultCondition;
+import com.muyu.cloud.faultmanage.domain.CarFaultRule;
import com.muyu.cloud.faultmanage.domain.FaultRule;
-import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
-import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp;
+import com.muyu.cloud.faultmanage.domain.Vehicle;
/**
* @Author:weiran
@@ -13,13 +12,19 @@ import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp;
* @name:FaultRuleService
* @Date:2024/9/19 22:10
*/
-public interface FaultRuleService extends IService {
+public interface FaultRuleService extends IService {
+
+// /**
+// * 车辆故障检测
+// * @return
+// */
+// String checkfaults(FaultRule faultRule);
+
/**
- * 车辆故障检测
+ * 故障参数匹配检查
+ * @param carFaultRule
* @return
*/
- String checkfaults(FaultRule faultRule);
-
-
+ Vehicle checkfault(CarFaultRule carFaultRule);
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java
index 79bb9e3..5372609 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/MessageService.java
@@ -22,7 +22,7 @@ public interface MessageService extends IService {
* @param messageSendReq
* @return
*/
- void sendmessage(MessageSendReq messageSendReq, HttpServletRequest request);
+ void sendmessage(MessageSendReq messageSendReq);
/**
* 消息查看
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index 75062b2..7942884 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -2,8 +2,7 @@ package com.muyu.cloud.faultmanage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.muyu.cloud.faultmanage.domain.FaultCondition;
-import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.*;
import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
import com.muyu.cloud.faultmanage.domain.resp.FaultCodeListResp;
import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp;
@@ -15,6 +14,7 @@ import com.muyu.common.core.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
@@ -28,46 +28,82 @@ import java.util.List;
*/
@Service
-public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService {
+public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService {
@Autowired
private FaultRuleMapper faultRuleMapper;
+// /**
+// * 车辆故障检测
+// * @return
+// */
+// @Override
+// public String checkfaults(FaultRule faultRule) {
+// //获取触发条件
+// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+// if (Long.valueOf(faultRule.getFaultcodeId())!=null && faultRule.getFaultcodeId()!=0){
+// queryWrapper.eq(FaultRule::getFaultcodeId, faultRule.getFaultcodeId());
+// }
+// List faultRuleList = this.list(queryWrapper);
+// for (FaultRule rule : faultRuleList) {
+// //单个值比较
+// if (faultRule.getSingleThreshold()!=null && faultRule.getMaxThreshold()==null && faultRule.getMinThreshold()==null){
+// //大于阈值
+// if (faultRule.getConditionContent().contains(">") || faultRule.getConditionContent().contains("大于")){
+// if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())>0){
+// return "数据超过阈值,出现异常";
+// }
+// }
+// //小于阈值
+// if (faultRule.getConditionContent().contains("<") || faultRule.getConditionContent().contains("小于")){
+// if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())<0){
+// return "数据过低,出现异常";
+// }
+// }
+// }else { //区间值比较
+// if (faultRule.getThreshold().compareTo(rule.getMinThreshold())<0 || faultRule.getThreshold().compareTo(rule.getMaxThreshold())>0){
+// return "数据不在可控范围内,出现异常";
+// }
+// }
+// }
+// return "判断出现异常";
+// }
+
+
/**
- * 车辆故障检测
+ * 故障参数匹配检查
+ * @param carFaultRule
* @return
*/
@Override
- public String checkfaults(FaultRule faultRule) {
- //获取触发条件
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- if (Long.valueOf(faultRule.getFaultcodeId())!=null && faultRule.getFaultcodeId()!=0){
- queryWrapper.eq(FaultRule::getFaultcodeId, faultRule.getFaultcodeId());
- }
- List faultRuleList = this.list(queryWrapper);
- for (FaultRule rule : faultRuleList) {
- //单个值比较
- if (faultRule.getSingleThreshold()!=null && faultRule.getMaxThreshold()==null && faultRule.getMinThreshold()==null){
- //大于阈值
- if (faultRule.getConditionContent().contains(">") || faultRule.getConditionContent().contains("大于")){
- if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())>0){
- return "数据超过阈值,出现异常";
+ public Vehicle checkfault(CarFaultRule carFaultRule) {
+ //根据车辆VIN判断它属于什么类型的车辆
+ CarInformation carInformation = faultRuleMapper.selectTypeByVIN(carFaultRule.getVin());
+ Integer carInformationType = carInformation.getCarInformationType();
+ //根据车辆类型,查询表获取对应的类型的故障规则
+ List faultConditionList = faultRuleMapper.selectruleByType(carInformationType);
+ //获取当前类的所有字段,不包括继承的
+ Class extends CarFaultRule> carFaultRuleClass = carFaultRule.getClass();
+ Field[] declaredFields = carFaultRuleClass.getDeclaredFields();
+ for (Field declaredField : declaredFields) {
+ //确保可以访问私有字段
+ declaredField.setAccessible(true);
+ try {
+ //获取字段的值
+ Object value = declaredField.get(carFaultRule);
+ if (value != null && (!declaredField.getType().isPrimitive() && declaredField.get(carFaultRule)!=null)) {
+ // 遍历faultConditionList,查找匹配的FaultCondition
+ for (FaultCondition faultCondition : faultConditionList) {
+
+
}
}
- //小于阈值
- if (faultRule.getConditionContent().contains("<") || faultRule.getConditionContent().contains("小于")){
- if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())<0){
- return "数据过低,出现异常";
- }
- }
- }else { //区间值比较
- if (faultRule.getThreshold().compareTo(rule.getMinThreshold())<0 || faultRule.getThreshold().compareTo(rule.getMaxThreshold())>0){
- return "数据不在可控范围内,出现异常";
- }
+
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
}
+
}
- return "判断出现异常";
+ return null;
}
-
-
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/MessageServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/MessageServiceImpl.java
index 5d9c4ae..1759d72 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/MessageServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/MessageServiceImpl.java
@@ -12,10 +12,10 @@ import com.muyu.common.security.service.TokenService;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.LoginUser;
import jakarta.servlet.http.HttpServletRequest;
-import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.sql.Connection;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
@@ -44,7 +44,7 @@ public class MessageServiceImpl extends ServiceImpl imple
* @return
*/
@Override
- public void sendmessage(MessageSendReq messageSendReq, HttpServletRequest request) {
+ public void sendmessage(MessageSendReq messageSendReq) {
String token = SecurityUtils.getToken();// 获取当前Token
LoginUser loginUser = tokenService.getLoginUser(token); // 获取当前登录用户
if (loginUser == null) {
@@ -120,4 +120,7 @@ public class MessageServiceImpl extends ServiceImpl imple
}
+
+
+
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageDao.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageDao.java
new file mode 100644
index 0000000..7b22a36
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageDao.java
@@ -0,0 +1,42 @@
+package com.muyu.cloud.faultmanage.service.message;
+
+import com.muyu.cloud.faultmanage.domain.message.Message;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.messageDao
+ * @Project:cloud-server-8
+ * @name:MessageDao
+ * @Date:2024/9/23 9:42
+ */
+
+/**
+ * 数据访问层,使用JDBC进行基本的数据库操作
+ */
+public class MessageDao {
+
+
+ private Connection connection;
+
+
+ public MessageDao(Connection connection){
+ this.connection=connection;
+ }
+
+ public void sendMessage(Message message) throws Exception{
+ String sql="INSERT INTO `eight`.`car_fault_message` (`id`, `sender`, `receiver`, `content`, `status`, `create_time`, `user_id`) " +
+ "VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL)";
+ try(PreparedStatement pstmt=connection.prepareStatement(sql)){
+ pstmt.setString(1, message.getContent());
+ pstmt.setString(2, message.getSender());
+ pstmt.setString(3, message.getReceiver());
+ pstmt.setObject(4, message.getCreateTime());
+ pstmt.executeUpdate();
+ }
+
+
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageService.java
new file mode 100644
index 0000000..41bb18b
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/message/MessageService.java
@@ -0,0 +1,58 @@
+package com.muyu.cloud.faultmanage.service.message;
+
+import com.muyu.cloud.faultmanage.domain.message.Message;
+
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.cloud.faultmanage.service.message
+ * @Project:cloud-server-8
+ * @name:MessageService
+ * @Date:2024/9/23 9:48
+ */
+
+/**
+ * 业务逻辑层将负责实现消息的发送逻辑
+ */
+public class MessageService {
+
+ private MessageDao messageDao;
+
+ public MessageService(MessageDao messageDao){
+ this.messageDao=messageDao;
+ }
+
+ public void sendMessage(String content,String sender,String receiver){
+
+ // 定义一个DateTimeFormatter对象,用于格式化日期时间为yyyy-MM-dd HH:mm:ss
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ // 获取当前日期和时间
+ LocalDateTime now = LocalDateTime.now();
+ // 使用formatter格式化当前日期和时间
+ String formattedDateTime = now.format(formatter);
+ // 使用formatter将字符串解析回LocalDateTime
+ LocalDateTime parsedDateTime = LocalDateTime.parse(formattedDateTime, formatter);
+ // 然后按照上面的步骤将LocalDateTime转换为Date
+ ZonedDateTime zdt = parsedDateTime.atZone(ZoneId.systemDefault());
+ Date date = Date.from(zdt.toInstant());
+
+
+ Message message = new Message();
+ message.setContent(content);
+ message.setSender(sender);
+ message.setReceiver(receiver);
+ message.setCreateTime(date);
+
+ try {
+ messageDao.sendMessage(message);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultRuleMapper.xml b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultRuleMapper.xml
new file mode 100644
index 0000000..00f01a2
--- /dev/null
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/resources/mapper/faultcode/FaultRuleMapper.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select
+ car_information.*,
+ car_type.car_type_name
+ from
+ car_information
+ left join car_type on car_information.car_information_type=car_type.car_type_id
+
+
+
+ SELECT
+ car_fault_condition.*,
+ car_type.car_type_name,
+ car_fault_label.message_type_name,
+ car_fault_label.message_type_code
+ FROM
+ car_fault_condition
+ LEFT JOIN car_type ON car_fault_condition.car_type_id = car_type.car_type_id
+ LEFT JOIN car_fault_label ON car_fault_condition.message_type_id = car_fault_label.message_type_id
+
+
+
+
+
+
+
+
From 97b20e395af0cefc7f40cb4bba80ac97447e7a78 Mon Sep 17 00:00:00 2001
From: WeiRan <2392355487@qq.com>
Date: Tue, 24 Sep 2024 10:49:45 +0800
Subject: [PATCH 4/8] =?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
---
.../controller/FaultRuleController.java | 19 ++---
.../faultmanage/service/FaultRuleService.java | 10 +--
.../service/impl/FaultRuleServiceImpl.java | 79 +++++++------------
3 files changed, 38 insertions(+), 70 deletions(-)
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
index ea3c4f2..c78fa90 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java
@@ -3,6 +3,7 @@ package com.muyu.cloud.faultmanage.controller;
import com.muyu.cloud.faultmanage.domain.CarFaultRule;
import com.muyu.cloud.faultmanage.domain.FaultCondition;
import com.muyu.cloud.faultmanage.domain.FaultRule;
+import com.muyu.cloud.faultmanage.domain.Vehicle;
import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
import com.muyu.cloud.faultmanage.service.FaultRuleService;
import com.muyu.common.core.domain.Result;
@@ -14,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+
/**
* @Author:weiran
* @Package:com.muyu.cloud.faultmanage.controller
@@ -33,18 +36,6 @@ public class FaultRuleController {
private FaultRuleService faultRuleService;
-// /**
-// * 车辆故障检测
-// * @return
-// */
-// @PostMapping("/check-faults")
-// @Operation(summary = "检查故障",description = "进行故障检查")
-// public Result checkfaults(@Validated FaultRule faultRule){
-// String checkfaults = faultRuleService.checkfaults(faultRule);
-// return Result.success(checkfaults);
-// }
-
-
/**
* 故障参数匹配检查
* @param carFaultRule
@@ -53,7 +44,7 @@ public class FaultRuleController {
@PostMapping("/cheakfaults")
@Operation(summary = "故障参数匹配检查",description = "获取报文数据与故障参数进行比较")
public Result cheakfaults(@Validated @RequestBody CarFaultRule carFaultRule){
- faultRuleService.checkfault(carFaultRule);
- return null;
+ List checkfault = faultRuleService.checkfault(carFaultRule);
+ return Result.success(checkfault);
}
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
index 0274604..fafc81f 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java
@@ -5,6 +5,8 @@ import com.muyu.cloud.faultmanage.domain.CarFaultRule;
import com.muyu.cloud.faultmanage.domain.FaultRule;
import com.muyu.cloud.faultmanage.domain.Vehicle;
+import java.util.List;
+
/**
* @Author:weiran
* @Package:com.muyu.cloud.faultmanage.service.impl
@@ -14,17 +16,11 @@ import com.muyu.cloud.faultmanage.domain.Vehicle;
*/
public interface FaultRuleService extends IService {
-// /**
-// * 车辆故障检测
-// * @return
-// */
-// String checkfaults(FaultRule faultRule);
-
/**
* 故障参数匹配检查
* @param carFaultRule
* @return
*/
- Vehicle checkfault(CarFaultRule carFaultRule);
+ List checkfault(CarFaultRule carFaultRule);
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index 7942884..9fb555b 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -1,22 +1,14 @@
package com.muyu.cloud.faultmanage.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cloud.faultmanage.domain.*;
-import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq;
-import com.muyu.cloud.faultmanage.domain.resp.FaultCodeListResp;
-import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp;
-import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp;
-import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO;
import com.muyu.cloud.faultmanage.mapper.FaultRuleMapper;
import com.muyu.cloud.faultmanage.service.FaultRuleService;
-import com.muyu.common.core.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-
import java.lang.reflect.Field;
import java.math.BigDecimal;
-import java.util.Collections;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -33,50 +25,15 @@ public class FaultRuleServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>();
-// if (Long.valueOf(faultRule.getFaultcodeId())!=null && faultRule.getFaultcodeId()!=0){
-// queryWrapper.eq(FaultRule::getFaultcodeId, faultRule.getFaultcodeId());
-// }
-// List faultRuleList = this.list(queryWrapper);
-// for (FaultRule rule : faultRuleList) {
-// //单个值比较
-// if (faultRule.getSingleThreshold()!=null && faultRule.getMaxThreshold()==null && faultRule.getMinThreshold()==null){
-// //大于阈值
-// if (faultRule.getConditionContent().contains(">") || faultRule.getConditionContent().contains("大于")){
-// if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())>0){
-// return "数据超过阈值,出现异常";
-// }
-// }
-// //小于阈值
-// if (faultRule.getConditionContent().contains("<") || faultRule.getConditionContent().contains("小于")){
-// if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())<0){
-// return "数据过低,出现异常";
-// }
-// }
-// }else { //区间值比较
-// if (faultRule.getThreshold().compareTo(rule.getMinThreshold())<0 || faultRule.getThreshold().compareTo(rule.getMaxThreshold())>0){
-// return "数据不在可控范围内,出现异常";
-// }
-// }
-// }
-// return "判断出现异常";
-// }
-
-
/**
* 故障参数匹配检查
* @param carFaultRule
* @return
*/
@Override
- public Vehicle checkfault(CarFaultRule carFaultRule) {
+ public List checkfault(CarFaultRule carFaultRule) {
+ List vehicles = new ArrayList<>();
+
//根据车辆VIN判断它属于什么类型的车辆
CarInformation carInformation = faultRuleMapper.selectTypeByVIN(carFaultRule.getVin());
Integer carInformationType = carInformation.getCarInformationType();
@@ -94,8 +51,32 @@ public class FaultRuleServiceImpl extends ServiceImpl") || faultconditionIdentification.equals(">") ){
+ if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)>0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"超出规定范围"));
+ }
+ }else if(faultconditionIdentification.equals("<") || faultconditionIdentification.equals("<")){
+ if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)<0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"过低"));
+ }
+ }else if(faultconditionIdentification.equals(">=") || faultconditionIdentification.equals(">=")){
+ if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)>0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"超出规定范围")) ;
+ }
+ }else if(faultconditionIdentification.equals("<=") || faultconditionIdentification.equals("<=")){
+ if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)<0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"过低"));
+ }
+ }else {
+ if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)==0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"已达到故障点"));
+ }
+ }
+ }
}
}
From ab2f94acbde8a87d3a5c802f285f4dd377cae355 Mon Sep 17 00:00:00 2001
From: WeiRan <2392355487@qq.com>
Date: Wed, 25 Sep 2024 09:41:03 +0800
Subject: [PATCH 5/8] =?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
---
.../cloud/faultmanage/service/impl/FaultRuleServiceImpl.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index 9fb555b..3a4cc8f 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -48,10 +48,10 @@ public class FaultRuleServiceImpl extends ServiceImpl
Date: Wed, 25 Sep 2024 15:53:55 +0800
Subject: [PATCH 6/8] =?UTF-8?q?=E6=95=85=E9=9A=9C=E6=A8=A1=E5=9D=97?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/FaultRuleServiceImpl.java | 37 ++++++++++++-------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index 3a4cc8f..4ab924c 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -33,7 +33,6 @@ public class FaultRuleServiceImpl extends ServiceImpl checkfault(CarFaultRule carFaultRule) {
List vehicles = new ArrayList<>();
-
//根据车辆VIN判断它属于什么类型的车辆
CarInformation carInformation = faultRuleMapper.selectTypeByVIN(carFaultRule.getVin());
Integer carInformationType = carInformation.getCarInformationType();
@@ -54,26 +53,38 @@ public class FaultRuleServiceImpl extends ServiceImpl") || faultconditionIdentification.equals(">") ){
- if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)>0){
- vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"超出规定范围"));
+ if (bigDecimalValue.compareTo(faultconditionParameter)>0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField.getName()+"超出规定范围"));
}
}else if(faultconditionIdentification.equals("<") || faultconditionIdentification.equals("<")){
- if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)<0){
- vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"过低"));
+ if (bigDecimalValue.compareTo(faultconditionParameter)<0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField.getName()+"过低"));
}
}else if(faultconditionIdentification.equals(">=") || faultconditionIdentification.equals(">=")){
- if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)>0){
- vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"超出规定范围")) ;
+ if (bigDecimalValue.compareTo(faultconditionParameter)>=0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField.getName()+"超出规定范围")) ;
}
}else if(faultconditionIdentification.equals("<=") || faultconditionIdentification.equals("<=")){
- if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)<0){
- vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"过低"));
+ if (bigDecimalValue.compareTo(faultconditionParameter)<=0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField.getName()+"过低"));
}
}else {
- if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)==0){
- vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"已达到故障点"));
+ if (bigDecimalValue.compareTo(faultconditionParameter)==0){
+ vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField.getName()+"已达到故障点"));
}
}
}
@@ -85,6 +96,6 @@ public class FaultRuleServiceImpl extends ServiceImpl
Date: Wed, 25 Sep 2024 21:14:33 +0800
Subject: [PATCH 7/8] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E6=95=85=E9=9A=9C?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../faultmanage/domain/CarFaultRule.java | 84 +++++++++----------
.../service/impl/FaultRuleServiceImpl.java | 2 +-
...PureElectricCarFaultDetectionStrategy.java | 8 +-
3 files changed, 47 insertions(+), 47 deletions(-)
diff --git a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java
index 89a80c2..90cffdf 100644
--- a/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java
+++ b/cloud-faultmanage/cloud-faultmanage-common/src/main/java/com/muyu/cloud/faultmanage/domain/CarFaultRule.java
@@ -44,171 +44,171 @@ public class CarFaultRule {
/**
* 总里程总里程总里程
*/
- private long TM;
+ private Long tm;
/**
* 总电压总电压总电压
*/
- private double TV;
+ private double tv;
/**
* 总电流总电流总电流
*/
- private double CC;
+ private double cc;
/**
* 绝缘电阻绝缘电阻绝缘电阻
*/
- private double IR;
+ private double ir;
/**
* 档位档位档位
*/
- private String GP;
+ private String gp;
/**
* 加速踏板行程值加速踏板行程值加速踏板行程值
*/
- private double APTV;
+ private double aptv;
/**
* 制动踏板行程值制动踏板行程值制动踏板行程值
*/
- private double BPTV;
+ private double bptv;
/**
* 燃料消耗率燃料消耗率燃料消耗率
*/
- private double SFC;
+ private double sfc;
/**
* 电机控制器温度电机控制器温度电机控制器温度
*/
- private double MCT;
+ private double mct;
/**
* 电机转速电机转速电机转速
*/
- private int MS;
+ private int ms;
/**
* 电机转矩电机转矩电机转矩
*/
- private double MTO;
+ private double mto;
/**
* 电机温度电机温度电机温度
*/
- private double MTE;
+ private double mte;
/**
* 电机电压电机电压电机电压
*/
- private double MV;
+ private double mv;
/**
* 电机电流电机电流电机电流
*/
- private double MC;
+ private double mc;
/**
* 动力电池剩余电量SOC动力电池剩余电量SOC动力电池剩余电量SOC
*/
- private double PBRSOC;
+ private double pbrsoc;
/**
* 当前状态允许的最大反馈功率当前状态允许的最大反馈功率当前状态允许的最大反馈功率
*/
- private double MACSFP;
+ private double macsfp;
/**
* 当前状态允许最大放电功率当前状态允许最大放电功率当前状态允许最大放电功率
*/
- private double CSATMDP;
+ private double csatmdp;
/**
* BMS自检计数器BMS自检计数器BMS自检计数器
*/
- private int BMS;
+ private int bms;
/**
* 动力电池充放电电流动力电池充放电电流动力电池充放电电流
*/
- private double CADC;
+ private double cadc;
/**
* 动力电池负载端总电压V3动力电池负载端总电压V3动力电池负载端总电压V3
*/
- private double PBLETVV3;
+ private double pbletvv3;
/**
* 单次最大电压单次最大电压单次最大电压
*/
- private double SMV;
+ private double smv;
/**
* 单体电池最低电压单体电池最低电压单体电池最低电压
*/
- private double MVOAB;
+ private double mvoab;
/**
* 单体电池最高温度单体电池最高温度单体电池最高温度
*/
- private double MAXBT;
+ private double maxbt;
/**
* 单体电池最低温度单体电池最低温度单体电池最低温度
*/
- private double MINBT;
+ private double minbt;
/**
* 动力电池可用容量动力电池可用容量动力电池可用容量
*/
- private double PBAC;
+ private double pbac;
/**
* 车辆状态车辆状态车辆状态
*/
- private String VS;
+ private String vs;
/**
* 充电状态充电状态充电状态
*/
- private String CS;
+ private String cs;
/**
* 运行状态运行状态运行状态
*/
- private String RS;
+ private String rs;
/**
* SOCSOCSOC
*/
- private double SOC;
+ private double soc;
/**
* 可充电储能装置工作状态可充电储能装置工作状态可充电储能装置工作状态
*/
- private String RESDWC;
+ private String resdwc;
/**
* EASEASEAS
*/
- private String EAS;
+ private String eas;
/**
* PTCPTCPTC
*/
- private String PTC;
+ private String ptc;
/**
* EPSEPSEPS
*/
- private String EPS;
+ private String eps;
/**
* ABSABSABS
*/
- private String ABS;
+ private String abs;
/**
* MCUMCUMCU
*/
- private String MCU;
+ private String mcu;
/**
* 动力电池加热状态动力电池加热状态动力电池加热状态
*/
- private String PBHS;
+ private String pbhs;
/**
* 动力电池当前状态动力电池当前状态动力电池当前状态
*/
- private String PBCS;
+ private String pbcs;
/**
* 动力电池保温状态动力电池保温状态动力电池保温状态
*/
- private String PBIS;
+ private String pbis;
/**
* DCDCDCDCDCDC
*/
- private String DCDC;
+ private String dcdc;
/**
* CHGCHGCHG
*/
- private String CHG;
+ private String chg;
/**
* 校验位校验位校验位
*/
- private byte CHB;
+ private byte chb;
/**
* 截止位截止位截止位
*/
- private byte CUB;
+ private byte cub;
}
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index 4ab924c..d828530 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -65,7 +65,7 @@ public class FaultRuleServiceImpl extends ServiceImpl") || faultconditionIdentification.equals(">") ){
if (bigDecimalValue.compareTo(faultconditionParameter)>0){
vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField.getName()+"超出规定范围"));
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java
index ec30549..da95878 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java
@@ -30,19 +30,19 @@ public class PureElectricCarFaultDetectionStrategy implements FaultDetectionStra
return new FaultReport("纯电车","车速不在正常范围内,请注意");
}
//检测总里程数是否超过正常数
- if (carFaultRule.getTM()>5000000){
+ if (carFaultRule.getTm()>5000000){
return new FaultReport("纯电车","总里程数已超标,请注意");
}
//检测总电压是否正常
- if (carFaultRule.getTV()>650){
+ if (carFaultRule.getTv()>650){
return new FaultReport("纯电车","总电压过高,请注意");
}
//检测电流是否超标
- if (carFaultRule.getCC()>50){
+ if (carFaultRule.getCc()>50){
return new FaultReport("纯电车","电流过高,请注意");
}
//检测绝缘电阻
- if (carFaultRule.getIR()>100000){
+ if (carFaultRule.getIr()>100000){
return new FaultReport("纯电车","绝缘电阻过高,请注意");
}
// //检测加速踏板行程值
From 1d8aea440b88bbeb746d5f04e8c2d2bcd87de9f1 Mon Sep 17 00:00:00 2001
From: WeiRan <2392355487@qq.com>
Date: Thu, 26 Sep 2024 14:47:00 +0800
Subject: [PATCH 8/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/FaultRuleServiceImpl.java | 2 +
cloud-modules/cloud-modules-car/pom.xml | 112 +++++++++++
.../java/com/muyu/car/CarApplication.java | 18 ++
.../controller/CarInformationController.java | 110 +++++++++++
.../car/controller/CarMessageController.java | 71 +++++++
.../com/muyu/car/domain/CarInformation.java | 123 ++++++++++++
.../java/com/muyu/car/domain/CarMessage.java | 84 +++++++++
.../car/domain/req/CarInformationAddReq.java | 83 ++++++++
.../car/domain/req/CarInformationListReq.java | 110 +++++++++++
.../car/domain/req/CarInformationUpdReq.java | 99 ++++++++++
.../muyu/car/mapper/CarInformationMapper.java | 66 +++++++
.../com/muyu/car/mapper/CarMessageMapper.java | 34 ++++
.../car/service/CarInformationService.java | 64 +++++++
.../muyu/car/service/CarMessageService.java | 36 ++++
.../Impl/CarInformationServiceImpl.java | 66 +++++++
.../service/Impl/CarMessageServiceImpl.java | 55 ++++++
.../src/main/resources/banner.txt | 2 +
.../src/main/resources/logback/dev.xml | 74 ++++++++
.../src/main/resources/logback/prod.xml | 81 ++++++++
.../src/main/resources/logback/test.xml | 81 ++++++++
.../mapper/car/CarInformationMapper.xml | 177 ++++++++++++++++++
.../resources/mapper/car/CarMessageMapper.xml | 94 ++++++++++
.../system/controller/SysDeptController.java | 2 +
.../interceptor/DataSourceInterceptor.java | 2 +
.../com/muyu/system/rabbit/RabbitTest.java | 1 -
.../service/impl/SysDeptServiceImpl.java | 1 +
cloud-modules/pom.xml | 1 +
27 files changed, 1648 insertions(+), 1 deletion(-)
create mode 100644 cloud-modules/cloud-modules-car/pom.xml
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarInformationController.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarInformation.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarMessage.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationAddReq.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationListReq.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationUpdReq.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarMessageMapper.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarInformationService.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java
create mode 100644 cloud-modules/cloud-modules-car/src/main/resources/banner.txt
create mode 100644 cloud-modules/cloud-modules-car/src/main/resources/logback/dev.xml
create mode 100644 cloud-modules/cloud-modules-car/src/main/resources/logback/prod.xml
create mode 100644 cloud-modules/cloud-modules-car/src/main/resources/logback/test.xml
create mode 100644 cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarInformationMapper.xml
create mode 100644 cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml
diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
index d828530..8863ec7 100644
--- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cloud.faultmanage.domain.*;
import com.muyu.cloud.faultmanage.mapper.FaultRuleMapper;
import com.muyu.cloud.faultmanage.service.FaultRuleService;
+import org.apache.poi.ss.formula.functions.Intercept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
@@ -65,6 +66,7 @@ public class FaultRuleServiceImpl extends ServiceImpl") || faultconditionIdentification.equals(">") ){
if (bigDecimalValue.compareTo(faultconditionParameter)>0){
diff --git a/cloud-modules/cloud-modules-car/pom.xml b/cloud-modules/cloud-modules-car/pom.xml
new file mode 100644
index 0000000..c7be081
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/pom.xml
@@ -0,0 +1,112 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-modules
+ 3.6.3
+
+
+ cloud-modules-car
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ cloud-common-datasource
+
+
+
+
+ com.muyu
+ cloud-common-datascope
+
+
+
+
+ com.muyu
+ cloud-common-log
+
+
+
+
+
+ com.muyu
+ cloud-common-xxl
+
+
+
+ com.muyu
+ cloud-common-rabbit
+
+
+
+
+ com.muyu
+ cloud-common-system
+
+
+
+
+ com.muyu
+ cloud-common-api-doc
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java
new file mode 100644
index 0000000..75f209c
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/CarApplication.java
@@ -0,0 +1,18 @@
+package com.muyu.car;
+
+import com.muyu.common.security.annotation.EnableCustomConfig;
+import com.muyu.common.security.annotation.EnableMyFeignClients;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableCustomConfig
+@EnableMyFeignClients
+@SpringBootApplication
+public class CarApplication {
+ public static void main(String[] args){
+ SpringApplication.run(CarApplication.class,args);
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarInformationController.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarInformationController.java
new file mode 100644
index 0000000..ffff2c0
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarInformationController.java
@@ -0,0 +1,110 @@
+package com.muyu.car.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.muyu.car.domain.CarInformation;
+import com.muyu.car.domain.req.CarInformationAddReq;
+import com.muyu.car.domain.req.CarInformationListReq;
+import com.muyu.car.domain.req.CarInformationUpdReq;
+import com.muyu.car.service.CarInformationService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.stereotype.Controller;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.annotation.RequestScope;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+@Log4j2
+@RestController
+@RequestMapping("/carinformation")
+@Tag(name = "车辆信息管理控制层" ,description = "进行车辆管理基础业务操作")
+public class CarInformationController {
+ @Resource
+ private CarInformationService carInformationService;
+
+ /**
+ * 企业车辆管理列表
+ * 联查--> 车辆管理--车辆类型表--车辆电子围栏
+ * 搜索-->(车辆唯一VIN carInformationVIN 精确查
+ * 车辆类型ID carTypeId 精确查
+ * 车辆电子围栏外键ID carInformationFence 精确查
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ * carInformationState 精确查
+ * 车辆电机厂商 carInformationMotorManufacturer 模糊查
+ * 车辆电机型号 carInformationMotorModel 精确查
+ * 车辆电池厂商 carInformationBatteryManufacturer 模糊查
+ * 车辆电池型号 carInformationBatteryModel 精确查
+ * )
+ * 分页--> 分页页数 pageNum 分页条数 pageSize
+ *
+ * @param carInformationListReq
+ * @return
+ */
+ @PostMapping("/selectCarInformationList")
+ @Operation(summary = "企业车辆管理列表")
+ public Result> selectCarInformationList(@Validated @RequestBody CarInformationListReq carInformationListReq) {
+ PageInfo pageInfo = carInformationService.selectCarInformationList(carInformationListReq);
+ log.info("企业车辆管理列表查询",carInformationListReq,pageInfo);
+ return Result.success(pageInfo);
+
+ }
+
+
+ /**
+ * 企业车辆添加管理
+ * @param carInformationAddReq
+ * @return
+ */
+ @PostMapping("/addCarInformation")
+ @Operation(summary = "企业车辆添加管理")
+ public Result addCarInformation(@Validated @RequestBody CarInformationAddReq carInformationAddReq){
+ return carInformationService.addCarInformation(carInformationAddReq);
+ }
+
+ /**
+ * 企业车辆删除
+ * @param carInformationId
+ * @return
+ */
+ @GetMapping("/delBycarInformationId/{carInformationId}")
+ @Operation(summary = "企业车辆删除")
+ public Result delBycarInformationId(@Validated @PathVariable("carInformationId") Integer carInformationId){
+ return carInformationService.delBycarInformationId(carInformationId);
+ }
+
+
+ /**
+ * 企业车辆修改管理
+ * @param carInformationUpdReq
+ * @return
+ */
+ @PostMapping("/updatecarInformation")
+ @Operation(summary = "企业车辆修改管理")
+ public Result updatecarInformation(@Validated @RequestBody CarInformationUpdReq carInformationUpdReq) {
+ log.info(carInformationUpdReq);
+ return carInformationService.updatecarInformation(carInformationUpdReq);
+ }
+
+
+
+ /**
+ * To 电子围栏负责人
+ * 查询企业车辆 carInformationID 和 carInformationLicensePlate
+ * 无参
+ * @return
+ */
+ @GetMapping("/selectCarInformationIdAndLicensePlate")
+ @Operation(summary = "查询企业车辆 carInformationID 和 carInformationLicensePlate")
+ public Result> selectCarInformationIdAndLicensePlate(){
+ List carInformations = carInformationService.selectBycarInformationIDAndLicensePlate();
+ return Result.success(carInformations);
+ }
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java
new file mode 100644
index 0000000..75d370a
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/controller/CarMessageController.java
@@ -0,0 +1,71 @@
+package com.muyu.car.controller;
+
+import com.muyu.car.domain.CarMessage;
+import com.muyu.car.service.CarMessageService;
+import com.muyu.common.core.domain.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Log4j2
+@RestController
+@RequestMapping("/carMessage")
+@Tag(name = "信息报文模块" )
+public class CarMessageController {
+ @Resource
+ private CarMessageService carMessageService;
+ /**
+ * 根据所属车类别 解析 车辆报文模板
+ * @param
+ * @return
+ */
+ @PostMapping("/selectCarMessageList")
+ @Operation(summary = "报文模板展示列表")
+ public Result> selectCarMessageList(){
+ List carMessages = carMessageService.selectCarMessageList();
+ return Result.success(carMessages);
+ }
+
+
+ /**
+ * 添加车辆报文规则
+ */
+ @PostMapping("/insertCarMessage")
+ @Operation(summary = "添加报文信息")
+ public Result insertCarMessage(@Validated @RequestBody CarMessage carMessage){
+ Result carMessage1 = carMessageService.insertCarMessage(carMessage);
+ return Result.success(carMessage1);
+ }
+
+ /**
+ * 删除车辆报文规则
+ *
+ */
+ @PostMapping("/delectByCarMessageId")
+ @Operation(summary = "删除报文信息")
+ public Result delectByCarMessageId(Integer carMessageId){
+ Result carMessage1 = carMessageService.delectByCarMessageId(carMessageId);
+ return Result.success(carMessage1);
+ }
+
+ /**
+ * 修改车辆报文规则
+ */
+ @PostMapping("/updateCarMessage")
+ @Operation(summary = "修改报文信息")
+ public Result updateCarMessage(@Validated @RequestBody CarMessage carMessage){
+ Result carMessage1 = carMessageService.updateCarMessage(carMessage);
+ return Result.success(carMessage1);
+ }
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarInformation.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarInformation.java
new file mode 100644
index 0000000..2427db7
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarInformation.java
@@ -0,0 +1,123 @@
+package com.muyu.car.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "企业车辆管理实体类",autoResultMap = true)
+public class CarInformation {
+
+ /**
+ * 车辆ID
+ */
+ private Long carInformationId;
+
+ /**
+ * 车辆唯一VIN
+ * 固定(不可修改)
+ */
+ private String carInformationVIN;
+
+ /**
+ * 车牌号
+ * 固定(不可修改)
+ */
+ private String carInformationLicensePlate;
+
+ /**
+ * 车辆品牌
+ */
+ private String carInformationBrand;
+
+ /**
+ * 车辆颜色
+ */
+ private String carInformationColor;
+
+ /**
+ * 车辆驾驶员
+ */
+ private String carInformationDriver;
+
+ /**
+ * 车检到期日期
+ * 固定(不可修改)
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+ private Date carInformationExamineEnddata;
+
+ /**
+ * 车辆电机厂商
+ */
+ private String carInformationMotorManufacturer;
+
+ /**
+ * 车辆电机型号
+ */
+ private String carInformationMotorModel;
+
+ /**
+ * 车辆电池厂商
+ */
+ private String carInformationBatteryManufacturer;
+
+ /**
+ * 车辆电池型号
+ */
+ private String carInformationBatteryModel;
+
+ /**
+ * 车辆电子围栏外键ID
+ */
+ private Integer carInformationFence;
+
+ /**
+ * 车辆类型外键ID
+ */
+ private Integer carInformationType;
+
+ /**
+ * 是否重点车辆 (0否默认 1是 )
+ */
+ private Integer carInformationFocus;
+
+ /**
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ */
+ private Integer carInformationState;
+
+
+ //车辆类型表
+ /**
+ * 车辆类型ID
+ */
+ private Integer carTypeId;
+ /**
+ * 车辆类型名
+ */
+ private String carTypeName;
+
+ //电子围栏
+ /**
+ *电子围栏ID
+ */
+ private Integer fenceid;
+
+ /**
+ * 电子围栏名
+ */
+ private String fencename;
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarMessage.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarMessage.java
new file mode 100644
index 0000000..551156d
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/CarMessage.java
@@ -0,0 +1,84 @@
+package com.muyu.car.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.models.security.SecurityScheme;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@TableName(value = "车辆报文模板实体类",autoResultMap = true)
+public class CarMessage {
+ //报文类型模块表
+ /**
+ * 自增主键
+ */
+ private Long messageTypeId;
+ /**
+ * 报文编码
+ */
+ private String messageTypeCode;
+ /**
+ * 报文名称
+ */
+ private String messageTypeName;
+ /**
+ * 报文所属类别
+ */
+ private String messageTypeBelongs;
+
+ //报文拆分位置主表
+ /**
+ * 自增主键
+ */
+ private Long carMessageId;
+ /**
+ * 车辆类型外键
+ */
+ private Integer carMessageCartype;
+ /**
+ * 车辆报文类型外键
+ */
+ private Integer carMessageType;
+ /**
+ * 开始位下标
+ */
+ private Integer carMessageStartIndex;
+ /**
+ * 结束位下标
+ */
+ private Integer carMessageEndIndex;
+ /**
+ * 报文数据类型 (固定值 区间随机值)
+ */
+ private String messageTypeClass;
+ /**
+ * 报文是否开启故障检测(0默认未开启 1开启)
+ */
+ private Integer carMessageState;
+
+
+
+/*
+ private Long messageTypeId ;
+ private String messageTypeCode ;
+ private String messageTypeName ;
+ private String messageTypeBelongs ;
+ private String messageTypeClass ;
+ private Long carMessageId ;
+ private Integer carMessageCartype ;
+ private Integer carMessageType ;
+ private Integer carMessageStartIndex ;
+ private Integer carMessageEndIndex ;
+ private Integer carMessageState ;
+ */
+
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationAddReq.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationAddReq.java
new file mode 100644
index 0000000..3d97a36
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationAddReq.java
@@ -0,0 +1,83 @@
+package com.muyu.car.domain.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Tag(name = "车辆管理信息添加对象")
+public class CarInformationAddReq {
+
+ /**
+ * 车辆唯一VIN
+ */
+ private String carInformationVIN;
+
+ /**
+ * 车牌号
+ */
+ private String carInformationLicensePlate;
+
+ /**
+ * 车辆品牌
+ */
+ private String carInformationBrand;
+
+ /**
+ * 车辆颜色
+ */
+ private String carInformationColor;
+
+ /**
+ * 车辆驾驶员
+ */
+ private String carInformationDriver;
+
+ /**
+ * 车检到期日期
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+ private String carInformationExamineEnddata;
+
+ /**
+ * 车辆电机厂商
+ */
+ private String carInformationMotorManufacturer;
+
+ /**
+ * 车辆电机型号
+ */
+ private String carInformationMotorModel;
+
+ /**
+ * 车辆电池厂商
+ */
+ private String carInformationBatteryManufacturer;
+
+ /**
+ * 车辆电池型号
+ */
+ private String carInformationBatteryModel;
+
+ /**
+ * 车辆电子围栏外键ID
+ */
+ private Integer carInformationFence;
+
+ /**
+ * 车辆类型外键ID
+ */
+ private Integer carInformationType;
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationListReq.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationListReq.java
new file mode 100644
index 0000000..6dc3a49
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationListReq.java
@@ -0,0 +1,110 @@
+package com.muyu.car.domain.req;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@Tag(name="车辆管理列表请求对象")
+public class CarInformationListReq {
+
+ /**
+ * 车辆唯一VIN
+ */
+ @Schema(
+ description = "车辆唯一VIN",
+ type = "String"
+ )
+ private String carInformationVIN;
+
+
+
+ /**
+ * 车辆类型ID
+ */
+ @Schema(
+ description = "车辆类型ID",
+ type = "Interger"
+ )
+ private Integer carTypeId;
+
+ /**
+ * 车辆电子围栏外键ID
+ */
+ @Schema(
+ description = "车辆电子围栏外键ID",
+ type = "Interger"
+ )
+ private Integer carInformationFence;
+
+ /**
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ */
+ @Schema(
+ description = "启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)",
+ type = "Interger"
+ )
+ private Integer carInformationState;
+
+ /**
+ * 车辆电机厂商
+ */
+ @Schema(
+ description = "车辆电机厂商",
+ type = "String"
+ )
+ private String carInformationMotorManufacturer;
+
+ /**
+ * 车辆电机型号
+ */
+ @Schema(
+ description = "车辆电机型号",
+ type = "String"
+ )
+ private String carInformationMotorModel;
+
+ /**
+ * 车辆电池厂商
+ */
+ @Schema(
+ description = "车辆电池厂商",
+ type = "String"
+ )
+ private String carInformationBatteryManufacturer;
+
+ /**
+ * 车辆电池型号
+ */
+ @Schema(
+ description = "车辆电池型号",
+ type = "String"
+ )
+ private String carInformationBatteryModel;
+
+ //分页页数
+ private Integer pageNum = 1;
+ //分页条数
+ private Integer pageSize = 5;
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationUpdReq.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationUpdReq.java
new file mode 100644
index 0000000..e846045
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/domain/req/CarInformationUpdReq.java
@@ -0,0 +1,99 @@
+package com.muyu.car.domain.req;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@Tag(name = "车辆管理修改操作请求对象")
+public class CarInformationUpdReq {
+
+ /**
+ * 车辆ID
+ */
+ @Schema(title = "车辆管理主键", type = "Long")
+ private Long carInformationId;
+
+ /**
+ * 车辆品牌
+ */
+ @Schema(title = "车辆品牌", type = "String")
+ private String carInformationBrand;
+
+ /**
+ * 车辆颜色
+ */
+ @Schema(title = "车辆颜色", type = "String")
+ private String carInformationColor;
+
+ /**
+ * 车辆驾驶员
+ */
+ @Schema(title = "车辆驾驶员", type = "String")
+ private String carInformationDriver;
+ /**
+ * 车辆电机厂商
+ */
+ @Schema(title = "车辆电机厂商", type = "String")
+ private String carInformationMotorManufacturer;
+
+ /**
+ * 车辆电机型号
+ */
+ @Schema(title = "车辆电机型号", type = "String")
+ private String carInformationMotorModel;
+
+ /**
+ * 车辆电池厂商
+ */
+ @Schema(title = "车辆电池厂商", type = "String")
+ private String carInformationBatteryManufacturer;
+
+ /**
+ * 车辆电池型号
+ */
+ @Schema(title = "车辆电池型号", type = "String")
+ private String carInformationBatteryModel;
+
+ /**
+ * 车辆电子围栏外键ID
+ */
+ @Schema(title = "车辆电子围栏外键ID", type = "Integer")
+ private Integer carInformationFence;
+
+ /**
+ * 车辆类型外键ID
+ */
+ @Schema(title = "车辆类型外键ID", type = "Integer")
+ private Integer carInformationType;
+
+ /**
+ * 是否重点车辆 (0否默认 1是 )
+ */
+ @Schema(title = "是否重点车辆 (0否默认 1是 )", type = "Integer")
+ private Integer carInformationFocus;
+
+ /**
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ */
+ @Schema(title = "启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)", type = "Integer")
+ private Integer carInformationState;
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java
new file mode 100644
index 0000000..0954456
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarInformationMapper.java
@@ -0,0 +1,66 @@
+package com.muyu.car.mapper;
+
+
+import com.muyu.car.domain.CarInformation;
+import com.muyu.car.domain.req.CarInformationAddReq;
+import com.muyu.car.domain.req.CarInformationListReq;
+import com.muyu.car.domain.req.CarInformationUpdReq;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface CarInformationMapper {
+/**
+ * 企业车辆管理列表
+ * 联查--> 车辆管理--车辆类型表--车辆电子围栏
+ * 搜索-->(车辆唯一VIN carInformationVIN 精确查
+ * 车辆类型ID carTypeId 精确查
+ * 车辆电子围栏外键ID carInformationFence 精确查
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ * carInformationState 精确查
+ * 车辆电机厂商 carInformationMotorManufacturer 模糊查
+ * 车辆电机型号 carInformationMotorModel 精确查
+ * 车辆电池厂商 carInformationBatteryManufacturer 模糊查
+ * 车辆电池型号 carInformationBatteryModel 精确查
+ * )
+ * 分页--> 分页页数 pageNum 分页条数 pageSize
+ * @param carInformationListReq
+ * @return
+ */
+ List selectCarInformationList(CarInformationListReq carInformationListReq);
+
+/**
+ * 企业车辆添加管理
+ * @param carInformationAddReq
+ * @return
+ */
+ Integer addCarInformation(CarInformationAddReq carInformationAddReq);
+
+/**
+ * 企业车辆删除
+ * @param carInformationId
+ * @return
+ */
+ Integer delBycarInformationId(Integer carInformationId);
+
+
+/**
+ * 企业车辆修改管理
+ * @param carInformationUpdReq
+ * @return
+ */
+ Integer updatecarInformation(CarInformationUpdReq carInformationUpdReq);
+
+/**
+ * To 电子围栏负责人
+ * 查询企业车辆 carInformationID 和 carInformationLicensePlate
+ * 无参
+ * @return
+ */
+ List selectBycarInformationIDAndLicensePlate();
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarMessageMapper.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarMessageMapper.java
new file mode 100644
index 0000000..7e4d846
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/mapper/CarMessageMapper.java
@@ -0,0 +1,34 @@
+package com.muyu.car.mapper;
+
+import com.muyu.car.domain.CarMessage;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface CarMessageMapper {
+ /**
+ * 根据所属车类别 解析 车辆报文模板
+ * @param
+ * @return
+ */
+ List selectCarMessageList();
+
+
+ /**
+ * 添加车辆报文规则
+ */
+ Integer insertCarMessage(CarMessage carMessage);
+
+
+ /**
+ * 删除车辆报文规则
+ */
+ Integer deleteByCarMessageId(Integer carMessageId);
+
+ /**
+ * 修改车辆报文规则
+ */
+ Integer updateCarMessage(CarMessage carMessage);
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarInformationService.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarInformationService.java
new file mode 100644
index 0000000..62e733b
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarInformationService.java
@@ -0,0 +1,64 @@
+package com.muyu.car.service;
+
+import com.github.pagehelper.PageInfo;
+import com.muyu.car.domain.CarInformation;
+import com.muyu.car.domain.req.CarInformationAddReq;
+import com.muyu.car.domain.req.CarInformationListReq;
+import com.muyu.car.domain.req.CarInformationUpdReq;
+import com.muyu.common.core.domain.Result;
+
+import java.util.List;
+
+public interface CarInformationService {
+ /**
+ * 企业车辆管理列表
+ * 联查--> 车辆管理--车辆类型表--车辆电子围栏
+ * 搜索-->(车辆唯一VIN carInformationVIN 精确查
+ * 车辆类型ID carTypeId 精确查
+ * 车辆电子围栏外键ID carInformationFence 精确查
+ * 启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)
+ * carInformationState 精确查
+ * 车辆电机厂商 carInformationMotorManufacturer 模糊查
+ * 车辆电机型号 carInformationMotorModel 精确查
+ * 车辆电池厂商 carInformationBatteryManufacturer 模糊查
+ * 车辆电池型号 carInformationBatteryModel 精确查
+ * )
+ * 分页--> 分页页数 pageNum 分页条数 pageSize
+ * @param carInformationListReq
+ * @return
+ */
+ PageInfo selectCarInformationList(CarInformationListReq carInformationListReq);
+
+
+ /**
+ * 企业车辆添加管理
+ * @param carInformationAddReq
+ * @return
+ */
+ Result addCarInformation(CarInformationAddReq carInformationAddReq);
+
+ /**
+ * 企业车辆删除
+ * @param carInformationId
+ * @return
+ */
+ Result delBycarInformationId(Integer carInformationId);
+
+
+ /**
+ * 企业车辆修改管理
+ * @param carInformationUpdReq
+ * @return
+ */
+ Result updatecarInformation(CarInformationUpdReq carInformationUpdReq);
+
+
+ /**
+ * To 电子围栏负责人
+ * 查询企业车辆 carInformationID 和 carInformationLicensePlate
+ * 无参
+ * @return
+ */
+ List selectBycarInformationIDAndLicensePlate();
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java
new file mode 100644
index 0000000..8f3a113
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/CarMessageService.java
@@ -0,0 +1,36 @@
+package com.muyu.car.service;
+
+import com.muyu.car.domain.CarMessage;
+import com.muyu.common.core.domain.Result;
+
+import java.util.List;
+
+public interface CarMessageService {
+
+ /**
+ * 根据所属车类别 解析 车辆报文模板
+ * @param
+ * @return
+ */
+ List selectCarMessageList();
+
+
+ /**
+ * 添加车辆报文规则
+ */
+ Result insertCarMessage(CarMessage carMessage);
+
+
+ /**
+ * 删除车辆报文规则
+ */
+ Result delectByCarMessageId(Integer carMessageId);
+
+
+ /**
+ * 修改车辆报文规则
+ */
+ Result updateCarMessage(CarMessage carMessage);
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java
new file mode 100644
index 0000000..053884d
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarInformationServiceImpl.java
@@ -0,0 +1,66 @@
+package com.muyu.car.service.Impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.muyu.car.domain.CarInformation;
+import com.muyu.car.domain.req.CarInformationAddReq;
+import com.muyu.car.domain.req.CarInformationListReq;
+import com.muyu.car.domain.req.CarInformationUpdReq;
+import com.muyu.car.mapper.CarInformationMapper;
+import com.muyu.car.service.CarInformationService;
+import com.muyu.common.core.domain.Result;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class CarInformationServiceImpl implements CarInformationService {
+ @Resource
+ private CarInformationMapper carInformationMapper;
+ @Autowired
+ private HttpServletResponse response;
+
+
+ @Override
+ public PageInfo selectCarInformationList(CarInformationListReq carInformationListReq) {
+ PageHelper.startPage(carInformationListReq.getPageNum(),carInformationListReq.getPageSize());
+ List carInformations = carInformationMapper.selectCarInformationList(carInformationListReq);
+ PageInfo pageInfo = new PageInfo<>(carInformations);
+ return pageInfo;
+ }
+
+ @Override
+ public Result addCarInformation(CarInformationAddReq carInformationAddReq) {
+ Integer addCarInformation = carInformationMapper.addCarInformation(carInformationAddReq);
+ if(addCarInformation > 0){
+ return Result.success(addCarInformation,"添加车辆成功");
+ }
+ return Result.error(402,"添加车辆失败");
+ }
+
+ @Override
+ public Result delBycarInformationId(Integer carInformationId) {
+ Integer delBycarInformationId = carInformationMapper.delBycarInformationId(carInformationId);
+ if (delBycarInformationId > 0){
+ return Result.success(delBycarInformationId ,"删除车辆成功");
+ }
+ return Result.success(402,"删除车辆失败");
+ }
+
+ @Override
+ public Result updatecarInformation(CarInformationUpdReq carInformationUpdReq) {
+ Integer updatecarInformation = carInformationMapper.updatecarInformation(carInformationUpdReq);
+ if (updatecarInformation > 0){
+ return Result.success(updatecarInformation,"修改车辆信息成功");
+ }
+ return Result.error(402,"修改车辆信息失败");
+ }
+
+ @Override
+ public List selectBycarInformationIDAndLicensePlate() {
+ return carInformationMapper.selectBycarInformationIDAndLicensePlate();
+ }
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java
new file mode 100644
index 0000000..830252f
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/java/com/muyu/car/service/Impl/CarMessageServiceImpl.java
@@ -0,0 +1,55 @@
+package com.muyu.car.service.Impl;
+
+import com.muyu.car.domain.CarMessage;
+import com.muyu.car.mapper.CarMessageMapper;
+import com.muyu.car.service.CarMessageService;
+import com.muyu.common.core.domain.Result;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class CarMessageServiceImpl implements CarMessageService {
+ @Resource
+ private CarMessageMapper carMessageMapper;
+
+ @Override
+ public List selectCarMessageList() {
+ return carMessageMapper.selectCarMessageList();
+ }
+
+ @Override
+ public Result insertCarMessage(CarMessage carMessage) {
+ Integer inserted = carMessageMapper.insertCarMessage(carMessage);
+ if (inserted > 0){
+ return Result.success(inserted,"添加成功");
+ }
+ return Result.error(402,"添加失败");
+ }
+
+ @Override
+ public Result delectByCarMessageId(Integer carMessageId) {
+ Integer deleteByCarMessageId = carMessageMapper.deleteByCarMessageId(carMessageId);
+ if (deleteByCarMessageId >0){
+ return Result.success(carMessageId ,"删除成功");
+ }
+ return Result.error(402,"删除失败");
+ }
+
+ @Override
+ public Result updateCarMessage(CarMessage carMessage) {
+ Integer integer = carMessageMapper.updateCarMessage(carMessage);
+ if(integer > 0)
+ {
+ return Result.success(carMessage,"修改成功");
+ }
+ return Result.error( 402,"修改失败");
+ }
+
+
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-car/src/main/resources/banner.txt b/cloud-modules/cloud-modules-car/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/cloud-modules/cloud-modules-car/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-car/src/main/resources/logback/dev.xml
new file mode 100644
index 0000000..bb11ed5
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/resources/logback/dev.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-car/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-car/src/main/resources/logback/prod.xml
new file mode 100644
index 0000000..dfafbd9
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/resources/logback/prod.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-car/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-car/src/main/resources/logback/test.xml
new file mode 100644
index 0000000..dfafbd9
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/resources/logback/test.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarInformationMapper.xml b/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarInformationMapper.xml
new file mode 100644
index 0000000..1325b02
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarInformationMapper.xml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT
+ car_information_id,
+ car_information_VIN,
+ car_information_license_plate,
+ car_information_brand,
+ car_information_color,
+ car_information_driver,
+ car_information_examine_enddata,
+ car_information_motor_manufacturer,
+ car_information_motor_model,
+ car_information_battery_manufacturer,
+ car_information_battery_model,
+ car_information_fence,
+ car_information_type,
+ car_information_focus,
+ car_information_state
+ FROM `car_information`
+
+
+
+
+
+
+
+
+ INSERT INTO `car_information`
+ (
+ car_information_VIN,
+ car_information_license_plate,
+ car_information_brand,
+ car_information_color,
+ car_information_driver,
+ car_information_examine_enddata,
+ car_information_motor_manufacturer,
+ car_information_motor_model,
+ car_information_battery_manufacturer,
+ car_information_battery_model,
+ car_information_fence,
+ car_information_type )
+ VALUES (
+ #{carInformationVIN},
+ #{carInformationLicensePlate},
+ #{carInformationBrand} ,
+ #{carInformationColor},
+ #{carInformationDriver},
+ #{carInformationExamineEnddata},
+ #{carInformationMotorManufacturer},
+ #{carInformationMotorModel},
+ #{carInformationBatteryManufacturer},
+ #{carInformationBatteryModel},
+ #{carInformationFence},
+ #{carInformationType} );
+
+
+
+ UPDATE `car_information`
+ SET
+ `car_information_VIN` = #{carInformationVIN},
+
+ `car_information_license_plate` = #{carInformationLicensePlate},
+
+ `car_information_brand` = #{carInformationBrand},
+
+ `car_information_color` = #{carInformationColor},
+
+ `car_information_driver` = #{carInformationDriver},
+
+ `car_information_examine_enddata` = #{carInformationExamineEnddata},
+
+ `car_information_motor_manufacturer` = #{carInformationMotorManufacturer},
+
+ `car_information_motor_model` = #{carInformationMotorModel} ,
+
+ `car_information_battery_manufacturer` = #{carInformationBatteryManufacturer},
+
+ `car_information_battery_model` = #{carInformationBatteryModel},
+
+ `car_information_fence` = #{carInformationFence},
+
+ `car_information_type` = #{carInformationType}
+
+ WHERE `car_information_id` = #{carInformationId}
+
+
+
+
+ DELETE FROM `car_information`
+ WHERE `car_information`.car_information_id= #{carInformationId}
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml b/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml
new file mode 100644
index 0000000..1c5e4e5
--- /dev/null
+++ b/cloud-modules/cloud-modules-car/src/main/resources/mapper/car/CarMessageMapper.xml
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO `car_message` (
+ car_message_cartype,
+ car_message_type,
+ car_message_start_index,
+ car_message_end_index,
+ message_type_class,
+ car_message_state
+ )
+ VALUES(
+ #{carMessageCartype},
+ #{carMessageType},
+ #{carMessageStartIndex},
+ #{carMessageEndIndex},
+ #{messageTypeClass},
+ #{carMessageState}
+ )
+
+
+
+ UPDATE `car_message`
+ SET
+
+ car_message_cartype = #{carMessageCartype} ,
+
+
+ car_message_type = #{carMessageType} ,
+
+
+ car_message_start_index = #{carMessageStartIndex} ,
+
+
+ car_message_end_index = #{carMessageEndIndex} ,
+
+
+ message_type_class = #{messageTypeClass} ,
+
+
+ car_message_state = #{carMessageState}
+
+
+
+
+
+ DELETE FROM `car_message`
+ WHERE `car_message`.car_message_id = #{carMessageId}
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java
index 37e48fc..4f552ca 100644
--- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java
+++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java
@@ -110,4 +110,6 @@ public class SysDeptController extends BaseController {
deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));
}
+
+
}
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/interceptor/DataSourceInterceptor.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/interceptor/DataSourceInterceptor.java
index 91a067d..770cc77 100644
--- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/interceptor/DataSourceInterceptor.java
+++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/interceptor/DataSourceInterceptor.java
@@ -35,4 +35,6 @@ public class DataSourceInterceptor implements HandlerInterceptor {
//请求完成之后进行清理操作
DataSourceContextHolder.clearDataSourceKey();
}
+
+
}
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/rabbit/RabbitTest.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/rabbit/RabbitTest.java
index 791711f..3c64aa7 100644
--- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/rabbit/RabbitTest.java
+++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/rabbit/RabbitTest.java
@@ -5,7 +5,6 @@ import com.muyu.system.domain.SysConfig;
import jakarta.annotation.PostConstruct;
import lombok.extern.log4j.Log4j2;
import org.springframework.amqp.core.Queue;
-import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java
index f9ac2fb..d333b42 100644
--- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java
+++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java
@@ -70,6 +70,7 @@ public class SysDeptServiceImpl extends ServiceImpl impl
return buildDeptTreeSelect(depts);
}
+
/**
* 构建前端所需要树结构
*
diff --git a/cloud-modules/pom.xml b/cloud-modules/pom.xml
index ba0d555..516b222 100644
--- a/cloud-modules/pom.xml
+++ b/cloud-modules/pom.xml
@@ -12,6 +12,7 @@
cloud-modules-system
cloud-modules-gen
cloud-modules-file
+ cloud-modules-car
cloud-modules