commit 086fa34a23e9f8663c3100119870ee83a9ce56dd
Author: Shi Xu Chao <2184233957@qq.com>
Date: Thu Nov 23 19:11:27 2023 +0800
代码初始化
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/.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/fate-fault-common/.gitignore b/fate-fault-common/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/fate-fault-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/fate-fault-common/pom.xml b/fate-fault-common/pom.xml
new file mode 100644
index 0000000..bde778a
--- /dev/null
+++ b/fate-fault-common/pom.xml
@@ -0,0 +1,32 @@
+
+
+ 4.0.0
+
+ com.fate
+ fate-modlues-fault
+ 3.6.3
+
+
+ fate-fault-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.fate
+ fate-common-core
+ 3.6.3
+
+
+ org.projectlombok
+ lombok
+
+
+
+
diff --git a/fate-fault-common/src/main/java/com/fate/domain/FaultCode.java b/fate-fault-common/src/main/java/com/fate/domain/FaultCode.java
new file mode 100644
index 0000000..eeaa9d5
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/FaultCode.java
@@ -0,0 +1,87 @@
+package com.fate.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.Date;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description 故障码信息管理列表
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+
+public class FaultCode {
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障码ID
+ */
+ @NotEmpty(message = "故障码ID不能为空")
+ private Integer faultId;
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障内容
+ */
+ @NotEmpty(message = "故障内容不能为空")
+ private String faultContent;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障级别
+ */
+
+ @NotEmpty(message = "故障级别不能为空")
+ private Integer priorityId;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障时间
+ */
+ @NotEmpty(message = "故障时间不能为空")
+ private Date faultTime;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型
+ */
+ @NotEmpty(message = "故障类型不能为空")
+ private Integer faultTypeId;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障异常指标
+ */
+ @NotEmpty(message = "故障异常指标不能为空")
+ private Integer faultErrorInformation;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障正常指标
+ */
+ @NotEmpty(message = "故障正常指标不能为空")
+ private Integer faultSucceedInformation;
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 车辆ID
+ */
+ @NotEmpty(message = "车辆ID不能为空")
+ private Integer carId;
+}
diff --git a/fate-fault-common/src/main/java/com/fate/domain/FaultType.java b/fate-fault-common/src/main/java/com/fate/domain/FaultType.java
new file mode 100644
index 0000000..8d8bb8a
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/FaultType.java
@@ -0,0 +1,39 @@
+package com.fate.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Author:shixuchao
+ * @Date:
+ * @Description故障类型管理列表
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+
+public class FaultType {
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型ID
+ */
+ @NotEmpty(message = "故障类型ID不能为空")
+ private Integer faultTypeId;
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型名称
+ */
+ @NotEmpty(message = "故障类型名称不能为空")
+ private String faultTypeName;
+}
diff --git a/fate-fault-common/src/main/java/com/fate/domain/Messages.java b/fate-fault-common/src/main/java/com/fate/domain/Messages.java
new file mode 100644
index 0000000..9380c6f
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/Messages.java
@@ -0,0 +1,30 @@
+package com.fate.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Messages {
+
+ public static final String QUEUE="QUEUE";
+
+ public static final String QUEUE_DELAY="QUEUE_DELAY";
+
+ public static final String EXCHANGE="EXCHANGE";
+
+ public static final String ROUTING_KEY="ROUTING_KEY";
+
+ public static final String ROUTING_KEY_DELAY="ROUTING_KEY_DELAY";
+
+ public String id;
+}
diff --git a/fate-fault-common/src/main/java/com/fate/domain/Priority.java b/fate-fault-common/src/main/java/com/fate/domain/Priority.java
new file mode 100644
index 0000000..aad197b
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/Priority.java
@@ -0,0 +1,37 @@
+package com.fate.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description 优先级列表
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Priority {
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 优先级ID
+ */
+ @NotEmpty(message = "优先级ID不能为空")
+ private Integer priorityId;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 优先级名称
+ */
+ @NotEmpty(message = "优先级名称不能为空")
+ private String priorityName;
+
+}
diff --git a/fate-fault-common/src/main/java/com/fate/domain/request/FaultCodeRequest.java b/fate-fault-common/src/main/java/com/fate/domain/request/FaultCodeRequest.java
new file mode 100644
index 0000000..f6a36ff
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/request/FaultCodeRequest.java
@@ -0,0 +1,81 @@
+package com.fate.domain.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.Date;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+
+public class FaultCodeRequest {
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障内容
+ */
+ @NotEmpty(message = "内容不能为空")
+ private String faultContent;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障级别
+ */
+ @NotEmpty(message = "故障级别不能为空")
+ private String priorityId;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障时间
+ */
+ @NotEmpty(message = "故障时间不能为空")
+ private Date faultTime;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型
+ */
+ @NotEmpty(message = "故障类型不能为空")
+ private Integer faultTypeId;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障异常指标
+ */
+ @NotEmpty(message = "故障异常指标不能为空")
+ private Integer faultErrorInformation;
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障正常指标
+ */
+
+ @NotEmpty(message = "故障正常指标不能为空")
+ private Integer faultSucceedInformation;
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 车辆ID
+ */
+ @NotEmpty(message = "车辆ID不能为空")
+ private Integer carId;
+
+}
diff --git a/fate-fault-common/src/main/java/com/fate/domain/request/FaultTypeRequest.java b/fate-fault-common/src/main/java/com/fate/domain/request/FaultTypeRequest.java
new file mode 100644
index 0000000..22247ee
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/request/FaultTypeRequest.java
@@ -0,0 +1,31 @@
+package com.fate.domain.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+
+public class FaultTypeRequest {
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型名称
+ */
+ @NotEmpty(message = "故障类型名称不能为空")
+ private String faultTypeName;
+
+}
diff --git a/fate-fault-common/src/main/java/com/fate/domain/request/PriorityRequest.java b/fate-fault-common/src/main/java/com/fate/domain/request/PriorityRequest.java
new file mode 100644
index 0000000..1c3cbe6
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/domain/request/PriorityRequest.java
@@ -0,0 +1,29 @@
+package com.fate.domain.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+
+public class PriorityRequest {
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 优先级名称
+ */
+ @NotEmpty(message = "优先级名称不能为空")
+ private String priorityName;
+}
diff --git a/fate-fault-common/src/main/java/com/fate/modle/Vo.java b/fate-fault-common/src/main/java/com/fate/modle/Vo.java
new file mode 100644
index 0000000..faed877
--- /dev/null
+++ b/fate-fault-common/src/main/java/com/fate/modle/Vo.java
@@ -0,0 +1,14 @@
+package com.fate.modle;
+
+import lombok.Data;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@Data
+public class Vo {
+
+ public Integer carId;
+}
diff --git a/fate-fault-remote/.gitignore b/fate-fault-remote/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/fate-fault-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/fate-fault-remote/pom.xml b/fate-fault-remote/pom.xml
new file mode 100644
index 0000000..a155189
--- /dev/null
+++ b/fate-fault-remote/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+
+ com.fate
+ fate-modlues-fault
+ 3.6.3
+
+
+ fate-fault-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.fate
+ fate-fault-common
+ 3.6.3
+
+
+
+
diff --git a/fate-fault-remote/src/main/java/com/fate/Main.java b/fate-fault-remote/src/main/java/com/fate/Main.java
new file mode 100644
index 0000000..f84c4cf
--- /dev/null
+++ b/fate-fault-remote/src/main/java/com/fate/Main.java
@@ -0,0 +1,12 @@
+package com.fate;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
diff --git a/fate-fault-server/.gitignore b/fate-fault-server/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/fate-fault-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/fate-fault-server/pom.xml b/fate-fault-server/pom.xml
new file mode 100644
index 0000000..83d82f7
--- /dev/null
+++ b/fate-fault-server/pom.xml
@@ -0,0 +1,98 @@
+
+
+ 4.0.0
+
+ com.fate
+ fate-modlues-fault
+ 3.6.3
+
+
+ fate-fault-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+ 8.0.33
+
+
+
+
+ com.fate
+ fate-common-datasource
+
+
+
+
+ com.fate
+ fate-common-datascope
+
+
+
+
+ com.fate
+ fate-common-log
+
+
+
+
+ com.fate
+ fate-common-swagger
+
+
+ com.fate
+ fate-fault-common
+ 3.6.3
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
diff --git a/fate-fault-server/src/main/java/com/fate/fault/FaultApplication.java b/fate-fault-server/src/main/java/com/fate/fault/FaultApplication.java
new file mode 100644
index 0000000..1b201c6
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/FaultApplication.java
@@ -0,0 +1,23 @@
+package com.fate.fault;
+
+import com.fate.common.security.annotation.EnableCustomConfig;
+import com.fate.common.security.annotation.EnableMyFeignClients;
+import com.fate.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableMyFeignClients
+@SpringBootApplication
+public class FaultApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(FaultApplication.class);
+ }
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/controller/FaultController.java b/fate-fault-server/src/main/java/com/fate/fault/controller/FaultController.java
new file mode 100644
index 0000000..ec93344
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/controller/FaultController.java
@@ -0,0 +1,86 @@
+package com.fate.fault.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.fate.common.core.domain.Result;
+import com.fate.domain.FaultCode;
+import com.fate.domain.request.FaultCodeRequest;
+import com.fate.fault.service.FaultService;
+import com.fate.modle.Vo;
+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 java.util.List;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@RestController
+@RequestMapping("/fault")
+@Log4j2
+public class FaultController {
+ @Autowired
+ private FaultService faultService;
+
+ @Autowired
+ private HttpServletRequest request;
+
+ @PostMapping("/faultList")
+ private Result faultList(@RequestBody @Validated Vo vo){
+ Result result=faultService.faultList(vo);
+ log.info("功能:故障列表查询 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(), JSON.toJSONString(result.getData()));
+ return result;
+ }
+
+ @PostMapping("/faultInsert")
+ private Result faultInsert(@RequestBody FaultCodeRequest faultCodeRequest){
+ Result result=faultService.faultInsert(faultCodeRequest);
+ log.info("功能:添加故障信息 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
+ JSON.toJSONString(result.getData()));
+ return result;
+ }
+
+ @PostMapping("/faultUpdate")
+ private Result faultUpdate(@RequestBody FaultCode faultCode){
+ Result result=faultService.faultUpdate(faultCode);
+ log.info("功能:修改故障信息 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
+ JSON.toJSONString(result.getData()));
+ return result;
+ }
+
+ @GetMapping("/faultDelete/{faultId}")
+ private Result faultDelete(@PathVariable Integer faultId){
+ Result result= faultService.faultDelete(faultId);
+ log.info("功能:删除故障信息 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
+ JSON.toJSONString(result.getData()));
+ return result;
+ }
+ @PostMapping("/faultFind/{faultId}")
+ private Result faultFind(@PathVariable Integer faultId){
+ Result result=faultService.faultFind(faultId);
+ log.info("功能:回显:回显故障信息 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
+ JSON.toJSONString(result.getData()));
+ return result;
+ }
+
+ @GetMapping("/faultTypeList")
+ private Result faultTypeList(){
+ Result result=faultService.faultTypeList();
+ log.info("功能:展示故障类型 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
+ JSON.toJSONString(result.getData()));
+ return result;
+ }
+
+ @GetMapping("/timeList")
+ private Result> TimeList(){
+ Result> r=faultService.timeList();
+ log.info("功能:展示故障列表 URI:{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
+ JSON.toJSONString(r.getData()));
+
+ return r;
+ }
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/controller/PriorityController.java b/fate-fault-server/src/main/java/com/fate/fault/controller/PriorityController.java
new file mode 100644
index 0000000..a062bfa
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/controller/PriorityController.java
@@ -0,0 +1,9 @@
+package com.fate.fault.controller;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+public class PriorityController {
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/delay/WorkDelay.java b/fate-fault-server/src/main/java/com/fate/fault/delay/WorkDelay.java
new file mode 100644
index 0000000..264da3b
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/delay/WorkDelay.java
@@ -0,0 +1,87 @@
+package com.fate.fault.delay;
+
+import com.fate.domain.Messages;
+import com.rabbitmq.client.AMQP;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@Component
+public class WorkDelay {
+ //routingKey
+ private static final String DELAYED_RELAYED_ROUTING_KEY="delayed.routingKey";
+
+ //延迟队列交换机
+ private static final String DELAYED_EXCHANGE="delayed.exchange";
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+ @Autowired
+
+ private RabbitAdmin rabbitAdmin;
+
+ /**
+ * 发送延迟队列
+ *
+ * @param queueName 队列名称
+ * @param params 消息内容
+ * @param expiration 延迟时间 毫秒
+ */
+
+ public void sendDelayedQueue(String queueName, Object params, Integer expiration){
+
+ //先创建一个队列
+ Queue queue = new Queue(queueName);
+ rabbitAdmin.declareQueue(queue);
+
+ //穿件延迟队列交换机
+ CustomExchange customExchange=createCustomExchange();
+ rabbitAdmin.declareExchange(customExchange);
+
+ //将队列和交换机绑定
+ Binding binding=BindingBuilder.bind(queue).to(customExchange).with(DELAYED_RELAYED_ROUTING_KEY).noargs();
+ rabbitAdmin.declareBinding(binding);
+
+ //发送延迟消息
+ rabbitTemplate.convertAndSend(DELAYED_RELAYED_ROUTING_KEY,params,msg->{
+
+ //发送消息的时候延迟时长
+ msg.getMessageProperties().setDelay(10000);
+ return msg;
+ });
+
+ }
+
+ private CustomExchange createCustomExchange() {
+
+ HashMap map = new HashMap<>();
+
+ /**
+ * 参数说明:
+ * 1.交换机的名称
+ * 2.交换机的类型
+ * 3.是否需要持久化
+ * 4.是否自动删除
+ * 5.其它参数
+ */
+ map.put("x-delayed-type","direct");
+ return new CustomExchange(DELAYED_EXCHANGE,"x-delayed-message",true,false,map);
+ }
+
+
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/delay/WorkQueueListener.java b/fate-fault-server/src/main/java/com/fate/fault/delay/WorkQueueListener.java
new file mode 100644
index 0000000..ffea8fb
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/delay/WorkQueueListener.java
@@ -0,0 +1,38 @@
+package com.fate.fault.delay;
+
+import com.fate.common.core.domain.Result;
+import com.fate.domain.FaultCode;
+import com.fate.fault.service.FaultService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+
+@Component
+@Log4j2
+public class WorkQueueListener {
+
+ @Autowired
+ private FaultService faultService;
+
+ @RabbitListener(queuesToDeclare = {@Queue("delayed_queue")})
+ public void workQueueListener(String message) {
+ Result> listResult = faultService.timeList();
+ List data = listResult.getData();
+ data.forEach(item->{
+ if (item.getPriorityId()==2){
+
+ }
+ });
+ }
+
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/mapper/FaultMapper.java b/fate-fault-server/src/main/java/com/fate/fault/mapper/FaultMapper.java
new file mode 100644
index 0000000..bb25ca3
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/mapper/FaultMapper.java
@@ -0,0 +1,69 @@
+package com.fate.fault.mapper;
+
+import com.fate.domain.FaultCode;
+import com.fate.domain.FaultType;
+import com.fate.domain.request.FaultCodeRequest;
+import com.fate.modle.Vo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@Mapper
+public interface FaultMapper {
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 根据车辆ID查询故障信息
+ */
+ List faultList(Vo vo);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 添加车辆故障信息
+ */
+ Integer faultInsert(FaultCodeRequest faultCodeRequest);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 修改车辆故障信息
+ */
+ Integer faultUpdate(FaultCode faultCode);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 删除车辆故障信息
+ */
+ Integer faultDelete(@Param("faultId") Integer faultId);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 根据ID回显车辆故障信息
+ */
+ FaultCode faultFind(@Param("faultId") Integer faultId);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型列表展示
+ */
+ List faultTypeList();
+
+ List timeList();
+
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/service/FaultService.java b/fate-fault-server/src/main/java/com/fate/fault/service/FaultService.java
new file mode 100644
index 0000000..1d151b7
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/service/FaultService.java
@@ -0,0 +1,64 @@
+package com.fate.fault.service;
+
+import com.fate.common.core.domain.Result;
+import com.fate.domain.FaultCode;
+import com.fate.domain.request.FaultCodeRequest;
+import com.fate.modle.Vo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+public interface FaultService {
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 根据车辆ID查询故障信息
+ */
+ Result faultList(Vo vo);
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 添加车辆故障信息
+ */
+ Result faultInsert(FaultCodeRequest faultCodeRequest);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 修改车辆故障信息
+ */
+ Result faultUpdate(FaultCode faultCode);
+
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 删除车辆故障信息
+ */
+ Result faultDelete(Integer faultId);
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 根据ID回显车辆故障信息
+ */
+ Result faultFind(Integer faultId);
+
+ /**
+ * @Author:shixuchao
+ * @Date:
+ * @Description 故障类型列表展示
+ */
+ Result faultTypeList();
+
+ Result> timeList();
+
+}
diff --git a/fate-fault-server/src/main/java/com/fate/fault/service/impl/FaultServiceImpl.java b/fate-fault-server/src/main/java/com/fate/fault/service/impl/FaultServiceImpl.java
new file mode 100644
index 0000000..4a1513d
--- /dev/null
+++ b/fate-fault-server/src/main/java/com/fate/fault/service/impl/FaultServiceImpl.java
@@ -0,0 +1,79 @@
+package com.fate.fault.service.impl;
+
+import com.fate.common.core.domain.Result;
+import com.fate.domain.FaultCode;
+import com.fate.domain.FaultType;
+import com.fate.domain.request.FaultCodeRequest;
+import com.fate.fault.mapper.FaultMapper;
+import com.fate.fault.service.FaultService;
+import com.fate.modle.Vo;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Author:
+ * @Date:
+ * @Description
+ */
+@Service
+public class FaultServiceImpl implements FaultService {
+
+ @Autowired
+ private FaultMapper faultMapper;
+
+ //根据车辆ID查询故障信息
+ @Override
+ public Result faultList(Vo vo) {
+ List faultCodeList=faultMapper.faultList(vo);
+ return Result.success(faultCodeList);
+ }
+
+
+ //添加车辆故障信息
+ @Override
+ public Result faultInsert(FaultCodeRequest faultCodeRequest) {
+ Integer faultInsert=faultMapper.faultInsert(faultCodeRequest);
+ return faultInsert>0?Result.success("添加成功"):Result.error("添加失败");
+ }
+
+
+ //修改车辆故障信息
+ @Override
+ public Result faultUpdate(FaultCode faultCode) {
+ Integer faultUpdate=faultMapper.faultUpdate(faultCode);
+ return faultUpdate>0?Result.success("添加成功"):Result.error("添加失败");
+ }
+
+ //删除车辆故障信息
+ @Override
+ public Result faultDelete(Integer faultId) {
+ Integer faultDelete=faultMapper.faultDelete(faultId);
+ return faultDelete>0?Result.success("添加成功"):Result.error("添加失败");
+ }
+
+
+ //根据ID回显车辆故障信息
+ @Override
+ public Result faultFind(Integer faultId) {
+ FaultCode faultFind=faultMapper.faultFind(faultId);
+ return Result.success(faultFind);
+ }
+
+
+ //故障类型列表展示
+ @Override
+ public Result faultTypeList() {
+ List faultTypeList=faultMapper.faultTypeList();
+ return Result.success(faultTypeList);
+ }
+
+ @Override
+ public Result> timeList() {
+ List faultCodeList=faultMapper.timeList();
+ return Result.success(faultCodeList);
+ }
+}
diff --git a/fate-fault-server/src/main/resources/banner.txt b/fate-fault-server/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/fate-fault-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/fate-fault-server/src/main/resources/bootstrap.yml b/fate-fault-server/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..fce13f6
--- /dev/null
+++ b/fate-fault-server/src/main/resources/bootstrap.yml
@@ -0,0 +1,32 @@
+# Tomcat
+server:
+ port: 9009
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: fate-fault
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 182.254.222.21:8848
+ config:
+ # 配置中心地址
+ server-addr: 182.254.222.21:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+
+ redis:
+ host: 182.254.222.21
+
+mybatis:
+ configuration:
+ map-underscore-to-camel-case: true
diff --git a/fate-fault-server/src/main/resources/logback.xml b/fate-fault-server/src/main/resources/logback.xml
new file mode 100644
index 0000000..4235c1a
--- /dev/null
+++ b/fate-fault-server/src/main/resources/logback.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/fate-fault-server/src/main/resources/mapper/FaultMapper.xml b/fate-fault-server/src/main/resources/mapper/FaultMapper.xml
new file mode 100644
index 0000000..a21ad4a
--- /dev/null
+++ b/fate-fault-server/src/main/resources/mapper/FaultMapper.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO `t_fault_code`
+ (`fault_content`,
+ `priority_id`,
+ `fault_time`,
+ `fault_type_id`,
+ `fault_error_information`,
+ `fault_succeed_information`,
+ `car_id`)
+ VALUES (#{faultContent},
+ #{priorityId},
+ #{faultTime},
+ #{faultTypeId},
+ #{faultErrorInformation},
+ #{faultSucceedInformation},
+ #{carId});
+
+
+
+ UPDATE `t_fault_code`
+ SET `fault_content` = #{faultContent},
+ `priority_id` = #{priorityId},
+ `fault_time` = now(),
+ `fault_type_id` = #{faultTypeId},
+ `fault_error_information` = #{faultErrorInformation},
+ `fault_succeed_information` = #{faultSucceedInformation},
+ `car_id` = #{carId}
+ WHERE `fault_id` = #{faultId};
+
+
+
+ delete from t_fault_code where fault_oid=#{faultId}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..5563a42
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+
+
+ com.fate
+ fate-modules
+ 3.6.3
+
+
+ fate-modlues-fault
+ pom
+
+ fate-fault-common
+ fate-fault-remote
+ fate-fault-server
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+