From 5fe71701dcda64adaa262a98203ddfde7cf09d26 Mon Sep 17 00:00:00 2001
From: chenchenxinhai <2793915820@qq.com>
Date: Fri, 24 Nov 2023 09:33:47 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E8=A7=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
car-base-common/pom.xml | 7 +-
.../main/java/com/god/base/common/Fence.java | 30 ----
.../com/god/base/common/domain/Breakdown.java | 45 ++++++
.../com/god/base/common/domain/Fault.java | 55 +++++++
.../base/common/domain/Faultcodealarm.java | 65 +++++++++
.../god/base/common/domain/MessageModel.java | 23 +++
.../com/god/base/common/domain/PageQuery.java | 44 ++++++
.../god/base/common/domain/RequestLog.java | 73 ++++++++++
.../domain/request/BreakdownRequest.java | 30 ++++
.../common/domain/request/FaultRequest.java | 51 +++++++
.../domain/response/BreakdownResponse.java | 40 ++++++
.../base/common/response/FenceResponse.java | 30 ----
.../god/base/server/config/ErrorConfig.java | 25 ++++
.../god/base/server/config/SpringUtils.java | 28 ++++
.../base/server/constant/BreakConstant.java | 102 +++++++++++++
.../controller/BreakdownController.java | 136 ++++++++++++++++++
.../server/controller/FaultController.java | 126 ++++++++++++++++
.../controller/FaultcodealarmController.java | 54 +++++++
.../server/controller/FenceController.java | 71 ---------
.../base/server/mapper/BreakdownMapper.java | 26 ++++
.../god/base/server/mapper/FaultMapper.java | 30 ++++
.../server/mapper/FaultcodealarmMapper.java | 20 +++
.../god/base/server/mapper/FenceMapper.java | 18 ---
.../base/server/mapper/RequestLogMapper.java | 14 ++
.../base/server/service/BreakdownService.java | 30 ++++
.../god/base/server/service/FaultService.java | 32 +++++
.../server/service/FaultcodealarmService.java | 16 +++
.../god/base/server/service/FenceService.java | 17 ---
.../server/service/RequestLogService.java | 18 +++
.../service/impl/BreakdownServiceImpl.java | 64 +++++++++
.../server/service/impl/FaultServiceImpl.java | 59 ++++++++
.../impl/FaultcodealarmServiceImpl.java | 33 +++++
.../server/service/impl/FenceServiceImpl.java | 51 -------
.../service/impl/RequestLogServiceImpl.java | 23 +++
.../base/server/service/impl/asyncSave.java | 84 +++++++++++
.../base/server/utils/BreakdownMessage.java | 101 +++++++++++++
.../src/main/resources/mapper/FenceMapper.xml | 36 -----
37 files changed, 1453 insertions(+), 254 deletions(-)
delete mode 100644 car-base-common/src/main/java/com/god/base/common/Fence.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/Breakdown.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/Fault.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/Faultcodealarm.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/MessageModel.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/PageQuery.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/RequestLog.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/request/BreakdownRequest.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/request/FaultRequest.java
create mode 100644 car-base-common/src/main/java/com/god/base/common/domain/response/BreakdownResponse.java
delete mode 100644 car-base-common/src/main/java/com/god/base/common/response/FenceResponse.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/config/ErrorConfig.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/config/SpringUtils.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/constant/BreakConstant.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/controller/BreakdownController.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/controller/FaultController.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/controller/FaultcodealarmController.java
delete mode 100644 car-base-server/src/main/java/com/god/base/server/controller/FenceController.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/mapper/BreakdownMapper.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/mapper/FaultMapper.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/mapper/FaultcodealarmMapper.java
delete mode 100644 car-base-server/src/main/java/com/god/base/server/mapper/FenceMapper.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/mapper/RequestLogMapper.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/BreakdownService.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/FaultService.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/FaultcodealarmService.java
delete mode 100644 car-base-server/src/main/java/com/god/base/server/service/FenceService.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/RequestLogService.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/impl/BreakdownServiceImpl.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/impl/FaultServiceImpl.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/impl/FaultcodealarmServiceImpl.java
delete mode 100644 car-base-server/src/main/java/com/god/base/server/service/impl/FenceServiceImpl.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/impl/RequestLogServiceImpl.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/service/impl/asyncSave.java
create mode 100644 car-base-server/src/main/java/com/god/base/server/utils/BreakdownMessage.java
delete mode 100644 car-base-server/src/main/resources/mapper/FenceMapper.xml
diff --git a/car-base-common/pom.xml b/car-base-common/pom.xml
index 2d75077..8d837e6 100644
--- a/car-base-common/pom.xml
+++ b/car-base-common/pom.xml
@@ -43,7 +43,12 @@
com.god
god-common-swagger
+
+ com.bawei
+ bawei-common-core
+ 3.6.0
+
-
\ No newline at end of file
+
diff --git a/car-base-common/src/main/java/com/god/base/common/Fence.java b/car-base-common/src/main/java/com/god/base/common/Fence.java
deleted file mode 100644
index f76de0c..0000000
--- a/car-base-common/src/main/java/com/god/base/common/Fence.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.god.base.common;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class Fence {
- /** 电子围栏ID */
- private Integer fenceId ;
- /** 围栏名称 */
- private String fenceName ;
- /** 围栏经纬度 */
- private String fenceLat ;
- /** 激活状态 */
- private Integer fenceStatus ;
- /** 操作时间 */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
- private Date fenceTime ;
- /** 操作者 */
- private Integer createBy ;
-}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/Breakdown.java b/car-base-common/src/main/java/com/god/base/common/domain/Breakdown.java
new file mode 100644
index 0000000..2ee4aaa
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/Breakdown.java
@@ -0,0 +1,45 @@
+package com.god.base.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.god.common.core.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.Date;
+
+/**
+ * 故障信息
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:08
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@TableName("t_car_breakdown")
+public class Breakdown {
+ // 故障信息表Id
+ private Integer id;
+ // 车辆VIN
+ private String carVin;
+ // 故障码Id
+ @NotEmpty(message = "故障码Id不能为空")
+ private String breadownId;
+ // 故障状态
+ private Integer status;
+ // 故障开始时间
+ private Date createTime;
+ // 故障结束时间
+ private Date endTime;
+ // 创建者
+ private String createBy;
+ // 更新人
+ private String updateBy;
+ // 更新时间
+ private Date updateTime;
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/Fault.java b/car-base-common/src/main/java/com/god/base/common/domain/Fault.java
new file mode 100644
index 0000000..f0278af
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/Fault.java
@@ -0,0 +1,55 @@
+package com.god.base.common.domain;
+
+import com.god.common.core.annotation.Excel;
+import com.god.common.core.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 故障表
+ *
+ * @author ChenXinHai
+ * @version 2023/11/21 - 14:59
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class Fault {
+ /** 故障id */
+ private Integer faultId;
+
+ /** 故障类型 */
+ @Excel(name = "故障类型")
+ private String faultType;
+
+ /** 故障组 */
+ @Excel(name = "故障组")
+ private String faultGroup;
+
+ /** 故障位 */
+ @Excel(name = "故障位")
+ private String faultSite;
+
+ /** 故障值 */
+ @Excel(name = "故障值")
+ private String faultValue;
+
+ /** 故障标签 */
+ @Excel(name = "故障标签")
+ private String faultLabel;
+
+ /** 故障码 */
+ @Excel(name = "故障码")
+ private String faultCoed;
+
+ /** 是否警告 */
+ @Excel(name = "是否警告")
+ private Long isWarn;
+
+
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/Faultcodealarm.java b/car-base-common/src/main/java/com/god/base/common/domain/Faultcodealarm.java
new file mode 100644
index 0000000..2cf68c9
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/Faultcodealarm.java
@@ -0,0 +1,65 @@
+package com.god.base.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * 故障码告警
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:26
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class Faultcodealarm {
+ /**
+ * 序号
+ */
+ private Integer serialNumber;
+ /**
+ * 故障码
+ */
+ private Integer faultId;
+ /**
+ * 故障名称
+ */
+ private String faultName;
+ /**
+ * 车辆公告型号
+ */
+ private String vehicleAnnouncementType;
+ /**
+ * 零部件
+ */
+ private String parts;
+ /**
+ * 故障描述
+ */
+ private String faultDescribe;
+ /**
+ * 故障级别
+ */
+ private String faultType;
+ /**
+ * 级别描述
+ */
+ private String faultRankDescribe;
+ /**
+ * 是否产生报警
+ */
+ private Long isWarn;
+ /**
+ * 响应方式
+ */
+ private String responseMode;
+ /**
+ * 是否创建工单
+ */
+ private String ifCreate;
+
+
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/MessageModel.java b/car-base-common/src/main/java/com/god/base/common/domain/MessageModel.java
new file mode 100644
index 0000000..800b93b
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/MessageModel.java
@@ -0,0 +1,23 @@
+package com.god.base.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 报文
+ *
+ * @author ChenXinHai
+ * @version 2023/11/23 - 19:13
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class MessageModel {
+ /**
+ * 消息标识
+ */
+ private String messageId;
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/PageQuery.java b/car-base-common/src/main/java/com/god/base/common/domain/PageQuery.java
new file mode 100644
index 0000000..901b4d6
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/PageQuery.java
@@ -0,0 +1,44 @@
+package com.god.base.common.domain;
+
+import com.alibaba.druid.util.StringUtils;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+/**
+ * 分页查询对象
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 20:00
+ */
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+public class PageQuery {
+ /**
+ * 第几页
+ */
+ private Integer page;
+
+ /**
+ * 分页长度
+ */
+ private Integer pageSize;
+
+ /**
+ *排序
+ */
+ private String orderBy;
+
+ public Page buildPage() {
+ Page page = new Page<>(this.getPage(), this.getPageSize());
+ if (StringUtils.isEmpty(this.getOrderBy())){
+ page.addOrder(OrderItem.asc(this.getOrderBy()));
+ }
+ return page;
+ }
+
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/RequestLog.java b/car-base-common/src/main/java/com/god/base/common/domain/RequestLog.java
new file mode 100644
index 0000000..ffde055
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/RequestLog.java
@@ -0,0 +1,73 @@
+package com.god.base.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 日志
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 18:31
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("request_log")
+public class RequestLog extends Model {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 编号
+ */
+ @TableId(value = "id",type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 用户名
+ */
+ private String userName;
+ /**
+ * 用户代理(客户端)
+ */
+ private String userAgent;
+ /**
+ * 请求URL
+ */
+ private String requestUrl;
+ /**
+ * IP
+ */
+ private String ip;
+ /**
+ * 请求方法
+ */
+ private String declaringSignature;
+ /**
+ * 请求参数
+ */
+ private String args;
+ /**
+ * 异常
+ */
+ private String exception;
+ /**
+ * 耗时,单位毫秒
+ */
+ private Integer elapsedTime;
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createTime;
+
+ @Override
+ public Serializable pkVal(){
+ return this.id;
+ }
+
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/request/BreakdownRequest.java b/car-base-common/src/main/java/com/god/base/common/domain/request/BreakdownRequest.java
new file mode 100644
index 0000000..c52edd9
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/request/BreakdownRequest.java
@@ -0,0 +1,30 @@
+package com.god.base.common.domain.request;
+
+import com.god.base.common.domain.PageQuery;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * 车辆故障码
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:39
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@SuperBuilder
+public class BreakdownRequest extends PageQuery {
+
+ // 故障码Id
+ @NotEmpty(message = "故障码Id不能为空")
+ private String breadownId;
+
+
+
+
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/request/FaultRequest.java b/car-base-common/src/main/java/com/god/base/common/domain/request/FaultRequest.java
new file mode 100644
index 0000000..60f4886
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/request/FaultRequest.java
@@ -0,0 +1,51 @@
+package com.god.base.common.domain.request;
+
+import com.god.common.core.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * 故障码request
+ *
+ * @author ChenXinHai
+ * @version 2023/11/21 - 18:38
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class FaultRequest {
+ /** 故障id */
+ private Integer faultId;
+
+ /** 故障类型 */
+ @Excel(name = "故障类型")
+ private String faultType;
+
+ /** 故障组 */
+ @Excel(name = "故障组")
+ private String faultGroup;
+
+ /** 故障位 */
+ @Excel(name = "故障位")
+ private String faultSite;
+
+ /** 故障值 */
+ @Excel(name = "故障值")
+ private String faultValue;
+
+ /** 故障标签 */
+ @Excel(name = "故障标签")
+ private String faultLabel;
+
+ /** 故障码 */
+ @Excel(name = "故障码")
+ private String faultCoed;
+
+ /** 是否警告 */
+ @Excel(name = "是否警告")
+ private Long isWarn;
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/domain/response/BreakdownResponse.java b/car-base-common/src/main/java/com/god/base/common/domain/response/BreakdownResponse.java
new file mode 100644
index 0000000..52d03f2
--- /dev/null
+++ b/car-base-common/src/main/java/com/god/base/common/domain/response/BreakdownResponse.java
@@ -0,0 +1,40 @@
+package com.god.base.common.domain.response;
+
+import com.god.base.common.domain.PageQuery;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * 车辆故障码
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:39
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@SuperBuilder
+public class BreakdownResponse extends PageQuery {
+
+ // 故障信息表Id
+ private Integer id;
+ // 故障码Id
+
+ private String breadownId;
+ // 创建者
+ private String createBy;
+ // 创建时间
+ private Date createTime;
+ // 更新人
+ private String updateBy;
+ // 更新时间
+ private Date updateTime;
+
+
+
+
+}
diff --git a/car-base-common/src/main/java/com/god/base/common/response/FenceResponse.java b/car-base-common/src/main/java/com/god/base/common/response/FenceResponse.java
deleted file mode 100644
index 3a32d2e..0000000
--- a/car-base-common/src/main/java/com/god/base/common/response/FenceResponse.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.god.base.common.response;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class FenceResponse {
- /** 电子围栏ID */
- private Integer fenceId ;
- /** 围栏名称 */
- private String fenceName ;
- /** 围栏经纬度 */
- private String fenceLat ;
- /** 激活状态 */
- private Integer fenceStatus ;
- /** 操作时间 */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
- private Date fenceTime ;
- /** 操作者 */
- private Integer createBy ;
-}
diff --git a/car-base-server/src/main/java/com/god/base/server/config/ErrorConfig.java b/car-base-server/src/main/java/com/god/base/server/config/ErrorConfig.java
new file mode 100644
index 0000000..492fd7c
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/config/ErrorConfig.java
@@ -0,0 +1,25 @@
+package com.god.base.server.config;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 故障管理
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:47
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class ErrorConfig {
+ private Map map=new HashMap<>();
+
+ private Map sentVindMap=new HashMap<>();
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/config/SpringUtils.java b/car-base-server/src/main/java/com/god/base/server/config/SpringUtils.java
new file mode 100644
index 0000000..9e9a870
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/config/SpringUtils.java
@@ -0,0 +1,28 @@
+package com.god.base.server.config;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+/**
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:55
+ */
+public class SpringUtils implements ApplicationContextAware {
+ private static ApplicationContext applicationContext;
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) {
+ SpringUtils.applicationContext=applicationContext;
+ }
+ public static ApplicationContext getApplicationContext(){
+ return applicationContext;
+ }
+
+ /**
+ * 通过name 获取bean
+ */
+ public static Object getBean(String name){
+ return getApplicationContext().getBean(name);
+ }
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/constant/BreakConstant.java b/car-base-server/src/main/java/com/god/base/server/constant/BreakConstant.java
new file mode 100644
index 0000000..53f3618
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/constant/BreakConstant.java
@@ -0,0 +1,102 @@
+package com.god.base.server.constant;
+
+/**
+ * 故障信息
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 21:48
+ */
+public enum BreakConstant {
+ /**
+ * 车辆状态
+ */
+ GET001("GTX001","vehicleStatus",0),
+ /**
+ * 充点状态
+ */
+ GTX002("GTX002","chargingStatus",0),
+ /**
+ * 运行状态
+ */
+ GTX003("GTX003","operatingStatus",0),
+ /**
+ * SOC
+ */
+ GTX004("GTX004","socStatus",0),
+ /**
+ * 可充电储能装置工作状态
+ */
+ GTX005("GTX005","chargingEnergyStorageStatus",0),
+ /**
+ * 驱动电机状态
+ */
+ GTX006("GTX006","driveMotorStatus",0),
+ /**
+ * 定位是否有效
+ */
+ GTX007("GTX007","positionStatus",0),
+ /**
+ * EPS工作状态
+ */
+ GTO0001("GTO001","epsStatus",0),
+ /**
+ * EAS工作状态
+ */
+ GTO0002("GTO002","easStatus",0),
+ /**
+ * PTC工作状态
+ */
+ GTO003("GTO003","ptcStatus",0),
+ /**
+ * DCDC工作状态
+ */
+ GTO004("GTO004","dcdcStatus",0),
+ /**
+ * EPS工作状态
+ */
+ GTO005("GTO005","epsStatus",0),
+ /**
+ * CHG工作状态
+ */
+ GTO006("GTO006","chgStatus",0),
+ /**
+ * ABS工作状态
+ */
+ GTO007("GTO007","absStatus",0),
+ /**
+ * MCU工作状态
+ */
+ GTO008("GTO008","mcuStatus",0),
+ /**
+ * 动力电池加热状态
+ */
+ GTB001("GTB001","heatingStatus",0),
+ /**
+ * 动力电池当前状态
+ */
+ GTB002("GTB002","batteryStatus",0),
+ /**
+ * 动力电池保温状态
+ */
+ GTB003("GTB003","batteryInsulationStatus",0);
+ private String key;
+ private String value;
+ private Integer status;
+ public String key(){
+ return key;
+ }
+ public Integer status(){
+ return status;
+ }
+ public String value(){
+ return value;
+ }
+ public void value(String value){
+ this.value=value;
+ }
+ BreakConstant(String key,String value,Integer status){
+ this.key=key;
+ this.value=value;
+ this.status=status;
+ }
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/controller/BreakdownController.java b/car-base-server/src/main/java/com/god/base/server/controller/BreakdownController.java
new file mode 100644
index 0000000..afc4a57
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/controller/BreakdownController.java
@@ -0,0 +1,136 @@
+package com.god.base.server.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.api.model.v2.Result;
+import com.bawei.common.core.domain.R;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.request.BreakdownRequest;
+import com.god.base.server.service.BreakdownService;
+import com.god.common.core.utils.poi.ExcelUtil;
+import com.god.common.core.web.page.TableDataInfo;
+import com.god.common.log.annotation.Log;
+import com.god.common.log.enums.BusinessType;
+import com.god.common.security.annotation.RequiresPermissions;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 车辆故障码controller
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:31
+ */
+@RestController
+@RequestMapping("/Breakdown")
+@Log4j2
+public class BreakdownController {
+ @Autowired
+ private BreakdownService breakdownService;
+ private HttpServletRequest request;
+
+ /**
+ * 故障日志列表
+ * @param breakdown
+ * @return
+ */
+ @RequiresPermissions("breakedown:breakedown:list")
+ @GetMapping("/list")
+ public Result> breakdownList(Breakdown breakdown){
+ log.info("名称:故障日志列表,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod());
+ Result> result=breakdownService.breakdown(breakdown);
+ log.info("名称:故障日志列表,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
+ request.getMethod(), JSONObject.toJSONString(result));
+ return result;
+ }
+
+ /**
+ * 导出故障数据日志
+ * @param response
+ * @param breakdown
+ */
+ @RequiresPermissions("breakdown:breakdown:export")
+ @Log(title = "故障日志",businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, Breakdown breakdown){
+
+ Result> list = breakdownService.breakdown(breakdown);
+ ExcelUtil util = new ExcelUtil<>(Breakdown.class);
+ // 对list数据源将其里面的数据导入出来
+ util.exportExcel(response,list.getData(),"车辆故障码");
+ }
+
+ /**
+ * 获取故障日志详细信息
+ * @param id
+ * @return
+ */
+ @RequiresPermissions("breakdown:breakdown:query")
+ @GetMapping("query")
+ public Result query(Integer id){
+ log.info("名称:获取日志详细信息,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(id));
+ breakdownService.query(id);
+ Result result=Result.success();
+ log.info("名称:获取日志详细信息,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+ @RequiresPermissions("breakdown:breakdown:breakdownAdd")
+ @Log(title = "故障日志",businessType = BusinessType.INSERT)
+ @PostMapping("breakdownAdd")
+ public Result breakdown(@RequestBody Breakdown breakdown){
+ log.info("名称:新增故障日志,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),breakdown);
+ breakdownService.breakdownAdd(breakdown);
+ Result result=Result.success();
+ log.info("名称:新增故障日志,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+ /**
+ * 修改故障日志
+ * @param breakdown
+ * @return
+ */
+ @RequiresPermissions("breakdown:breakdown:breakdownUpdate")
+ @Log(title = "故障日志",businessType = BusinessType.UPDATE)
+ @PostMapping("breakdownUpdate")
+ public Result breakdownUpdate(@RequestBody Breakdown breakdown){
+ log.info("名称:修改故障日志,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),breakdown);
+ breakdownService.breakdownUpdate(breakdown);
+ Result result=Result.success();
+ log.info("名称:修改故障日志,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+ /**
+ * 删除故障日志
+ * @param id
+ * @return
+ */
+ @RequiresPermissions("breakdown:breakdown:breakdownDelete")
+ @Log(title = "故障日志",businessType = BusinessType.DELETE)
+ @PostMapping("breakdownDelete")
+ public Result breakdownDelete(Integer id){
+ log.info("名称:删除故障日志,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(id));
+ breakdownService.breakdownDelete(id);
+ Result result= Result.success();
+ log.info("名称:删除故障日志,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/controller/FaultController.java b/car-base-server/src/main/java/com/god/base/server/controller/FaultController.java
new file mode 100644
index 0000000..92a26e0
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/controller/FaultController.java
@@ -0,0 +1,126 @@
+package com.god.base.server.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.api.model.v2.Result;
+import com.bawei.common.core.domain.R;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.request.BreakdownRequest;
+import com.god.base.common.domain.request.FaultRequest;
+import com.god.base.server.service.FaultService;
+import com.god.common.core.utils.poi.ExcelUtil;
+import com.god.common.core.web.controller.BaseController;
+import com.god.common.core.web.page.TableDataInfo;
+import com.god.common.log.annotation.Log;
+import com.god.common.log.enums.BusinessType;
+import com.god.common.security.annotation.RequiresPermissions;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 故障表
+ *
+ * @author ChenXinHai
+ * @version 2023/11/21 - 18:33
+ */
+@RestController
+@RequestMapping("/fault")
+@Log4j2
+public class FaultController extends BaseController {
+ @Autowired
+ private FaultService faultService;
+ private HttpServletRequest request;
+ /**
+ *查询车辆故障码列表
+ */
+// @RequiresPermissions("fault:fault:list")
+ @GetMapping("/list")
+ public Result> faultList(Fault fault){
+ log.info("功能名称:故障码列表,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod());
+ Result> result=faultService.faultList(fault);
+ log.info("功能名称:故障码列表,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
+ request.getMethod(), JSONObject.toJSONString(result));
+ return result;
+ }
+
+ /**
+ * 导出车辆故障码列表
+ */
+// @RequiresPermissions("fault:fault:export")
+ @Log(title="车辆故障码",businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response,Fault fault){
+ Result> list=faultService.faultList(fault);
+ ExcelUtil util = new ExcelUtil<>(Fault.class);
+ // 对list数据源将其里面的数据导入出来
+ util.exportExcel(response,list.getData(),"车辆故障码");
+ }
+
+
+ /**
+ * 添加故障数据
+ * @param fault
+ * @return
+ */
+
+// @RequiresPermissions("fault:fault:add")
+ @Log(title = "车辆故障码",businessType = BusinessType.EXPORT)
+ @PostMapping("/faultAdd")
+ public Result faultAdd(@RequestBody Fault fault){
+ log.info("名称:添加故障数据,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),fault);
+ faultService.add(fault);
+ Result result= Result.success();
+ log.info("名称:添加故障数据,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+ /**
+ * 删除故障数据
+ * @param faultId
+ * @return
+ */
+
+// @RequiresPermissions("fault:fault:delete")
+ @Log(title = "车辆故障码",businessType = BusinessType.EXPORT)
+ @PostMapping("faultDelete")
+ public Result faultDelete(Integer faultId){
+ log.info("名称:删除故障编码,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(faultId));
+ faultService.faultDelete(faultId);
+ Result result=Result.success();
+ log.info("名称:删除故障数据,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+ /**
+ * 修改故障数据
+ * @param fault
+ * @return
+ */
+// @RequiresPermissions("fault:fault:update")
+ @Log(title = "车辆故障码",businessType = BusinessType.EXPORT)
+ @PostMapping("faultUpdate")
+ public Result faultUpdate(@RequestBody Fault fault){
+ log.info("名称:修改故障数据,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod(),fault);
+ faultService.faultUpdate(fault);
+ Result result=Result.success();
+ log.info("名称:修改故障数据,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+
+
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/controller/FaultcodealarmController.java b/car-base-server/src/main/java/com/god/base/server/controller/FaultcodealarmController.java
new file mode 100644
index 0000000..dbca6ce
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/controller/FaultcodealarmController.java
@@ -0,0 +1,54 @@
+package com.god.base.server.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.api.model.v2.Result;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.Faultcodealarm;
+import com.god.base.common.domain.request.BreakdownRequest;
+import com.god.base.server.service.FaultcodealarmService;
+import com.god.common.core.web.page.TableDataInfo;
+import com.god.common.security.annotation.RequiresPermissions;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * 故障码告警规则
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:35
+ */
+@RestController
+@RequestMapping("/Faultcodealarm")
+@Log4j2
+public class FaultcodealarmController {
+
+ @Autowired
+ private FaultcodealarmService faultcodealarmService;
+ private HttpServletRequest request;
+
+
+ @RequiresPermissions("faultcodealarm:faultcodealarm:list")
+ @GetMapping("/list")
+ public Result> faultcodealarmList(Faultcodealarm faultcodealarm){
+ log.info("功能名称:故障告警列表,请求URI:{},请求方法:{}",request.getRequestURI(),
+ request.getMethod());
+ Result> result=faultcodealarmService.faultcodealarmList(faultcodealarm);
+ log.info("功能名称:故障告警列表,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
+ request.getMethod(),JSONObject.toJSONString(result));
+ return result;
+ }
+
+
+
+
+
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/controller/FenceController.java b/car-base-server/src/main/java/com/god/base/server/controller/FenceController.java
deleted file mode 100644
index 2ff2cc3..0000000
--- a/car-base-server/src/main/java/com/god/base/server/controller/FenceController.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.god.base.server.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.nacos.api.model.v2.Result;
-import com.god.base.common.Fence;
-import com.god.base.common.response.FenceResponse;
-import com.god.base.server.service.FenceService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-@RestController
-@RequestMapping("/fence")
-@Log4j2
-public class FenceController {
- @Autowired
- private FenceService fenceService;
- private HttpServletRequest request;
-
-
- // 电子围栏列表
- @GetMapping("/fencingList")
- public Result> fencingList(){
- log.info("功能名称:电子围栏,请求URL:【{}】,请求方法:【{}】",request.getRequestURI(),
- request.getMethod());
- Result> result = fenceService.fencingList();
- log.info("功能名称:电子围栏,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
- request.getMethod(), JSONObject.toJSONString(result));
- return result;
- }
-
- // 添加电子围栏
- @PostMapping("/addfencing")
- public Result addfencing(@RequestBody Fence fence){
- log.info("功能名称:添加电子围栏,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(),
- request.getMethod(),fence);
- fenceService.addfencing(fence);
- Result result = Result.success();
- log.info("功能名称:添加电子围栏,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
- request.getMethod(), JSONObject.toJSONString(result));
- return result;
- }
-
-
- // 删除围栏
- @PostMapping("/deleteFencingById/{fencingId}")
- public Result deleteFencingById(@PathVariable Integer fencingId){
- log.info("功能名称:获取编号删除围栏,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(),
- request.getMethod(),fencingId);
- Result result = fenceService.deleteFencingById(fencingId);
- log.info("功能名称:获取编号删除围栏,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
- request.getMethod(), JSONObject.toJSONString(result));
- return result;
- }
-
-
- // 修改围栏
- @PostMapping("/updateFencing")
- public Result updateFencing(@RequestBody Fence fence){
- log.info("功能名称:修改围栏,请求URL:【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(),
- request.getMethod(),fence);
- Result result = fenceService.updateFencing(fence);
- log.info("功能名称:修改围栏,请求URL:【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
- request.getMethod(), JSONObject.toJSONString(result));
- return result;
- }
-
-}
diff --git a/car-base-server/src/main/java/com/god/base/server/mapper/BreakdownMapper.java b/car-base-server/src/main/java/com/god/base/server/mapper/BreakdownMapper.java
new file mode 100644
index 0000000..fce4906
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/mapper/BreakdownMapper.java
@@ -0,0 +1,26 @@
+package com.god.base.server.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.god.base.common.domain.Breakdown;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 车辆故障码mapper
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:31
+ */
+@Mapper
+public interface BreakdownMapper extends BaseMapper {
+ List breakdownList(Breakdown breakdown);
+
+ void query(Integer id);
+
+ void breakdownAdd(Breakdown breakdown);
+
+ void breakdownUpdate(Breakdown breakdown);
+
+ void breakdownDelete(Integer id);
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/mapper/FaultMapper.java b/car-base-server/src/main/java/com/god/base/server/mapper/FaultMapper.java
new file mode 100644
index 0000000..94c70d2
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/mapper/FaultMapper.java
@@ -0,0 +1,30 @@
+package com.god.base.server.mapper;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.request.FaultRequest;
+import com.god.common.core.web.page.TableDataInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 故障Mapper
+ *
+ * @author ChenXinHai
+ * @version 2023/11/21 - 18:33
+ */
+@Mapper
+public interface FaultMapper extends BaseMapper {
+
+
+ List faultList(Fault fault);
+
+ void add(Fault fault);
+
+ void faultUpdate(Fault fault);
+
+ void faultDelete(Integer faultId);
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/mapper/FaultcodealarmMapper.java b/car-base-server/src/main/java/com/god/base/server/mapper/FaultcodealarmMapper.java
new file mode 100644
index 0000000..d3b6599
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/mapper/FaultcodealarmMapper.java
@@ -0,0 +1,20 @@
+package com.god.base.server.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.god.base.common.domain.Faultcodealarm;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 故障码告警Mapper
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:35
+ */
+@Mapper
+public interface FaultcodealarmMapper extends BaseMapper {
+
+
+ List faultcodealarmList(Faultcodealarm faultcodealarm);
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/mapper/FenceMapper.java b/car-base-server/src/main/java/com/god/base/server/mapper/FenceMapper.java
deleted file mode 100644
index 7900781..0000000
--- a/car-base-server/src/main/java/com/god/base/server/mapper/FenceMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.god.base.server.mapper;
-
-import com.god.base.common.Fence;
-import com.god.base.common.response.FenceResponse;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-@Mapper
-public interface FenceMapper {
- List fencingList();
-
- void addfencing(Fence fence);
-
- int deleteFencingById(Integer fencingId);
-
- int updateFencing(Fence fence);
-}
diff --git a/car-base-server/src/main/java/com/god/base/server/mapper/RequestLogMapper.java b/car-base-server/src/main/java/com/god/base/server/mapper/RequestLogMapper.java
new file mode 100644
index 0000000..9f81b84
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/mapper/RequestLogMapper.java
@@ -0,0 +1,14 @@
+//package com.god.base.server.mapper;
+//
+//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+//import com.god.base.common.domain.RequestLog;
+//
+///**
+// * AOP
+// *
+// * @author ChenXinHai
+// * @version 2023/11/22 - 18:38
+// */
+//public interface RequestLogMapper extends BaseMapper {
+//
+//}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/BreakdownService.java b/car-base-server/src/main/java/com/god/base/server/service/BreakdownService.java
new file mode 100644
index 0000000..b904051
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/BreakdownService.java
@@ -0,0 +1,30 @@
+package com.god.base.server.service;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.request.BreakdownRequest;
+import com.god.common.core.web.page.TableDataInfo;
+
+import java.util.List;
+
+/**
+ * 车辆故障码service
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:32
+ */
+public interface BreakdownService extends IService {
+
+
+ Result> breakdown(Breakdown breakdown);
+
+
+ void query(Integer id);
+
+ void breakdownAdd(Breakdown breakdown);
+
+ void breakdownUpdate(Breakdown breakdown);
+
+ void breakdownDelete(Integer id);
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/FaultService.java b/car-base-server/src/main/java/com/god/base/server/service/FaultService.java
new file mode 100644
index 0000000..0fe767d
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/FaultService.java
@@ -0,0 +1,32 @@
+package com.god.base.server.service;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.request.FaultRequest;
+import com.god.common.core.web.page.TableDataInfo;
+
+import java.util.List;
+
+/**
+ * 故障service
+ *
+ * @author ChenXinHai
+ * @version 2023/11/21 - 18:33
+ */
+public interface FaultService extends IService {
+
+
+ Result> faultList(Fault fault);
+
+ void add(Fault fault);
+
+
+
+ void faultUpdate(Fault fault);
+
+
+
+ void faultDelete(Integer faultId);
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/FaultcodealarmService.java b/car-base-server/src/main/java/com/god/base/server/service/FaultcodealarmService.java
new file mode 100644
index 0000000..2df60af
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/FaultcodealarmService.java
@@ -0,0 +1,16 @@
+package com.god.base.server.service;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.god.base.common.domain.Faultcodealarm;
+
+import java.util.List;
+
+/**
+ * 故障码告警service
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:37
+ */
+public interface FaultcodealarmService {
+ Result> faultcodealarmList(Faultcodealarm faultcodealarm);
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/FenceService.java b/car-base-server/src/main/java/com/god/base/server/service/FenceService.java
deleted file mode 100644
index 3dd1ff7..0000000
--- a/car-base-server/src/main/java/com/god/base/server/service/FenceService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.god.base.server.service;
-
-import com.alibaba.nacos.api.model.v2.Result;
-import com.god.base.common.Fence;
-import com.god.base.common.response.FenceResponse;
-
-import java.util.List;
-
-public interface FenceService {
- Result> fencingList();
-
- void addfencing(Fence fence);
-
- Result deleteFencingById(Integer fencingId);
-
- Result updateFencing(Fence fence);
-}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/RequestLogService.java b/car-base-server/src/main/java/com/god/base/server/service/RequestLogService.java
new file mode 100644
index 0000000..079f9a5
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/RequestLogService.java
@@ -0,0 +1,18 @@
+//package com.god.base.server.service;
+//
+//import com.baomidou.mybatisplus.extension.service.IService;
+//import com.god.base.common.domain.RequestLog;
+//
+///**
+// * AOP
+// *
+// * @author ChenXinHai
+// * @version 2023/11/22 - 18:39
+// */
+//public interface RequestLogService extends IService {
+// /**
+// * 异步保存
+// * @param entity
+// */
+// void asyncSave(RequestLog entity);
+//}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/impl/BreakdownServiceImpl.java b/car-base-server/src/main/java/com/god/base/server/service/impl/BreakdownServiceImpl.java
new file mode 100644
index 0000000..a25b8e6
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/impl/BreakdownServiceImpl.java
@@ -0,0 +1,64 @@
+package com.god.base.server.service.impl;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.request.BreakdownRequest;
+import com.god.base.server.mapper.BreakdownMapper;
+import com.god.base.server.service.BreakdownService;
+import com.god.common.core.utils.StringUtils;
+import com.god.common.core.web.page.TableDataInfo;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 车辆故障码serviceImpl
+ *
+ * @author ChenXinHai
+ * @version 2023/11/20 - 19:32
+ */
+@Log4j2
+@Service
+public class BreakdownServiceImpl extends ServiceImpl implements BreakdownService {
+ @Autowired
+ private BreakdownMapper breakdownMapper;
+
+ /**
+ * 故障日志列表
+ * @param breakdown
+ * @return
+ */
+ @Override
+ public Result> breakdown(Breakdown breakdown) {
+ List list=breakdownMapper.breakdownList(breakdown);
+ return Result.success(list);
+ }
+
+ @Override
+ public void query(Integer id) {
+ breakdownMapper.query(id);
+ }
+
+ @Override
+ public void breakdownAdd(Breakdown breakdown) {
+ breakdownMapper.breakdownAdd(breakdown);
+
+ }
+
+ @Override
+ public void breakdownUpdate(Breakdown breakdown) {
+ breakdownMapper.breakdownUpdate(breakdown);
+ }
+
+ @Override
+ public void breakdownDelete(Integer id) {
+ breakdownMapper.breakdownDelete(id);
+ }
+
+
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/impl/FaultServiceImpl.java b/car-base-server/src/main/java/com/god/base/server/service/impl/FaultServiceImpl.java
new file mode 100644
index 0000000..b6dcbec
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/impl/FaultServiceImpl.java
@@ -0,0 +1,59 @@
+package com.god.base.server.service.impl;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.request.FaultRequest;
+import com.god.base.server.mapper.BreakdownMapper;
+import com.god.base.server.mapper.FaultMapper;
+import com.god.base.server.service.BreakdownService;
+import com.god.base.server.service.FaultService;
+import com.god.common.core.web.page.TableDataInfo;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+
+/**
+ * 故障serviceImpl
+ *
+ * @author ChenXinHai
+ * @version 2023/11/21 - 18:34
+ */
+
+@Service
+public class FaultServiceImpl extends ServiceImpl implements FaultService {
+ @Autowired
+ private FaultMapper faultMapper;
+
+
+ @Override
+ public Result> faultList(Fault fault) {
+ List list=faultMapper.faultList(fault);
+ return Result.success(list);
+ }
+
+ @Override
+ public void add(Fault fault) {
+ faultMapper.add(fault);
+ }
+
+
+ @Override
+ public void faultUpdate(Fault fault) {
+ faultMapper.faultUpdate(fault);
+ }
+
+ @Override
+ public void faultDelete(Integer faultId) {
+ faultMapper.faultDelete(faultId);
+ }
+
+
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/impl/FaultcodealarmServiceImpl.java b/car-base-server/src/main/java/com/god/base/server/service/impl/FaultcodealarmServiceImpl.java
new file mode 100644
index 0000000..d5721ea
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/impl/FaultcodealarmServiceImpl.java
@@ -0,0 +1,33 @@
+package com.god.base.server.service.impl;
+
+import com.alibaba.nacos.api.model.v2.Result;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.god.base.common.domain.Breakdown;
+import com.god.base.common.domain.Fault;
+import com.god.base.common.domain.Faultcodealarm;
+import com.god.base.server.mapper.BreakdownMapper;
+import com.god.base.server.mapper.FaultcodealarmMapper;
+import com.god.base.server.service.BreakdownService;
+import com.god.base.server.service.FaultcodealarmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 故障码告警serviceImpl
+ *
+ * @author ChenXinHai
+ * @version 2023/11/22 - 19:37
+ */
+@Service
+public class FaultcodealarmServiceImpl extends ServiceImpl implements FaultcodealarmService {
+
+ @Autowired
+ private FaultcodealarmMapper faultcodealarmMapper;
+ @Override
+ public Result> faultcodealarmList(Faultcodealarm faultcodealarm) {
+ List list=faultcodealarmMapper.faultcodealarmList(faultcodealarm);
+ return Result.success(list);
+ }
+}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/impl/FenceServiceImpl.java b/car-base-server/src/main/java/com/god/base/server/service/impl/FenceServiceImpl.java
deleted file mode 100644
index a287490..0000000
--- a/car-base-server/src/main/java/com/god/base/server/service/impl/FenceServiceImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.god.base.server.service.impl;
-
-import com.alibaba.nacos.api.model.v2.Result;
-import com.god.base.common.Fence;
-import com.god.base.common.response.FenceResponse;
-import com.god.base.server.mapper.FenceMapper;
-import com.god.base.server.service.FenceService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Date;
-import java.util.List;
-
-@Service
-public class FenceServiceImpl implements FenceService {
- @Autowired
- private FenceMapper fenceMapper;
-
-
- // 围栏列表
- @Override
- public Result> fencingList() {
- List list=fenceMapper.fencingList();
- return Result.success(list);
- }
-
- // 添加围栏
- @Override
- public void addfencing(Fence fence) {
- Date date = new Date();
- fence.setFenceTime(date);
- fenceMapper.addfencing(fence);
-
- }
-
- // 删除围栏
- @Override
- public Result deleteFencingById(Integer fencingId) {
- int i=fenceMapper.deleteFencingById(fencingId);
- return i>0?Result.success("围栏已成功删除"):Result.failure("删除失败");
- }
-
- // 删除围栏
- @Override
- public Result updateFencing(Fence fence) {
- Date date = new Date();
- fence.setFenceTime(date);
- int i=fenceMapper.updateFencing(fence);
- return i>0?Result.success("围栏已成功拦截"):Result.failure("拦截失败");
- }
-}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/impl/RequestLogServiceImpl.java b/car-base-server/src/main/java/com/god/base/server/service/impl/RequestLogServiceImpl.java
new file mode 100644
index 0000000..4272539
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/impl/RequestLogServiceImpl.java
@@ -0,0 +1,23 @@
+//package com.god.base.server.service.impl;
+//
+//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+//import com.god.base.common.domain.RequestLog;
+//import com.god.base.server.mapper.RequestLogMapper;
+//import com.god.base.server.service.RequestLogService;
+//import org.springframework.scheduling.annotation.Async;
+//import org.springframework.stereotype.Service;
+//
+///**
+// * AOP
+// *
+// * @author ChenXinHai
+// * @version 2023/11/22 - 18:43
+// */
+//@Service
+//public class RequestLogServiceImpl extends ServiceImpl implements RequestLogService {
+// @Async
+// @Override
+// public void asyncSave(RequestLog entity) {
+// super.save(entity);
+// }
+//}
diff --git a/car-base-server/src/main/java/com/god/base/server/service/impl/asyncSave.java b/car-base-server/src/main/java/com/god/base/server/service/impl/asyncSave.java
new file mode 100644
index 0000000..f683f2a
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/service/impl/asyncSave.java
@@ -0,0 +1,84 @@
+//package com.god.base.server.service.impl;
+//
+//import com.god.base.common.domain.RequestLog;
+//import com.god.base.server.service.RequestLogService;
+//import com.god.common.log.aspect.LogAspect;
+//import org.aspectj.lang.JoinPoint;
+//import org.aspectj.lang.annotation.*;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Component;
+//import org.springframework.web.context.request.RequestContextHolder;
+//import org.springframework.web.context.request.ServletRequestAttributes;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import java.time.LocalDateTime;
+//import java.util.Arrays;
+//
+///**
+// * AOP日志处理
+// *
+// * @author ChenXinHai
+// * @version 2023/11/22 - 18:45
+// */
+//@Aspect
+//@Component
+//public class asyncSave {
+// private static final Logger logger= LoggerFactory.getLogger(LogAspect.class);
+// @Autowired
+// private RequestLogService requestLogService;
+//
+// private long startTime;
+// private RequestLog requestLog;
+//
+// /**
+// * 切点声明
+// */
+// @Pointcut(value = "execution(* com.god.base.server.controller.*.*(..))")
+// public void pointcut(){
+// }
+// @Before(value = "pointcut()")
+// public void doBefore(JoinPoint joinPoint){
+// ServletRequestAttributes servletRequestAttributes
+// =(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+// HttpServletRequest request=servletRequestAttributes.getRequest();
+//
+// // 获取请求参数
+// String requestUrl = request.getRequestURL().toString();
+// String ip = request.getRemoteAddr();
+// String userAgent = request.getHeader("User-Agent"); // 用户代理(客户端)
+// String declaringSignature=joinPoint.getSignature().getDeclaringTypeName()
+// +"."+joinPoint.getSignature().getName();
+// String args=(joinPoint.getArgs().length==0)?null: Arrays.toString(joinPoint.getArgs());
+//
+// // 设置请求参数
+// this.requestLog = new RequestLog();
+// this.requestLog.setUserName("admin");
+// this.requestLog.setUserAgent(userAgent);
+// this.requestLog.setRequestUrl(requestUrl);
+// this.requestLog.setIp(ip);
+// this.requestLog.setDeclaringSignature(declaringSignature);
+// this.requestLog.setArgs(args);
+// this.startTime=System.currentTimeMillis();
+// }
+// @AfterReturning(pointcut="pointcut()",returning = "returnedValue")
+// public void doAfterReturning(Object returnedValue){
+// Integer elapsedTime=(int) (System.currentTimeMillis()-this.startTime);
+// this.requestLog.setElapsedTime(elapsedTime);
+// this.requestLog.setException(null);
+// this.requestLog.setCreateTime(LocalDateTime.now());
+//
+// logger.info(this.requestLog.toString());
+// this.requestLogService.asyncSave(this.requestLog); // 异步保存到数据库
+// }
+//
+// @AfterThrowing(pointcut = "pointcut()",throwing = "throwable")
+// public void doAfterThrowing(Throwable throwable){
+// this.requestLog.setException(throwable.toString());
+// this.requestLog.setCreateTime(LocalDateTime.now());
+//
+// logger.error(this.requestLog.toString());
+// this.requestLogService.asyncSave(this.requestLog);
+// }
+//}
diff --git a/car-base-server/src/main/java/com/god/base/server/utils/BreakdownMessage.java b/car-base-server/src/main/java/com/god/base/server/utils/BreakdownMessage.java
new file mode 100644
index 0000000..1a7b142
--- /dev/null
+++ b/car-base-server/src/main/java/com/god/base/server/utils/BreakdownMessage.java
@@ -0,0 +1,101 @@
+//package com.god.base.server.utils;
+//
+//import lombok.extern.log4j.Log4j2;
+//import org.springframework.amqp.rabbit.core.RabbitTemplate;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.*;
+//
+///**
+// * 故障消息
+// *
+// * @author ChenXinHai
+// * @version 2023/11/22 - 22:01
+// */
+//@Component
+//@Log4j2
+//public class BreakdownMessage {
+// private final RedisTemplate redisTemplate;
+// private final RabbitTemplate rabbitTemplate;
+// private Map StringLastMsg;
+//
+// public BreakdownMessage(RedisTemplate redisTemplate, RabbitTemplate rabbitTemplate) {
+// this.redisTemplate = redisTemplate;
+// this.rabbitTemplate= rabbitTemplate;
+// }
+//
+// public void falueSms(Map messageModel,String vind){
+// String key="chenchen"+vind;
+// List chenchenError = redisTemplate.opsForList().range(key, 0, -1);
+// redisTemplate.opsForList().range("chenchen:errorlog:one",0,-1);
+//
+// int size = chenchenError.size();
+//
+// if (messageModel.containsKey(vind) && size<1){
+// log.info("发送消息报告异常状态:{}",vind);
+// rabbitTemplate.convertAndSend("chenchen.error",vind);
+// redisTemplate.opsForList().leftPush(key,vind);
+// messageModel.clear();
+// }else if (!messageModel.containsKey(vind) && redisTemplate.hasKey(key)){
+// log.info("发送消息报告故障修复:{}",vind);
+// rabbitTemplate.convertAndSend("chenchen.success",vind);
+// redisTemplate.delete(key);
+// for (String extraKey : chenchenError){
+// log.info("修复故障信息发送:{}",extraKey);
+// rabbitTemplate.convertAndSend("chenchen.successlog",extraKey);
+// redisTemplate.opsForList().remove("chenchen:errorlog:one",1,extraKey);
+// redisTemplate.opsForList().remove("chenchen:errorlog:two",1,extraKey);
+// redisTemplate.opsForHash().delete("chenchen:last_message",extraKey);
+// }
+// }else {
+// log.info("不做操作:{}",vind);
+// }
+// messageModel.clear();
+// }
+//
+// public void falueSms2(Map messageModel){
+// // 获取redis中存储的Map数据
+// Map