diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java index a7d91f4..8847620 100644 --- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java @@ -1,5 +1,6 @@ package com.muyu.event.process.basic; +import lombok.extern.slf4j.Slf4j; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; @@ -10,6 +11,7 @@ import java.util.List; * @Date 2024/9/30 15:37 * @Description 基础事件处理器 */ +@Slf4j @Component public class BasicEventHandler implements ApplicationListener> { @@ -34,6 +36,12 @@ public class BasicEventHandler implements ApplicationListener> */ @Override public void onApplicationEvent(BasicEvent event) { - listeners.forEach(l -> l.onEvent(event)); + listeners.forEach(l -> { + try { + l.onEvent(event); + } catch (Exception e) { + log.error("{}监听器处理事件时发生异常:{}", l, e.getMessage()); + } + }); } } \ No newline at end of file diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java index cadaa16..d7b13bd 100644 --- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java @@ -1,6 +1,7 @@ package com.muyu.event.process.listener; import com.alibaba.fastjson2.JSONObject; +import com.muyu.common.core.exception.ServiceException; import com.muyu.enterprise.domain.FaultRule; import com.muyu.event.process.basic.BasicEvent; import com.muyu.event.process.basic.BasicEventListener; @@ -11,6 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.Map; +import java.util.Optional; /** * @Author: zi run @@ -31,8 +33,10 @@ public class IdentifyingFailuresEventListener implements BasicEventListener event) { log.info("触发识别故障时间监听器……"); JSONObject data = JSONObject.parseObject(event.getData()); - Map dataMap = (Map) cacheUtil.get((String) data.get("vin")); - FaultRule faultRule = (FaultRule) dataMap.get(CacheHandlerConstants.FAULT_RULE_KEY); - + Optional> optionalDataMap = + Optional.ofNullable((Map) cacheUtil.get((String) data.get("vin"))); + optionalDataMap + .map(dataMap -> (FaultRule) dataMap.get(CacheHandlerConstants.FAULT_RULE_KEY)) + .orElseThrow(() -> new ServiceException("故障规则未找到")); } }