From d8e65c8da3e671c9537323fae8a74c2c48baafac Mon Sep 17 00:00:00 2001 From: dongxiaodong <13970843+dxdwork@user.noreply.gitee.com> Date: Sat, 6 Apr 2024 20:08:09 +0800 Subject: [PATCH 1/5] =?UTF-8?q?kafka=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/domain/CoupletTroubleCode.java | 6 ++ .../analyze/msg/CoupletMsgApplication.java | 1 + .../service/impl/BreakdownServiceImpl.java | 93 +++++++++++++++++++ .../couplet/analyze/msg/utils/MsgUtils.java | 21 +++++ 4 files changed, 121 insertions(+) diff --git a/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java b/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java index 54ea5ff..a29b482 100644 --- a/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java +++ b/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java @@ -65,4 +65,10 @@ public class CoupletTroubleCode { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date troubleEndTime; + + /** + * 故障位置 + */ + @Excel(name = "故障位置") + private String troublePosition; } diff --git a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/CoupletMsgApplication.java b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/CoupletMsgApplication.java index 2987420..43a0618 100644 --- a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/CoupletMsgApplication.java +++ b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/CoupletMsgApplication.java @@ -17,5 +17,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; public class CoupletMsgApplication { public static void main(String[] args) { SpringApplication.run(CoupletMsgApplication.class); + System.out.println("解析系统启动成功"); } } diff --git a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java index 0590b4f..cc347c2 100644 --- a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java +++ b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.couplet.analyze.msg.contents.StateConstant; import com.couplet.analyze.msg.domain.CoupletMsgData; import com.couplet.analyze.msg.service.IncidentService; +import com.couplet.analyze.msg.utils.MsgUtils; import com.couplet.common.domain.CoupletTroubleCode; import com.couplet.remote.RemoteTroubleService; import org.slf4j.Logger; @@ -70,6 +71,95 @@ public class BreakdownServiceImpl extends KeyExpirationEventMessageListener impl || StateConstant.DCDC_STATUS != coupletMsgData.getDcdcStatus() || StateConstant.CHG_STATUS != coupletMsgData.getChgStatus()){ //获取过期的key + + // 定义一个CoupletTroubleCode对象,用于记录故障位置信息 + CoupletTroubleCode troubleCode = new CoupletTroubleCode(); + + // 检查车辆状态,若为0,则设置故障位置为"190" + if(coupletMsgData.getVehicleStatus() == 0) { + troubleCode.setTroublePosition("190"); + } + + // 检查充电状态,若为0,则设置故障位置为"191" + if (coupletMsgData.getChargingStatus() == 0) { + troubleCode.setTroublePosition("191"); + } + + // 检查运行状态,若为0,则设置故障位置为"192" + if (coupletMsgData.getOperatingStatus() == 0) { + troubleCode.setTroublePosition("192"); + } + + // 检查电池荷电状态(SOC), 若为0,则设置故障位置为"193" + if (coupletMsgData.getSocStatus() == 0) { + troubleCode.setTroublePosition("193"); + } + + // 检查充电能源存储状态,若为0,则设置故障位置为"194" + if (coupletMsgData.getChargingEnergyStorageStatus() == 0) { + troubleCode.setTroublePosition("194"); + } + + // 检查驱动电机状态,若为0,则设置故障位置为"195" + if (coupletMsgData.getDriveMotorStatus() == 0) { + troubleCode.setTroublePosition("195"); + } + + // 检查定位状态,若为0,则设置故障位置为"196" + if (coupletMsgData.getPositionStatus() == 0) { + troubleCode.setTroublePosition("196"); + } + + // 检查电子驻车系统(EAS)状态,若为0,则设置故障位置为"197" + if (coupletMsgData.getEasStatus() == 0) { + troubleCode.setTroublePosition("197"); + } + + // 检查PTC(正温度系数热敏电阻)状态,若为0,则设置故障位置为"198" + if (coupletMsgData.getPtcStatus() == 0) { + troubleCode.setTroublePosition("198"); + } + + // 检查电动助力转向系统(EPS)状态,若为0,则设置故障位置为"199" + if (coupletMsgData.getEpsStatus() == 0) { + troubleCode.setTroublePosition("199"); + } + + // 检查防抱死制动系统(ABS)状态,若为0,则设置故障位置为"200" + if (coupletMsgData.getAbsStatus() == 0) { + troubleCode.setTroublePosition("200"); + } + + // 检查主控制器(MCU)状态,若为0,则设置故障位置为"201" + if (coupletMsgData.getMcuStatus() == 0) { + troubleCode.setTroublePosition("201"); + } + + // 检查加热状态,若为0,则设置故障位置为"202" + if (coupletMsgData.getHeatingStatus() == 0) { + troubleCode.setTroublePosition("202"); + } + + // 检查电池状态,若为0,则设置故障位置为"203" + if (coupletMsgData.getBatteryStatus() == 0) { + troubleCode.setTroublePosition("203"); + } + + // 检查电池绝缘状态,若为0,则设置故障位置为"204" + if (coupletMsgData.getBatteryInsulationStatus() == 0) { + troubleCode.setTroublePosition("204"); + } + + // 检查直流-直流转换器(DC/DC)状态,若为0,则设置故障位置为"205" + if (coupletMsgData.getDcdcStatus() == 0) { + troubleCode.setTroublePosition("205"); + } + + // 检查充电机(CHG)状态,若为0,则设置故障位置为"206" + if (coupletMsgData.getChgStatus() == 0) { + troubleCode.setTroublePosition("206"); + } + String key = "breakdown"; log.debug("失效+key is:"+ key); String value = JSON.toJSONString(coupletMsgData); @@ -110,6 +200,9 @@ public class BreakdownServiceImpl extends KeyExpirationEventMessageListener impl // 插入数据库 troubleCode.setTroubleTag(0); troubleCode.setTroubleVin(code.getVin()); + // 随机生成故障码 + String faultCode = MsgUtils.generateGTA(); + troubleCode.setTroubleCode(faultCode); remoteTroubleService.newFaultData(troubleCode); redisTemplate.opsForSet().add(code.getVin(), code.getVin()+":"+code); long expireTime = 30; diff --git a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/utils/MsgUtils.java b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/utils/MsgUtils.java index 5eb4ea9..1e2800a 100644 --- a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/utils/MsgUtils.java +++ b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/utils/MsgUtils.java @@ -8,6 +8,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Random; /** * @author DongXiaoDong @@ -18,6 +19,26 @@ import java.util.List; @Slf4j public class MsgUtils { + public static String generateGTA() { + // 生成四位以"GTA"开头的字符串 + String prefix = "GTA"; + // 生成三位随机数字 + String randomNumber = generateRandomNumber(4); + // 拼接字符串 + return prefix + randomNumber; + } + + public static String generateRandomNumber(int length) { + // 生成随机数 + Random random = new Random(); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < length; i++) { + // 生成0到9之间的随机数字,并转换为字符串 + sb.append(random.nextInt(10)); + } + return sb.toString(); + } + /** * 将16进制字符串转换为ASCII字符串 * @param s 16进制字符串 From 1e08ce9bd77a52e0349cbb716431cf3272f952cb Mon Sep 17 00:00:00 2001 From: dongxiaodong <13970843+dxdwork@user.noreply.gitee.com> Date: Sat, 6 Apr 2024 20:50:16 +0800 Subject: [PATCH 2/5] =?UTF-8?q?kafka=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../couplet/business/server/mapper/SysTroubleMapper.java | 8 -------- .../couplet-business/src/main/resources/bootstrap.yml | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/couplet-modules/couplet-business/src/main/java/com/couplet/business/server/mapper/SysTroubleMapper.java b/couplet-modules/couplet-business/src/main/java/com/couplet/business/server/mapper/SysTroubleMapper.java index ff2a512..bf95533 100644 --- a/couplet-modules/couplet-business/src/main/java/com/couplet/business/server/mapper/SysTroubleMapper.java +++ b/couplet-modules/couplet-business/src/main/java/com/couplet/business/server/mapper/SysTroubleMapper.java @@ -29,12 +29,4 @@ public interface SysTroubleMapper extends BaseMapper { void newFaultData(CoupletTroubleCode code); void cleanTroubleCode(); - - int insertMsgResq(CoupletTroubleCode coupletTroubleCode); - - - -// int addTrouble(TroubleAddReq troubleAddReq); - -// int updateTrouble(TroubleUpdReq troubleUpdReq); } diff --git a/couplet-modules/couplet-business/src/main/resources/bootstrap.yml b/couplet-modules/couplet-business/src/main/resources/bootstrap.yml index b88e464..6c75304 100644 --- a/couplet-modules/couplet-business/src/main/resources/bootstrap.yml +++ b/couplet-modules/couplet-business/src/main/resources/bootstrap.yml @@ -16,11 +16,11 @@ spring: discovery: # 服务注册地址 server-addr: 121.89.211.230:8848 - namespace: 172469 + namespace: a439ce3f-2c42-4b4c-9c4d-c8db49933c15 config: # 配置中心地址 server-addr: 121.89.211.230:8848 - namespace: 172469 + namespace: a439ce3f-2c42-4b4c-9c4d-c8db49933c15 # 配置文件格式 file-extension: yml # 共享配置 From 165583d024259fd3c6e7f405276fb3669b6adaf0 Mon Sep 17 00:00:00 2001 From: dongxiaodong <13970843+dxdwork@user.noreply.gitee.com> Date: Sat, 6 Apr 2024 21:34:23 +0800 Subject: [PATCH 3/5] =?UTF-8?q?kafka=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/domain/CoupletTroubleCode.java | 6 - .../service/impl/BreakdownServiceImpl.java | 176 +++++++++--------- .../mapper/business/SysTroubleMapper.xml | 7 +- 3 files changed, 88 insertions(+), 101 deletions(-) diff --git a/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java b/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java index a29b482..0ace253 100644 --- a/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java +++ b/couplet-common/couplet-common-business/src/main/java/com/couplet/common/domain/CoupletTroubleCode.java @@ -46,12 +46,6 @@ public class CoupletTroubleCode { @Excel(name = "vin") private String troubleVin; - /** - * 故障标签 - */ - @Excel(name = "故障标签") - private Integer troubleTag; - /** * 故障开始时间 */ diff --git a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java index cc347c2..aaa11b1 100644 --- a/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java +++ b/couplet-modules/couplet-analyze/couplet-analyze-msg/src/main/java/com/couplet/analyze/msg/service/impl/BreakdownServiceImpl.java @@ -71,95 +71,6 @@ public class BreakdownServiceImpl extends KeyExpirationEventMessageListener impl || StateConstant.DCDC_STATUS != coupletMsgData.getDcdcStatus() || StateConstant.CHG_STATUS != coupletMsgData.getChgStatus()){ //获取过期的key - - // 定义一个CoupletTroubleCode对象,用于记录故障位置信息 - CoupletTroubleCode troubleCode = new CoupletTroubleCode(); - - // 检查车辆状态,若为0,则设置故障位置为"190" - if(coupletMsgData.getVehicleStatus() == 0) { - troubleCode.setTroublePosition("190"); - } - - // 检查充电状态,若为0,则设置故障位置为"191" - if (coupletMsgData.getChargingStatus() == 0) { - troubleCode.setTroublePosition("191"); - } - - // 检查运行状态,若为0,则设置故障位置为"192" - if (coupletMsgData.getOperatingStatus() == 0) { - troubleCode.setTroublePosition("192"); - } - - // 检查电池荷电状态(SOC), 若为0,则设置故障位置为"193" - if (coupletMsgData.getSocStatus() == 0) { - troubleCode.setTroublePosition("193"); - } - - // 检查充电能源存储状态,若为0,则设置故障位置为"194" - if (coupletMsgData.getChargingEnergyStorageStatus() == 0) { - troubleCode.setTroublePosition("194"); - } - - // 检查驱动电机状态,若为0,则设置故障位置为"195" - if (coupletMsgData.getDriveMotorStatus() == 0) { - troubleCode.setTroublePosition("195"); - } - - // 检查定位状态,若为0,则设置故障位置为"196" - if (coupletMsgData.getPositionStatus() == 0) { - troubleCode.setTroublePosition("196"); - } - - // 检查电子驻车系统(EAS)状态,若为0,则设置故障位置为"197" - if (coupletMsgData.getEasStatus() == 0) { - troubleCode.setTroublePosition("197"); - } - - // 检查PTC(正温度系数热敏电阻)状态,若为0,则设置故障位置为"198" - if (coupletMsgData.getPtcStatus() == 0) { - troubleCode.setTroublePosition("198"); - } - - // 检查电动助力转向系统(EPS)状态,若为0,则设置故障位置为"199" - if (coupletMsgData.getEpsStatus() == 0) { - troubleCode.setTroublePosition("199"); - } - - // 检查防抱死制动系统(ABS)状态,若为0,则设置故障位置为"200" - if (coupletMsgData.getAbsStatus() == 0) { - troubleCode.setTroublePosition("200"); - } - - // 检查主控制器(MCU)状态,若为0,则设置故障位置为"201" - if (coupletMsgData.getMcuStatus() == 0) { - troubleCode.setTroublePosition("201"); - } - - // 检查加热状态,若为0,则设置故障位置为"202" - if (coupletMsgData.getHeatingStatus() == 0) { - troubleCode.setTroublePosition("202"); - } - - // 检查电池状态,若为0,则设置故障位置为"203" - if (coupletMsgData.getBatteryStatus() == 0) { - troubleCode.setTroublePosition("203"); - } - - // 检查电池绝缘状态,若为0,则设置故障位置为"204" - if (coupletMsgData.getBatteryInsulationStatus() == 0) { - troubleCode.setTroublePosition("204"); - } - - // 检查直流-直流转换器(DC/DC)状态,若为0,则设置故障位置为"205" - if (coupletMsgData.getDcdcStatus() == 0) { - troubleCode.setTroublePosition("205"); - } - - // 检查充电机(CHG)状态,若为0,则设置故障位置为"206" - if (coupletMsgData.getChgStatus() == 0) { - troubleCode.setTroublePosition("206"); - } - String key = "breakdown"; log.debug("失效+key is:"+ key); String value = JSON.toJSONString(coupletMsgData); @@ -197,12 +108,95 @@ public class BreakdownServiceImpl extends KeyExpirationEventMessageListener impl if (breakdownIds.size()==0){ CoupletTroubleCode troubleCode = new CoupletTroubleCode(); troubleCode.setTroubleStartTime(new Date()); - // 插入数据库 - troubleCode.setTroubleTag(0); troubleCode.setTroubleVin(code.getVin()); // 随机生成故障码 String faultCode = MsgUtils.generateGTA(); troubleCode.setTroubleCode(faultCode); + + // 检查车辆状态,若为0,则设置故障位置为"190" + if(code.getVehicleStatus() == 0) { + troubleCode.setTroublePosition("190"); + } + + // 检查充电状态,若为0,则设置故障位置为"191" + if (code.getChargingStatus() == 0) { + troubleCode.setTroublePosition("191"); + } + + // 检查运行状态,若为0,则设置故障位置为"192" + if (code.getOperatingStatus() == 0) { + troubleCode.setTroublePosition("192"); + } + + // 检查电池荷电状态(SOC), 若为0,则设置故障位置为"193" + if (code.getSocStatus() == 0) { + troubleCode.setTroublePosition("193"); + } + + // 检查充电能源存储状态,若为0,则设置故障位置为"194" + if (code.getChargingEnergyStorageStatus() == 0) { + troubleCode.setTroublePosition("194"); + } + + // 检查驱动电机状态,若为0,则设置故障位置为"195" + if (code.getDriveMotorStatus() == 0) { + troubleCode.setTroublePosition("195"); + } + + // 检查定位状态,若为0,则设置故障位置为"196" + if (code.getPositionStatus() == 0) { + troubleCode.setTroublePosition("196"); + } + + // 检查电子驻车系统(EAS)状态,若为0,则设置故障位置为"197" + if (code.getEasStatus() == 0) { + troubleCode.setTroublePosition("197"); + } + + // 检查PTC(正温度系数热敏电阻)状态,若为0,则设置故障位置为"198" + if (code.getPtcStatus() == 0) { + troubleCode.setTroublePosition("198"); + } + + // 检查电动助力转向系统(EPS)状态,若为0,则设置故障位置为"199" + if (code.getEpsStatus() == 0) { + troubleCode.setTroublePosition("199"); + } + + // 检查防抱死制动系统(ABS)状态,若为0,则设置故障位置为"200" + if (code.getAbsStatus() == 0) { + troubleCode.setTroublePosition("200"); + } + + // 检查主控制器(MCU)状态,若为0,则设置故障位置为"201" + if (code.getMcuStatus() == 0) { + troubleCode.setTroublePosition("201"); + } + + // 检查加热状态,若为0,则设置故障位置为"202" + if (code.getHeatingStatus() == 0) { + troubleCode.setTroublePosition("202"); + } + + // 检查电池状态,若为0,则设置故障位置为"203" + if (code.getBatteryStatus() == 0) { + troubleCode.setTroublePosition("203"); + } + + // 检查电池绝缘状态,若为0,则设置故障位置为"204" + if (code.getBatteryInsulationStatus() == 0) { + troubleCode.setTroublePosition("204"); + } + + // 检查直流-直流转换器(DC/DC)状态,若为0,则设置故障位置为"205" + if (code.getDcdcStatus() == 0) { + troubleCode.setTroublePosition("205"); + } + + // 检查充电机(CHG)状态,若为0,则设置故障位置为"206" + if (code.getChgStatus() == 0) { + troubleCode.setTroublePosition("206"); + } remoteTroubleService.newFaultData(troubleCode); redisTemplate.opsForSet().add(code.getVin(), code.getVin()+":"+code); long expireTime = 30; diff --git a/couplet-modules/couplet-business/src/main/resources/mapper/business/SysTroubleMapper.xml b/couplet-modules/couplet-business/src/main/resources/mapper/business/SysTroubleMapper.xml index 9fede3f..f7c39f5 100644 --- a/couplet-modules/couplet-business/src/main/resources/mapper/business/SysTroubleMapper.xml +++ b/couplet-modules/couplet-business/src/main/resources/mapper/business/SysTroubleMapper.xml @@ -18,13 +18,12 @@ INSERT INTO `couplet-cloud`.`couplet_trouble_code` - (`trouble_vin`, `trouble_tag`, - `trouble_start_time`) + (`trouble_code`,`trouble_vin`,`trouble_position`,`trouble_start_time`) VALUES - (#{troubleVin}, #{troubleTag}, #{troubleStartTime}) + (#{troubleCode},#{troubleVin}, #{troublePosition},#{troubleStartTime}) - + truncate table couplet_trouble_code