From 086fa34a23e9f8663c3100119870ee83a9ce56dd Mon Sep 17 00:00:00 2001 From: Shi Xu Chao <2184233957@qq.com> Date: Thu, 23 Nov 2023 19:11:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 38 +++++++ fate-fault-common/.gitignore | 38 +++++++ fate-fault-common/pom.xml | 32 ++++++ .../main/java/com/fate/domain/FaultCode.java | 87 ++++++++++++++++ .../main/java/com/fate/domain/FaultType.java | 39 ++++++++ .../main/java/com/fate/domain/Messages.java | 30 ++++++ .../main/java/com/fate/domain/Priority.java | 37 +++++++ .../fate/domain/request/FaultCodeRequest.java | 81 +++++++++++++++ .../fate/domain/request/FaultTypeRequest.java | 31 ++++++ .../fate/domain/request/PriorityRequest.java | 29 ++++++ .../src/main/java/com/fate/modle/Vo.java | 14 +++ fate-fault-remote/.gitignore | 38 +++++++ fate-fault-remote/pom.xml | 28 ++++++ .../src/main/java/com/fate/Main.java | 12 +++ fate-fault-server/.gitignore | 38 +++++++ fate-fault-server/pom.xml | 98 +++++++++++++++++++ .../java/com/fate/fault/FaultApplication.java | 23 +++++ .../fault/controller/FaultController.java | 86 ++++++++++++++++ .../fault/controller/PriorityController.java | 9 ++ .../java/com/fate/fault/delay/WorkDelay.java | 87 ++++++++++++++++ .../fate/fault/delay/WorkQueueListener.java | 38 +++++++ .../com/fate/fault/mapper/FaultMapper.java | 69 +++++++++++++ .../com/fate/fault/service/FaultService.java | 64 ++++++++++++ .../fault/service/impl/FaultServiceImpl.java | 79 +++++++++++++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 32 ++++++ .../src/main/resources/logback.xml | 74 ++++++++++++++ .../src/main/resources/mapper/FaultMapper.xml | 68 +++++++++++++ pom.xml | 28 ++++++ 29 files changed, 1329 insertions(+) create mode 100644 .gitignore create mode 100644 fate-fault-common/.gitignore create mode 100644 fate-fault-common/pom.xml create mode 100644 fate-fault-common/src/main/java/com/fate/domain/FaultCode.java create mode 100644 fate-fault-common/src/main/java/com/fate/domain/FaultType.java create mode 100644 fate-fault-common/src/main/java/com/fate/domain/Messages.java create mode 100644 fate-fault-common/src/main/java/com/fate/domain/Priority.java create mode 100644 fate-fault-common/src/main/java/com/fate/domain/request/FaultCodeRequest.java create mode 100644 fate-fault-common/src/main/java/com/fate/domain/request/FaultTypeRequest.java create mode 100644 fate-fault-common/src/main/java/com/fate/domain/request/PriorityRequest.java create mode 100644 fate-fault-common/src/main/java/com/fate/modle/Vo.java create mode 100644 fate-fault-remote/.gitignore create mode 100644 fate-fault-remote/pom.xml create mode 100644 fate-fault-remote/src/main/java/com/fate/Main.java create mode 100644 fate-fault-server/.gitignore create mode 100644 fate-fault-server/pom.xml create mode 100644 fate-fault-server/src/main/java/com/fate/fault/FaultApplication.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/controller/FaultController.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/controller/PriorityController.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/delay/WorkDelay.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/delay/WorkQueueListener.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/mapper/FaultMapper.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/service/FaultService.java create mode 100644 fate-fault-server/src/main/java/com/fate/fault/service/impl/FaultServiceImpl.java create mode 100644 fate-fault-server/src/main/resources/banner.txt create mode 100644 fate-fault-server/src/main/resources/bootstrap.yml create mode 100644 fate-fault-server/src/main/resources/logback.xml create mode 100644 fate-fault-server/src/main/resources/mapper/FaultMapper.xml create mode 100644 pom.xml 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 + + + +