4.5:故障预警添加故障表

vehicle-yinyuyang
黄大举 2024-04-05 22:14:34 +08:00
parent 7034a24507
commit 66c9d93ebe
24 changed files with 528 additions and 100 deletions

View File

@ -101,6 +101,10 @@
<artifactId>spring-kafka</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-business-common</artifactId>
</dependency>
</dependencies>

View File

@ -35,7 +35,6 @@ public class Consumer {
@KafkaListener(topics = "test", groupId = "group", properties = {"bootstrap.servers = 10.10.26.5:9092"})
@PostMapping("/msg")
public void getMessage(String msg) {
VehicleData analyze = AnalyzeUtils.analyze(msg);
for (String s : list) {
@ -44,12 +43,6 @@ public class Consumer {
}
}
}

View File

@ -17,16 +17,11 @@ import java.util.List;
*/
@Mapper
public interface VehicleMapper{
Boolean addVehicleStoredEvent(ArrayList<VehicleData> list);
// void addVehicleStoredEvent(VehicleData analyze);
// void addVehicleStoredEvent1(ArrayList<VehicleData> list);
}

View File

@ -1,9 +1,19 @@
package com.muyu.analyze.service.impl;
import com.alibaba.fastjson.JSON;
import com.muyu.analyze.domian.VehicleData;
import com.muyu.analyze.service.VehicleService;
import com.muyu.analyze.utils.StateConstant;
import com.muyu.business.domain.FaultLogs;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;
/**
* @ProjectName: cloud-vehicles
* @PackageName: com.muyu.analyze.service.impl.historicalTrack
@ -13,16 +23,221 @@ import org.springframework.stereotype.Service;
* @Version 1.0
*/
@Service("breakdown")
@Slf4j
public class BreakdownImpl implements VehicleService{
@Autowired
private StringRedisTemplate redisTemplate;
@Override
public void eventResolution(VehicleData analyze) {
System.out.println("我是故障报警");
public void eventResolution(VehicleData vehicleData) {
log.info("故障事件解析");
if (StateConstant.VEHICLE_STATUS != vehicleData.getVehicleStatus()
|| StateConstant.CHARGING_STATUS!=vehicleData.getChgStatus()
|| StateConstant.OPERATING_STATUS!=vehicleData.getOperatingStatus()
|| StateConstant.SOC_STATUS!=vehicleData.getSocStatus()
|| StateConstant.CHARGING_ENERGY_STORAGE_STATUS != vehicleData.getChargingEnergyStorageStatus()
|| StateConstant.DRIVE_MOTOR_STATUS != vehicleData.getDriveMotorStatus()
|| StateConstant.POSITION_STATUS != vehicleData.getPositionStatus()
|| StateConstant.EAS_STATUS != vehicleData.getEasStatus()
|| StateConstant.PTC_STATUS != vehicleData.getPtcStatus()
|| StateConstant.ABS_STATUS != vehicleData.getAbsStatus()
|| StateConstant.MCU_STATUS != vehicleData.getMcuStatus()
|| StateConstant.HEATING_STATUS != vehicleData.getHeatingStatus()
|| StateConstant.BATTERY_STATUS != vehicleData.getBatteryStatus()
|| StateConstant.BATTERY_INSULATION_STATUS != vehicleData.getBatteryInsulationStatus()
|| StateConstant.DCDC_STATUS != vehicleData.getDcdcStatus()
|| StateConstant.CHG_STATUS != vehicleData.getChgStatus()){
FaultLogs faultLogsAddReq = new FaultLogs();
faultLogsAddReq.setCarVin(vehicleData.getVin());
// /**
// * 车辆状态
// */
// private int vehicleStatus ;
if (vehicleData.getVehicleStatus()==0){
faultLogsAddReq.setFaultCode("GTB001");
faultLogsAddReq.setFaultLevel(3);
}
// /**
// * 充电状态
// */
// private int chargingStatus;
if (vehicleData.getChargingStatus()==0){
faultLogsAddReq.setFaultCode("GTB002");
faultLogsAddReq.setFaultLevel(3);
}
// /**
// * 运行状态
// */
// private int operatingStatus;
if (vehicleData.getOperatingStatus()==0){
faultLogsAddReq.setFaultCode("GTB003");
faultLogsAddReq.setFaultLevel(3);
}
// /**
// * SOC
// */
// private int socStatus;
if (vehicleData.getSocStatus()==0){
faultLogsAddReq.setFaultCode("GTO001");
faultLogsAddReq.setFaultLevel(2);
}
//
//
//GTO003
// /**
// * 可充电储能装置工作状态
// */
// private int chargingEnergyStorageStatus ;
if (vehicleData.getChargingEnergyStorageStatus()==0){
faultLogsAddReq.setFaultCode("GTO002");
faultLogsAddReq.setFaultLevel(2);
}
// /**
// * 驱动电机状态
// */
// private int driveMotorStatus ;
if (vehicleData.getDriveMotorStatus()==0){
faultLogsAddReq.setFaultCode("GT0003");
faultLogsAddReq.setFaultLevel(2);
}
// /**
// * 定位是否有效
// */
// private int positionStatus ;
if (vehicleData.getPositionStatus()==0){
faultLogsAddReq.setFaultCode("GT0004");
faultLogsAddReq.setFaultLevel(2);
} //GTO004
//GTO005
//GTO006
//GTO007
// /**
// * EAS(汽车防盗系统)状态
// */
// private int easStatus ;
if (vehicleData.getEasStatus()==0){
faultLogsAddReq.setFaultCode("GTO005");
faultLogsAddReq.setFaultLevel(2);
}
// /**
// * PTC(电动加热器)状态
// */
// private int ptcStatus ;
if (vehicleData.getPtcStatus()==0){
faultLogsAddReq.setFaultCode("GTO006");
faultLogsAddReq.setFaultLevel(2);
}
// /**
// * EPS(电动助力系统)状态
// */
// private int epsStatus ;
if (vehicleData.getEpsStatus()==0){
faultLogsAddReq.setFaultCode("GTO007");
faultLogsAddReq.setFaultLevel(2);
}
// /**
// * ABS(防抱死)状态
// */
// private int absStatus ;
if (vehicleData.getAbsStatus()==0){
faultLogsAddReq.setFaultCode("GTX001");
faultLogsAddReq.setFaultLevel(1);
}
// /**
// * MCU(电机/逆变器)状态
// */
// private int mcuStatus ;
if (vehicleData.getMcuStatus()==0){
faultLogsAddReq.setFaultCode("GTX002");
faultLogsAddReq.setFaultLevel(1);
}
// /**
// * 动力电池加热状态
// */
// private int heatingStatus ;
if (vehicleData.getHeatingStatus()==0){
faultLogsAddReq.setFaultCode("GTX003");
faultLogsAddReq.setFaultLevel(1);
}
// /**
// * 动力电池当前状态
// */
// private int batteryStatus ;
if (vehicleData.getBatteryStatus()==0){
faultLogsAddReq.setFaultCode("GTX004");
faultLogsAddReq.setFaultLevel(1);
}
// /**
// * 动力电池保温状态
// */
// private int batteryInsulationStatus ;
if (vehicleData.getBatteryInsulationStatus()==0){
faultLogsAddReq.setFaultCode("GTX005");
faultLogsAddReq.setFaultLevel(1);
}
// /**
// * DCDC(电力交换系统)状态
// */
// private int dcdcStatus ;
if (vehicleData.getDcdcStatus()==0){
faultLogsAddReq.setFaultCode("GTX006");
faultLogsAddReq.setFaultLevel(1);
}
// /**
// * CHG(充电机)状态
// */
// private int chgStatus ;
if (vehicleData.getChgStatus()==0){
faultLogsAddReq.setFaultCode("GTX007");
faultLogsAddReq.setFaultLevel(1);
}
// rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE, RabbitMqConfig.KEY,faultLogsAddReq, message -> {
// message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
// return message;
// } ,new CorrelationData(UUID.randomUUID().toString()));
String key = "breakdown";
String value = JSON.toJSONString(faultLogsAddReq);
redisTemplate.opsForSet().add(key, value);
long expireTime = 30;
redisTemplate.expire(key, expireTime, TimeUnit.MINUTES);
}
log.info("故障事件结束");
}
}

View File

@ -25,10 +25,12 @@ import java.util.List;
@Slf4j
public class StoredEventImpl implements VehicleService {
@Autowired
private VehicleMapper vehicleMapper;
private final ArrayList<VehicleData> list = new ArrayList<>();
@Autowired
private VehicleMapper vehicleMapper;
@Override
public void eventResolution(VehicleData analyze) {

View File

@ -0,0 +1,88 @@
package com.muyu.analyze.utils;
import org.springframework.stereotype.Component;
/**
* @Author: LiJiaYao
* @Date: 2024/4/4
* @Description:
*/
@Component
public class StateConstant {
/**
*
*/
public static final Integer VEHICLE_STATUS = 1;
/**
*
*/
public static final Integer CHARGING_STATUS = 1;
/**
*
*/
public static final Integer OPERATING_STATUS = 1;
/**
* soc
*/
public static final Integer SOC_STATUS = 1;
/**
*
*/
public static final Integer CHARGING_ENERGY_STORAGE_STATUS = 1;
/**
*
*/
public static final Integer DRIVE_MOTOR_STATUS = 1;
/**
*
*/
public static final Integer POSITION_STATUS = 1;
/**
* EAS()
*/
public static final Integer EAS_STATUS = 1;
/**
* PTC()
*/
public static final Integer PTC_STATUS = 1;
/**
* ABS()
*/
public static final Integer ABS_STATUS = 1;
/**
* MCU(/)
*/
public static final Integer MCU_STATUS = 1;
/**
*
*/
public static final Integer HEATING_STATUS = 1;
/**
*
*/
public static final Integer BATTERY_STATUS = 1;
/**
*
*/
public static final Integer BATTERY_INSULATION_STATUS = 1;
/**
* DCDC()
*/
public static final Integer DCDC_STATUS = 1;
/**
* CHG()
*/
public static final Integer CHG_STATUS = 1;
}

View File

@ -22,15 +22,4 @@ spring:
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# Kafka
kafka:
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
bootstrap-servers: 10.10.26.5:9092
consumer:
group-id: group
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
#kafka:
# topic: test

View File

@ -0,0 +1,16 @@
<?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">
<!-- mybatis数据层 namespace命名空间-->
<mapper namespace="com.muyu.analyze.mapper.VehicleMapper">
<insert id="addVehicleStoredEvent">
INSERT INTO vehicle_data (vin, date_time, speed, longitude, latitude, single_battery_min_voltage, motor_voltage, motor_speed, self_check_counter, voltage, gear, remaining_battery, motor_current, brake_pedal, current, single_battery_max_voltage, fuel_consumption_rate, resistance, maximum_feedback_power, single_battery_max_temperature)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(#{item.vin}, #{item.dateTime}, #{item.speed}, #{item.longitude}, #{item.latitude}, #{item.singleBatteryMinVoltage}, #{item.motorVoltage}, #{item.motorSpeed}, #{item.selfCheckCounter}, #{item.voltage}, #{item.gear}, #{item.remainingBattery}, #{item.motorCurrent}, #{item.brakePedal}, #{item.current}, #{item.singleBatteryMaxVoltage}, #{item.fuelConsumptionRate}, #{item.resistance}, #{item.maximumFeedbackPower}, #{item.singleBatteryMaxTemperature})
</foreach>
</insert>
</mapper>

View File

@ -16,6 +16,10 @@
<groupId>com.muyu</groupId>
<artifactId>muyu-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-system-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -1,16 +1,19 @@
package com.muyu.system.common.domain;
package com.muyu.business.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.business.domain.req.FaultCodesAddReq;
import com.muyu.business.domain.req.FaultCodesUpdReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import com.muyu.system.common.domain.req.FaultCodesAddReq;
import com.muyu.system.common.domain.req.FaultCodesUpdReq;
import lombok.*;
import lombok.experimental.*;
import org.springframework.format.annotation.*;
import java.io.*;
import java.util.*;
import java.io.Serializable;
import java.util.Date;
/**
* fault_codes

View File

@ -1,15 +1,21 @@
package com.muyu.business.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.*;
import com.muyu.business.domain.req.*;
import io.swagger.annotations.*;
import lombok.*;
import lombok.experimental.*;
import org.springframework.format.annotation.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.business.domain.req.FaultLogsAddReq;
import com.muyu.business.domain.req.FaultLogsUpdReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.*;
import java.util.*;
import java.io.Serializable;
import java.util.Date;
/**
*
@ -103,6 +109,12 @@ public class FaultLogs implements Serializable {
@ApiModelProperty("备注")
private String remark;
/**
*
*/
private Integer faultLevel;
public static FaultLogs addFaultLogsReq(FaultLogsAddReq faultLogsAddReq){
return FaultLogs.builder()
.carVin(faultLogsAddReq.getCarVin())

View File

@ -1,4 +1,4 @@
package com.muyu.system.common.domain.config;
package com.muyu.business.domain.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@ -1,9 +1,12 @@
package com.muyu.system.common.domain.req;
package com.muyu.business.domain.req;
import lombok.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.*;
import java.io.Serializable;
/**
*

View File

@ -1,12 +1,16 @@
package com.muyu.system.common.domain.req;
package com.muyu.business.domain.req;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
import org.springframework.format.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
import java.io.*;
import java.util.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
*

View File

@ -1,12 +1,16 @@
package com.muyu.system.common.domain.req;
package com.muyu.business.domain.req;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
import org.springframework.format.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
import java.io.*;
import java.util.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
*

View File

@ -1,11 +1,14 @@
package com.muyu.business.domain.req;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
import org.springframework.format.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.*;
import java.util.*;
import java.io.Serializable;
import java.util.Date;
/**
*
@ -77,6 +80,11 @@ public class FaultLogsAddReq implements Serializable {
*/
private String disposeStatus;
/**
*
*/
private Integer faultLevel;
/**
*
*/
@ -93,4 +101,88 @@ public class FaultLogsAddReq implements Serializable {
*
*/
private String remark;
/**
*
*/
private int vehicleStatus ;
/**
*
*/
private int chargingStatus;
/**
*
*/
private int operatingStatus;
/**
* SOC
*/
private int socStatus;
/**
*
*/
private int chargingEnergyStorageStatus ;
/**
*
*/
private int driveMotorStatus ;
/**
*
*/
private int positionStatus ;
/**
* EAS()
*/
private int easStatus ;
/**
* PTC()
*/
private int ptcStatus ;
/**
* EPS()
*/
private int epsStatus ;
/**
* ABS()
*/
private int absStatus ;
/**
* MCU(/)
*/
private int mcuStatus ;
/**
*
*/
private int heatingStatus ;
/**
*
*/
private int batteryStatus ;
/**
*
*/
private int batteryInsulationStatus ;
/**
* DCDC()
*/
private int dcdcStatus ;
/**
* CHG()
*/
private int chgStatus ;
}

View File

@ -1,12 +1,14 @@
package com.muyu.business.domain.req;
import com.fasterxml.jackson.annotation.*;
import io.swagger.annotations.*;
import lombok.*;
import org.springframework.format.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.*;
import java.util.*;
import java.io.Serializable;
import java.util.Date;
/**
*

View File

@ -1,11 +1,14 @@
package com.muyu.business.domain.req;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
import org.springframework.format.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.*;
import java.util.*;
import java.io.Serializable;
import java.util.Date;
/**
*

View File

@ -1,11 +1,12 @@
package com.muyu.business.domain.res;
import com.baomidou.mybatisplus.annotation.*;
import com.muyu.business.domain.*;
import lombok.*;
import lombok.experimental.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.*;
import java.io.Serializable;
/**
*

View File

@ -1,5 +1,9 @@
package com.muyu.business.controller;
import com.muyu.business.domain.FaultCodeInfo;
import com.muyu.business.domain.req.FaultCodeReq;
import com.muyu.business.domain.req.FaultCodesAddReq;
import com.muyu.business.domain.req.FaultCodesUpdReq;
import com.muyu.business.service.*;
import com.muyu.common.core.domain.*;
import com.muyu.common.core.web.controller.*;
@ -7,10 +11,6 @@ import com.muyu.common.core.web.page.*;
import com.muyu.common.log.annotation.*;
import com.muyu.common.log.enums.*;
import com.muyu.common.security.annotation.*;
import com.muyu.system.common.domain.FaultCodeInfo;
import com.muyu.system.common.domain.req.FaultCodeReq;
import com.muyu.system.common.domain.req.FaultCodesAddReq;
import com.muyu.system.common.domain.req.FaultCodesUpdReq;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.*;
import org.springframework.validation.annotation.*;

View File

@ -4,9 +4,7 @@ package com.muyu.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.system.common.domain.FaultCodeInfo;
import java.util.*;
import com.muyu.business.domain.FaultCodeInfo;
/**
* Mapper

View File

@ -4,8 +4,8 @@ package com.muyu.business.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.system.common.domain.FaultCodeInfo;
import com.muyu.system.common.domain.req.FaultCodeReq;
import com.muyu.business.domain.FaultCodeInfo;
import com.muyu.business.domain.req.FaultCodeReq;
import java.util.*;

View File

@ -4,13 +4,13 @@ package com.muyu.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.business.domain.FaultCodeInfo;
import com.muyu.business.domain.req.FaultCodeReq;
import com.muyu.business.mapper.FaultCodesMapper;
import com.muyu.business.service.FaultCodesService;
import com.muyu.common.core.utils.DateUtils;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.system.common.domain.FaultCodeInfo;
import com.muyu.system.common.domain.req.FaultCodeReq;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@ -22,7 +22,7 @@ import lombok.experimental.SuperBuilder;
@AllArgsConstructor
@NoArgsConstructor
@TableName("fence_info")
public class Fence{
public class Fence {
/**
* ID