代码初始化

master
Shi Xu Chao 2023-11-23 19:11:27 +08:00
commit 086fa34a23
29 changed files with 1329 additions and 0 deletions

38
.gitignore vendored 100644
View File

@ -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

38
fate-fault-common/.gitignore vendored 100644
View File

@ -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

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.fate</groupId>
<artifactId>fate-modlues-fault</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>fate-fault-common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-common-core</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
@NotEmpty(message = "故障码ID不能为空")
private Integer faultId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障内容不能为空")
private String faultContent;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障级别不能为空")
private Integer priorityId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障时间不能为空")
private Date faultTime;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障类型不能为空")
private Integer faultTypeId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障异常指标不能为空")
private Integer faultErrorInformation;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障正常指标不能为空")
private Integer faultSucceedInformation;
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
@NotEmpty(message = "车辆ID不能为空")
private Integer carId;
}

View File

@ -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;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FaultType {
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
@NotEmpty(message = "故障类型ID不能为空")
private Integer faultTypeId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障类型名称不能为空")
private String faultTypeName;
}

View File

@ -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;
}

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
@NotEmpty(message = "优先级ID不能为空")
private Integer priorityId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "优先级名称不能为空")
private String priorityName;
}

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "内容不能为空")
private String faultContent;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障级别不能为空")
private String priorityId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障时间不能为空")
private Date faultTime;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障类型不能为空")
private Integer faultTypeId;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障异常指标不能为空")
private Integer faultErrorInformation;
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障正常指标不能为空")
private Integer faultSucceedInformation;
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
@NotEmpty(message = "车辆ID不能为空")
private Integer carId;
}

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "故障类型名称不能为空")
private String faultTypeName;
}

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description
*/
@NotEmpty(message = "优先级名称不能为空")
private String priorityName;
}

View File

@ -0,0 +1,14 @@
package com.fate.modle;
import lombok.Data;
/**
* @Author
* @Date
* @Description
*/
@Data
public class Vo {
public Integer carId;
}

38
fate-fault-remote/.gitignore vendored 100644
View File

@ -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

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.fate</groupId>
<artifactId>fate-modlues-fault</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>fate-fault-remote</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-fault-common</artifactId>
<version>3.6.3</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,12 @@
package com.fate;
/**
* @Author
* @Date
* @Description
*/
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}

38
fate-fault-server/.gitignore vendored 100644
View File

@ -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

View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.fate</groupId>
<artifactId>fate-modlues-fault</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>fate-fault-server</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>
<!-- Fate Common DataSource -->
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-common-datasource</artifactId>
</dependency>
<!-- Fate Common DataScope -->
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-common-datascope</artifactId>
</dependency>
<!-- Fate Common Log -->
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-common-log</artifactId>
</dependency>
<!-- Fate Common Swagger -->
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-common-swagger</artifactId>
</dependency>
<dependency>
<groupId>com.fate</groupId>
<artifactId>fate-fault-common</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -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);
}
}

View File

@ -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<List<FaultCode>> TimeList(){
Result<List<FaultCode>> r=faultService.timeList();
log.info("功能:展示故障列表 URI{} 方法:{} 参数:{}",request.getRequestURI(),request.getMethod(),
JSON.toJSONString(r.getData()));
return r;
}
}

View File

@ -0,0 +1,9 @@
package com.fate.fault.controller;
/**
* @Author
* @Date
* @Description
*/
public class PriorityController {
}

View File

@ -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<String, Object> 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);
}
}

View File

@ -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<List<FaultCode>> listResult = faultService.timeList();
List<FaultCode> data = listResult.getData();
data.forEach(item->{
if (item.getPriorityId()==2){
}
});
}
}

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
List<FaultCode> faultList(Vo vo);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Integer faultInsert(FaultCodeRequest faultCodeRequest);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Integer faultUpdate(FaultCode faultCode);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Integer faultDelete(@Param("faultId") Integer faultId);
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
FaultCode faultFind(@Param("faultId") Integer faultId);
/**
* @Authorshixuchao
* @Date
* @Description
*/
List<FaultType> faultTypeList();
List<FaultCode> timeList();
}

View File

@ -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 {
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
Result faultList(Vo vo);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Result faultInsert(FaultCodeRequest faultCodeRequest);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Result faultUpdate(FaultCode faultCode);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Result faultDelete(Integer faultId);
/**
* @Authorshixuchao
* @Date
* @Description ID
*/
Result faultFind(Integer faultId);
/**
* @Authorshixuchao
* @Date
* @Description
*/
Result faultTypeList();
Result<List<FaultCode>> timeList();
}

View File

@ -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<FaultCode> 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<FaultType> faultTypeList=faultMapper.faultTypeList();
return Result.success(faultTypeList);
}
@Override
public Result<List<FaultCode>> timeList() {
List<FaultCode> faultCodeList=faultMapper.timeList();
return Result.success(faultCodeList);
}
}

View File

@ -0,0 +1,2 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}

View File

@ -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

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="./logs/fate-fault" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.bawei" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
</configuration>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.fate.fault.mapper.FaultMapper">
<resultMap id="faultCode" type="com.fate.domain.FaultCode">
<id column="fault_id" property="faultId"></id>
<result column="fault_content" property="faultContent"></result>
<result column="priority_id" property="priorityId"></result>
<result column="fault_time" property="faultTime"></result>
<result column="fault_type_id" property="faultTypeId"></result>
<result column="fault_error_information" property="faultErrorInformation"></result>
<result column="fault_succeed_information" property="faultSucceedInformation"></result>
<result column="car_id" property="carId"></result>
</resultMap>
<insert id="faultInsert">
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});
</insert>
<update id="faultUpdate">
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};
</update>
<delete id="faultDelete">
delete from t_fault_code where fault_oid=#{faultId}
</delete>
<select id="faultList" resultMap="faultCode">
select * from t_fault_code where car_id=#{carId}
</select>
<select id="faultFind" resultMap="faultCode">
select * from t_fault_code where fault_id=#{faultId}
</select>
<select id="faultTypeList" resultType="com.fate.domain.FaultType">
select * from t_fault_type
</select>
<select id="timeList" resultType="com.fate.domain.FaultCode">
select * from t_fault_code
</select>
</mapper>

28
pom.xml 100644
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.fate</groupId>
<artifactId>fate-modules</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>fate-modlues-fault</artifactId>
<packaging>pom</packaging>
<modules>
<module>fate-fault-common</module>
<module>fate-fault-remote</module>
<module>fate-fault-server</module>
</modules>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>