From c0800ce46607a938be3263a3260efbfde3e2251b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=93=80?= <2076029107@qq.com> Date: Wed, 9 Oct 2024 18:27:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:()=20=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ot.autoconfigure.AutoConfiguration.imports | 4 ++ .../processing/listener/FenceListener.java | 54 +++++++++++++++++++ .../listener/IdentifyingFailuresListener.java | 50 +++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 cloud-common/cloud-common-saas/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/FenceListener.java create mode 100644 cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/IdentifyingFailuresListener.java diff --git a/cloud-common/cloud-common-saas/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-saas/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..7161bb8 --- /dev/null +++ b/cloud-common/cloud-common-saas/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,4 @@ +com.muyu.cloud.common.many.datasource.ManyDataSource +com.muyu.cloud.common.many.datasource.role.DynamicDataSource +com.muyu.cloud.common.saas.interceptor.WebMvcSaaSConfig +com.muyu.cloud.common.saas.interceptor.SaaSInterceptor diff --git a/cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/FenceListener.java b/cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/FenceListener.java new file mode 100644 index 0000000..fba78a1 --- /dev/null +++ b/cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/FenceListener.java @@ -0,0 +1,54 @@ +package com.muyu.processing.listener; + +import com.alibaba.fastjson.JSONObject; +import com.muyu.domain.FenceGroup; +import com.muyu.processing.basic.EventCustom; +import com.muyu.processing.basic.EventListener; +import com.muyu.processing.utils.CacheUtil; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; + +import java.awt.*; +import java.util.ArrayList; +import java.util.HashMap; + +/** + * 电子围栏判定 + * @Author:杨鹏 + * @Package:com.muyu.processing.listener + * @Project:cloud-vehicle + * @name:FenceListener + * @Date:2024/10/9 11:17 + */ +@Log4j2 +public class FenceListener implements EventListener { + + @Autowired + private CacheUtil cacheUtil; + + + @Override + public void onEvent(EventCustom event) { + try { + log.info("事件开始"); + JSONObject data = event.getData(); + String vin = (String) data.get("VIN码"); + Double longitude = (Double) data.get("longitude"); + Double latitude = (Double) data.get("latitude"); + HashMap map = (HashMap) cacheUtil.get(vin); + if (map != null) { + ArrayList points = new ArrayList<>(); + FenceGroup fenceGroup = new FenceGroup(); + Point testPoint = new Point(); // 应该在第一个围栏内 + } + } catch (NumberFormatException e) { + log.error("事件发送错误",e); + throw new RuntimeException(e); + } + } + + @Override + public void onApplicationEvent(EventCustom event) { + onEvent(event); + } +} diff --git a/cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/IdentifyingFailuresListener.java b/cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/IdentifyingFailuresListener.java new file mode 100644 index 0000000..15d9d60 --- /dev/null +++ b/cloud-modules/cloud-modules-processing/src/main/java/com/muyu/processing/listener/IdentifyingFailuresListener.java @@ -0,0 +1,50 @@ +package com.muyu.processing.listener; + +import com.alibaba.fastjson.JSONObject; +import com.muyu.domain.WarnRule; +import com.muyu.processing.basic.EventCustom; +import com.muyu.processing.basic.EventListener; +import com.muyu.processing.utils.CacheUtil; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.util.HashMap; + +/** + * 判断故障信息 + * @Author:杨鹏 + * @Package:com.muyu.processing.listener + * @Project:cloud-vehicle + * @name:IdentifyingFailuresListener + * @Date:2024/10/9 11:20 + */ +@Log4j2 +public class IdentifyingFailuresListener implements EventListener { + + @Autowired + private CacheUtil cacheUtil; + + @Override + public void onEvent(EventCustom event) { + try { + log.info("规则预警事件开始"); + JSONObject data = event.getData(); + String vin = (String) data.get("VIN码"); + HashMap map = (HashMap) cacheUtil.get(vin); + if (map != null) { + WarnRule faultCondition = (WarnRule) map.get("warnRule"); + } + } catch (Exception e) { + log.error("事件发生错误",e); + throw new RuntimeException(e); + } + + } + + @Override + public void onApplicationEvent(EventCustom event) { + this.onEvent(event); + } + +}