优化判断语句

server_five_liuyunhu
dongxiaodong 2024-04-08 14:01:18 +08:00
parent f104a50c27
commit adab59900a
9 changed files with 321 additions and 199 deletions

View File

@ -65,4 +65,9 @@ public class CoupletTroubleCode {
*/ */
@Excel(name = "故障位置") @Excel(name = "故障位置")
private String troublePosition; private String troublePosition;
/**
*
*/
private Integer processingState;
} }

View File

@ -92,11 +92,19 @@
<groupId>com.couplet</groupId> <groupId>com.couplet</groupId>
<artifactId>couplet-common-event</artifactId> <artifactId>couplet-common-event</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.kafka</groupId> <groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId> <artifactId>spring-kafka</artifactId>
</dependency> </dependency>
<!-- RabbitMQ依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -54,89 +54,142 @@ public class CodeConsumer {
String faultCode = MsgUtils.generateGTA(); String faultCode = MsgUtils.generateGTA();
troubleCode.setTroubleCode(faultCode); troubleCode.setTroubleCode(faultCode);
// 检查车辆状态若为0则设置故障位置为"190" switch (msgData.getVehicleStatus()) {
if(msgData.getVehicleStatus() == 0) { case 0:
troubleCode.setTroublePosition("190"); troubleCode.setTroublePosition("190");
} troubleCode.setProcessingState(0);
break;
// 检查充电状态若为0则设置故障位置为"191" default:
if (msgData.getChargingStatus() == 0) { switch (msgData.getChargingStatus()) {
case 0:
troubleCode.setTroublePosition("191"); troubleCode.setTroublePosition("191");
} troubleCode.setProcessingState(0);
break;
// 检查运行状态若为0则设置故障位置为"192" default:
if (msgData.getOperatingStatus() == 0) { switch (msgData.getOperatingStatus()) {
case 0:
troubleCode.setTroublePosition("192"); troubleCode.setTroublePosition("192");
} troubleCode.setProcessingState(0);
break;
// 检查电池荷电状态SOC, 若为0则设置故障位置为"193" default:
if (msgData.getSocStatus() == 0) { switch (msgData.getSocStatus()) {
case 0:
troubleCode.setTroublePosition("193"); troubleCode.setTroublePosition("193");
} troubleCode.setProcessingState(0);
break;
// 检查充电能源存储状态若为0则设置故障位置为"194" default:
if (msgData.getChargingEnergyStorageStatus() == 0) { switch (msgData.getChargingEnergyStorageStatus()) {
case 0:
troubleCode.setTroublePosition("194"); troubleCode.setTroublePosition("194");
} troubleCode.setProcessingState(0);
break;
// 检查驱动电机状态若为0则设置故障位置为"195" default:
if (msgData.getDriveMotorStatus() == 0) { switch (msgData.getDriveMotorStatus()) {
case 0:
troubleCode.setTroublePosition("195"); troubleCode.setTroublePosition("195");
} troubleCode.setProcessingState(0);
break;
// 检查定位状态若为0则设置故障位置为"196" default:
if (msgData.getPositionStatus() == 0) { switch (msgData.getPositionStatus()) {
case 0:
troubleCode.setTroublePosition("196"); troubleCode.setTroublePosition("196");
} troubleCode.setProcessingState(0);
break;
// 检查电子驻车系统EAS状态若为0则设置故障位置为"197" default:
if (msgData.getEasStatus() == 0) { switch (msgData.getEasStatus()) {
case 0:
troubleCode.setTroublePosition("197"); troubleCode.setTroublePosition("197");
} troubleCode.setProcessingState(0);
break;
// 检查PTC正温度系数热敏电阻状态若为0则设置故障位置为"198" default:
if (msgData.getPtcStatus() == 0) { switch (msgData.getPtcStatus()) {
case 0:
troubleCode.setTroublePosition("198"); troubleCode.setTroublePosition("198");
} troubleCode.setProcessingState(0);
break;
// 检查电动助力转向系统EPS状态若为0则设置故障位置为"199" default:
if (msgData.getEpsStatus() == 0) { switch (msgData.getEpsStatus()) {
case 0:
troubleCode.setTroublePosition("199"); troubleCode.setTroublePosition("199");
} troubleCode.setProcessingState(0);
break;
// 检查防抱死制动系统ABS状态若为0则设置故障位置为"200" default:
if (msgData.getAbsStatus() == 0) { switch (msgData.getAbsStatus()) {
case 0:
troubleCode.setTroublePosition("200"); troubleCode.setTroublePosition("200");
} troubleCode.setProcessingState(0);
break;
// 检查主控制器MCU状态若为0则设置故障位置为"201" default:
if (msgData.getMcuStatus() == 0) { switch (msgData.getMcuStatus()) {
case 0:
troubleCode.setTroublePosition("201"); troubleCode.setTroublePosition("201");
} troubleCode.setProcessingState(0);
break;
// 检查加热状态若为0则设置故障位置为"202" default:
if (msgData.getHeatingStatus() == 0) { switch (msgData.getHeatingStatus()) {
case 0:
troubleCode.setTroublePosition("202"); troubleCode.setTroublePosition("202");
} troubleCode.setProcessingState(0);
break;
// 检查电池状态若为0则设置故障位置为"203" default:
if (msgData.getBatteryStatus() == 0) { switch (msgData.getBatteryStatus()) {
case 0:
troubleCode.setTroublePosition("203"); troubleCode.setTroublePosition("203");
} troubleCode.setProcessingState(0);
break;
// 检查电池绝缘状态若为0则设置故障位置为"204" default:
if (msgData.getBatteryInsulationStatus() == 0) { switch (msgData.getBatteryInsulationStatus()) {
case 0:
troubleCode.setTroublePosition("204"); troubleCode.setTroublePosition("204");
} troubleCode.setProcessingState(0);
break;
// 检查直流-直流转换器DC/DC状态若为0则设置故障位置为"205" default:
if (msgData.getDcdcStatus() == 0) { switch (msgData.getDcdcStatus()) {
case 0:
troubleCode.setTroublePosition("205"); troubleCode.setTroublePosition("205");
} troubleCode.setProcessingState(0);
break;
// 检查充电机CHG状态若为0则设置故障位置为"206" default:
if (msgData.getChgStatus() == 0) { switch (msgData.getChgStatus()) {
case 0:
troubleCode.setTroublePosition("206"); troubleCode.setTroublePosition("206");
troubleCode.setProcessingState(0);
break;
default:
// do nothing
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
} }
remoteTroubleService.newFaultData(troubleCode); remoteTroubleService.newFaultData(troubleCode);
}); });

View File

@ -42,8 +42,8 @@ public class ModelsKafkaMessage {
add("stored-event"); add("stored-event");
} }
}; };
@Autowired // @Autowired
private RabbitTemplate rabbitTemplate; // private RabbitTemplate rabbitTemplate;
/** /**
* *
@ -74,16 +74,15 @@ public class ModelsKafkaMessage {
List<CoupletMsgData> coupletMsgDataList = sendMsg(str); List<CoupletMsgData> coupletMsgDataList = sendMsg(str);
for (CoupletMsgData msgData : coupletMsgDataList) { for (CoupletMsgData msgData : coupletMsgDataList) {
log.info("解析到车辆数据:{}", msgData); log.info("解析到车辆数据:{}", msgData);
// for (String string : strings) { for (String string : strings) {
// IncidentService incidentService = SpringUtils.getBean(string); IncidentService incidentService = SpringUtils.getBean(string);
// incidentService.incident(msgData); incidentService.incident(msgData);
// } }
//发送消息 //发送消息
rabbitTemplate.convertAndSend("couplet-code-queue",msgData,message -> { // rabbitTemplate.convertAndSend("couplet-code-queue",msgData,message -> {
message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); // message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
return message; // return message;
}); // });
try { try {
sleep(100); sleep(100);
} catch (Exception e) { } catch (Exception e) {

View File

@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
@ -103,6 +104,7 @@ public class BreakdownServiceImpl extends KeyExpirationEventMessageListener impl
for (CoupletMsgData member : members) { for (CoupletMsgData member : members) {
Set<String> breakdownIds = redisService.getCacheSet(member.getVin()+":"+key); Set<String> breakdownIds = redisService.getCacheSet(member.getVin()+":"+key);
if (breakdownIds.size()==0){ if (breakdownIds.size()==0){
CompletableFuture.runAsync(() -> {
CoupletTroubleCode troubleCode = new CoupletTroubleCode(); CoupletTroubleCode troubleCode = new CoupletTroubleCode();
troubleCode.setTroubleStartTime(new Date()); troubleCode.setTroubleStartTime(new Date());
troubleCode.setTroubleVin(member.getVin()); troubleCode.setTroubleVin(member.getVin());
@ -110,96 +112,149 @@ public class BreakdownServiceImpl extends KeyExpirationEventMessageListener impl
String faultCode = MsgUtils.generateGTA(); String faultCode = MsgUtils.generateGTA();
troubleCode.setTroubleCode(faultCode); troubleCode.setTroubleCode(faultCode);
// 检查车辆状态若为0则设置故障位置为"190" switch (member.getVehicleStatus()) {
if(member.getVehicleStatus() == 0) { case 0:
troubleCode.setTroublePosition("190"); troubleCode.setTroublePosition("190");
} troubleCode.setProcessingState(0);
break;
// 检查充电状态若为0则设置故障位置为"191" default:
if (member.getChargingStatus() == 0) { switch (member.getChargingStatus()) {
case 0:
troubleCode.setTroublePosition("191"); troubleCode.setTroublePosition("191");
} troubleCode.setProcessingState(0);
break;
// 检查运行状态若为0则设置故障位置为"192" default:
if (member.getOperatingStatus() == 0) { switch (member.getOperatingStatus()) {
case 0:
troubleCode.setTroublePosition("192"); troubleCode.setTroublePosition("192");
} troubleCode.setProcessingState(0);
break;
// 检查电池荷电状态SOC, 若为0则设置故障位置为"193" default:
if (member.getSocStatus() == 0) { switch (member.getSocStatus()) {
case 0:
troubleCode.setTroublePosition("193"); troubleCode.setTroublePosition("193");
} troubleCode.setProcessingState(0);
break;
// 检查充电能源存储状态若为0则设置故障位置为"194" default:
if (member.getChargingEnergyStorageStatus() == 0) { switch (member.getChargingEnergyStorageStatus()) {
case 0:
troubleCode.setTroublePosition("194"); troubleCode.setTroublePosition("194");
} troubleCode.setProcessingState(0);
break;
// 检查驱动电机状态若为0则设置故障位置为"195" default:
if (member.getDriveMotorStatus() == 0) { switch (member.getDriveMotorStatus()) {
case 0:
troubleCode.setTroublePosition("195"); troubleCode.setTroublePosition("195");
} troubleCode.setProcessingState(0);
break;
// 检查定位状态若为0则设置故障位置为"196" default:
if (member.getPositionStatus() == 0) { switch (member.getPositionStatus()) {
case 0:
troubleCode.setTroublePosition("196"); troubleCode.setTroublePosition("196");
} troubleCode.setProcessingState(0);
break;
// 检查电子驻车系统EAS状态若为0则设置故障位置为"197" default:
if (member.getEasStatus() == 0) { switch (member.getEasStatus()) {
case 0:
troubleCode.setTroublePosition("197"); troubleCode.setTroublePosition("197");
} troubleCode.setProcessingState(0);
break;
// 检查PTC正温度系数热敏电阻状态若为0则设置故障位置为"198" default:
if (member.getPtcStatus() == 0) { switch (member.getPtcStatus()) {
case 0:
troubleCode.setTroublePosition("198"); troubleCode.setTroublePosition("198");
} troubleCode.setProcessingState(0);
break;
// 检查电动助力转向系统EPS状态若为0则设置故障位置为"199" default:
if (member.getEpsStatus() == 0) { switch (member.getEpsStatus()) {
case 0:
troubleCode.setTroublePosition("199"); troubleCode.setTroublePosition("199");
} troubleCode.setProcessingState(0);
break;
// 检查防抱死制动系统ABS状态若为0则设置故障位置为"200" default:
if (member.getAbsStatus() == 0) { switch (member.getAbsStatus()) {
case 0:
troubleCode.setTroublePosition("200"); troubleCode.setTroublePosition("200");
} troubleCode.setProcessingState(0);
break;
// 检查主控制器MCU状态若为0则设置故障位置为"201" default:
if (member.getMcuStatus() == 0) { switch (member.getMcuStatus()) {
case 0:
troubleCode.setTroublePosition("201"); troubleCode.setTroublePosition("201");
} troubleCode.setProcessingState(0);
break;
// 检查加热状态若为0则设置故障位置为"202" default:
if (member.getHeatingStatus() == 0) { switch (member.getHeatingStatus()) {
case 0:
troubleCode.setTroublePosition("202"); troubleCode.setTroublePosition("202");
} troubleCode.setProcessingState(0);
break;
// 检查电池状态若为0则设置故障位置为"203" default:
if (member.getBatteryStatus() == 0) { switch (member.getBatteryStatus()) {
case 0:
troubleCode.setTroublePosition("203"); troubleCode.setTroublePosition("203");
} troubleCode.setProcessingState(0);
break;
// 检查电池绝缘状态若为0则设置故障位置为"204" default:
if (member.getBatteryInsulationStatus() == 0) { switch (member.getBatteryInsulationStatus()) {
case 0:
troubleCode.setTroublePosition("204"); troubleCode.setTroublePosition("204");
} troubleCode.setProcessingState(0);
break;
// 检查直流-直流转换器DC/DC状态若为0则设置故障位置为"205" default:
if (member.getDcdcStatus() == 0) { switch (member.getDcdcStatus()) {
case 0:
troubleCode.setTroublePosition("205"); troubleCode.setTroublePosition("205");
} troubleCode.setProcessingState(0);
break;
// 检查充电机CHG状态若为0则设置故障位置为"206" default:
if (member.getChgStatus() == 0) { switch (member.getChgStatus()) {
case 0:
troubleCode.setTroublePosition("206"); troubleCode.setTroublePosition("206");
troubleCode.setProcessingState(0);
break;
default:
// do nothing
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
}
break;
} }
remoteTroubleService.newFaultData(troubleCode); remoteTroubleService.newFaultData(troubleCode);
});
redisService.setCacheSet(member.getVin()+":"+key, member.getVin()+":"+member); redisService.setCacheSet(member.getVin()+":"+key, member.getVin()+":"+member);
long expireTime = 30; long expireTime = 30;
redisService.expire(member.getVin()+":"+key, expireTime, TimeUnit.MINUTES); redisService.expire(member.getVin()+":"+key, expireTime, TimeUnit.MINUTES);
} }
} }
} }

View File

@ -25,21 +25,21 @@ public class ParsingMsg {
String hexStringWithoutSpaces = substring.replaceAll("\\s+", ""); String hexStringWithoutSpaces = substring.replaceAll("\\s+", "");
String asciiString = hexToString(hexStringWithoutSpaces); String asciiString = hexToString(hexStringWithoutSpaces);
System.out.println("16进制解析后的数据"+asciiString); System.out.println("16进制解析后的数据"+asciiString);
//截取前17位 // //截取前17位
String substring1 = asciiString.substring(0, 17); // String substring1 = asciiString.substring(0, 17);
System.out.println("VIN"+substring1); // System.out.println("VIN"+substring1);
String substring2 = asciiString.substring(17, 30); // String substring2 = asciiString.substring(17, 30);
System.out.println("时间戳:"+substring2); // System.out.println("时间戳:"+substring2);
String substring3 = asciiString.substring(30, 40); // String substring3 = asciiString.substring(30, 40);
System.out.println("经度:" +substring3); // System.out.println("经度:" +substring3);
String substring4 = asciiString.substring(41, 50); // String substring4 = asciiString.substring(41, 50);
System.out.println("纬度:"+ substring4); // System.out.println("纬度:"+ substring4);
String substring5 = asciiString.substring(51, 56); // String substring5 = asciiString.substring(51, 56);
System.out.println("车速:"+ substring5); // System.out.println("车速:"+ substring5);
String substring6 = asciiString.substring(57, 67); // String substring6 = asciiString.substring(57, 67);
System.out.println("总里程:"+ substring6); // System.out.println("总里程:"+ substring6);
String substring7 = asciiString.substring(68, 73); // String substring7 = asciiString.substring(68, 73);
System.out.println("总电压:"+ substring7); // System.out.println("总电压:"+ substring7);
String pattern = "(.{17})(.{10})(.{9})(.{8})(.{2})"; String pattern = "(.{17})(.{10})(.{9})(.{8})(.{2})";
Pattern compile = Pattern.compile(pattern); Pattern compile = Pattern.compile(pattern);
Matcher matcher = compile.matcher(asciiString); Matcher matcher = compile.matcher(asciiString);

View File

@ -16,9 +16,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 121.89.211.230:8848 server-addr: 121.89.211.230:8848
namespace: a439ce3f-2c42-4b4c-9c4d-c8db49933c15
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 121.89.211.230:8848 server-addr: 121.89.211.230:8848
namespace: a439ce3f-2c42-4b4c-9c4d-c8db49933c15
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -8,9 +8,9 @@
<id property="troubleId" column="trouble_id"/> <id property="troubleId" column="trouble_id"/>
<result property="troubleCode" column="trouble_code"/> <result property="troubleCode" column="trouble_code"/>
<result property="troubleVin" column="trouble_vin"/> <result property="troubleVin" column="trouble_vin"/>
<result property="troubleTag" column="trouble_tag"/>
<result property="troubleStartTime" column="trouble_start_time"/> <result property="troubleStartTime" column="trouble_start_time"/>
<result property="troubleEndTime" column="trouble_end_time"/> <result property="troubleEndTime" column="trouble_end_time"/>
<result property="processingState" column="processing_state"/>
</resultMap> </resultMap>
<sql id="selectTroubleVo"> <sql id="selectTroubleVo">
@ -19,9 +19,9 @@
</sql> </sql>
<insert id="newFaultData"> <insert id="newFaultData">
INSERT INTO `couplet-cloud`.`couplet_trouble_code` INSERT INTO `couplet-cloud`.`couplet_trouble_code`
(`trouble_code`,`trouble_vin`,`trouble_position`,`trouble_start_time`) (`trouble_code`,`trouble_vin`,`trouble_position`,`trouble_start_time`,`processing_state`)
VALUES VALUES
(#{troubleCode},#{troubleVin}, #{troublePosition},#{troubleStartTime}) (#{troubleCode},#{troubleVin}, #{troublePosition},#{troubleStartTime},#{processingState})
</insert> </insert>
<update id="cleanTroubleCode"> <update id="cleanTroubleCode">
truncate table couplet_trouble_code truncate table couplet_trouble_code

View File

@ -38,7 +38,7 @@ mqtt:
# broker: mqtt://115.159.47.13:1883 # broker: mqtt://115.159.47.13:1883
username: username:
password: password:
clientId: fluxMq clientId: mq
qos: 0 qos: 0
topic: test topic: dxd