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] =?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