From d7f31e3482582ca31c24678d9c90d726b7af5ce0 Mon Sep 17 00:00:00 2001 From: wangxin1 <1173628408@qq.com> Date: Mon, 30 Sep 2024 19:25:45 +0800 Subject: [PATCH] revert a88e91c139b659e245a34721c10aa85711ca6238 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert fix():修复缓存模块命名冲突问题 --- .../cloud-modules-data-process-server/pom.xml | 5 + .../enterpise-cache/pom.xml | 13 +-- .../cache/MessageValueCacheService.java | 43 +++++++++ .../enterpise/cache/SysCarCacheService.java | 30 ++++++ .../cache/SysCarTypeCacheService.java | 29 ++++++ ...ot.autoconfigure.AutoConfiguration.imports | 3 +- .../enterpise-service/pom.xml | 2 +- .../enterprise-cache/pom.xml | 39 ++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../cloud-modules-enterprise/pom.xml | 2 +- cloud-modules/cloud-modules-parse/pom.xml | 10 +- .../parse/configure/MqttConsumerConfig.java | 79 ++++++++++++++++ .../com/muyu/parse/process/ProcessData.java | 93 +++++++++++++++++++ pom.xml | 2 +- 14 files changed, 337 insertions(+), 14 deletions(-) create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java create mode 100644 cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml index 419cff5..6c18295 100644 --- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml @@ -22,6 +22,11 @@ + + + com.muyu + enterprise-cache + com.muyu cloud-modules-data-process-common diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml index 5086d3c..54111f7 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml @@ -18,21 +18,18 @@ - - com.muyu - enterpise-common - + + com.muyu cloud-common-cache - 3.6.3 + ${muyu.version} + com.muyu - cloud-modules-vehicle-gateway - 3.6.3 - compile + enterpise-common diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java new file mode 100644 index 0000000..80e08a1 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java @@ -0,0 +1,43 @@ +package com.muyu.enterpise.cache; + +import com.muyu.common.cache.CacheAbsBasic; +import com.muyu.domain.MessageValue; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/29 20:04 + * @注释 + */ +@Component +public class MessageValueCacheService extends CacheAbsBasic>{ + + /** + * 前缀 + * @return + */ + @Override + public String keyPre() { + return"messageValue:info:"; + } + + + @Override + public String encode(String key) { + return super.encode(key); + } + + + /** + * 解密 + * @param key 缓存建 + * @return + */ + @Override + public String decode(String key) { + return key.replace("messageValue:info:",""); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java new file mode 100644 index 0000000..315992f --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java @@ -0,0 +1,30 @@ +package com.muyu.enterpise.cache; + +import com.muyu.common.cache.CacheAbsBasic; +import com.muyu.domain.SysCar; +import org.springframework.stereotype.Component; + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/30 11:06 + * @注释 + */ +@Component +public class SysCarCacheService extends CacheAbsBasic { + + @Override + public String keyPre() { + return "sysCar:info:"; + } + + @Override + public String encode(String key) { + return super.encode(key); + } + + @Override + public String decode(String key) { + return super.decode(key); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java new file mode 100644 index 0000000..112439d --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java @@ -0,0 +1,29 @@ +package com.muyu.enterpise.cache; + +import com.muyu.common.cache.CacheAbsBasic; +import com.muyu.domain.SysCarType; +import org.springframework.stereotype.Component; + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/30 11:18 + * @注释 + */ +@Component +public class SysCarTypeCacheService extends CacheAbsBasic { + @Override + public String keyPre() { + return "sysCarType:info:"; + } + + @Override + public String encode(String key) { + return super.encode(key); + } + + @Override + public String decode(String key) { + return super.decode(key); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index c0e16d2..3257b72 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ -com.muyu.enterpise.cache.VehicleCacheService +com.muyu.enterpise.cache.MessageValueCacheService +com.muyu.enterpise.cache.SysCarCacheService diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml index 17edc68..56b5964 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml @@ -87,7 +87,7 @@ com.muyu - enterprise-cache + enterpise-cache ${muyu.version} diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml new file mode 100644 index 0000000..b710426 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + com.muyu + cloud-modules-enterprise + 3.6.3 + + + enterprise-cache + + + 17 + 17 + UTF-8 + + + + + com.muyu + enterpise-common + + + + com.muyu + cloud-common-cache + 3.6.3 + + + com.muyu + cloud-modules-vehicle-gateway + 3.6.3 + compile + + + + diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..93f24ed --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.enterprise.cache.VehicleCacheService diff --git a/cloud-modules/cloud-modules-enterprise/pom.xml b/cloud-modules/cloud-modules-enterprise/pom.xml index a330713..e3dc02a 100644 --- a/cloud-modules/cloud-modules-enterprise/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/pom.xml @@ -25,7 +25,7 @@ enterpise-common enterpise-remote enterpise-service - enterpise-cache + enterprise-cache diff --git a/cloud-modules/cloud-modules-parse/pom.xml b/cloud-modules/cloud-modules-parse/pom.xml index b6ed6d6..45f2124 100644 --- a/cloud-modules/cloud-modules-parse/pom.xml +++ b/cloud-modules/cloud-modules-parse/pom.xml @@ -89,7 +89,13 @@ lombok - + + + com.muyu + enterpise-remote + ${muyu.version} + + com.muyu enterpise-common @@ -97,7 +103,7 @@ com.muyu - enterprise-cache + enterpise-cache ${muyu.version} diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java new file mode 100644 index 0000000..308208f --- /dev/null +++ b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java @@ -0,0 +1,79 @@ +package com.muyu.parse.configure; + +import com.muyu.parse.process.ProcessData; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.eclipse.paho.client.mqttv3.*; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/26 15:31 + * @注释 + */ + + +@Component +@Slf4j +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MqttConsumerConfig { + + String topic = "xxx"; + String content = "Message from MqttPublishSample"; + int qos = 2; + String broker = "tcp://123.57.152.124:1883"; + String clientId = "xyr123456789"; + + @PostConstruct + public void connect() { + try { + MqttClient sampleClient = new MqttClient(broker, clientId, new MemoryPersistence()); + MqttConnectOptions connOpts = new MqttConnectOptions(); + //是否清空session + connOpts.setCleanSession(false); + System.out.println("Connecting to broker: " + broker); + //连接 + sampleClient.connect(connOpts); + sampleClient.subscribe(topic, qos); + sampleClient.setCallback(new MqttCallback() { + //连接丢失(报错) + @Override + public void connectionLost(Throwable throwable) { + log.error("error:{}", throwable.getMessage(), throwable); + } + + //消息已经接收到 + @Override + public void messageArrived(String s, MqttMessage mqttMessage) throws Exception { + String s1 = new String(mqttMessage.getPayload()); + System.out.println("接收到的主题是:" + s + "内容是:{}" + s1); + ProcessData.DataConversion(s1); + + } + + //交付完成 + @Override + public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { + + } + }); + } catch (MqttException me) { + System.out.println("reason " + me.getReasonCode()); + System.out.println("msg " + me.getMessage()); + System.out.println("loc " + me.getLocalizedMessage()); + System.out.println("cause " + me.getCause()); + System.out.println("excep " + me); + me.printStackTrace(); + } + + + } +} diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java new file mode 100644 index 0000000..609bd17 --- /dev/null +++ b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java @@ -0,0 +1,93 @@ +package com.muyu.parse.process; + +import cn.hutool.json.JSONObject; +import com.muyu.common.kafka.config.KafkaProducerConfig; +import com.muyu.domain.MessageValue; +import com.muyu.domain.SysCar; +import com.muyu.domain.SysCarType; +import com.muyu.enterpise.cache.MessageValueCacheService; +import com.muyu.enterpise.cache.SysCarCacheService; +import com.muyu.enterpise.cache.SysCarTypeCacheService; +import com.muyu.parse.uitl.DataParseUtil; +import com.muyu.remote.RemoteMessageValueService; +import lombok.extern.log4j.Log4j2; +import org.apache.kafka.clients.producer.Callback; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; + +import javax.annotation.Resource; +import java.util.List; + + +/** + * @version 1.0 + * @Author xie ya ru + * @Date 2024/9/28 21:14 + * @注释 + */ +@Log4j2 +public class ProcessData { + + @Resource + private static RemoteMessageValueService remoteMessageValueService; + + //报文模版信息 + @Resource + private static MessageValueCacheService messageValueCacheService; + + //车辆信息 + @Resource + private static SysCarCacheService sysCarCacheService; + + //车辆类型信息 + @Resource + private static SysCarTypeCacheService sysCarTypeCacheService; + + @Resource + private static KafkaProducerConfig kafkaProducerConfig; + + private final static String topic = "sysCar_vin_topic"; + + public static void DataConversion(String jsonVin ) { + //设置数组存储车辆数据 + JSONObject jsonObject = new JSONObject(); + String vin = DataParseUtil.dataParsing(jsonVin); + System.out.println("车辆转换的vin是:"+vin); + + //判断vin是否存在缓存中 + if(sysCarCacheService.hashKey(vin)){ + //从Redis中获取车辆信息 + SysCar sysCar = sysCarCacheService.get(vin); + //根据缓存车辆类型获取缓存报文 + SysCarType sysCarType = sysCarTypeCacheService.get(String.valueOf(sysCar.getCarType())); + + //获取报文模版信息 + List messageValues = messageValueCacheService.get(String.valueOf(sysCarType.getMessageTemplateId())); + for (MessageValue messageValue : messageValues) { + //起始位下标 + Integer startIndex = messageValue.getMessageStartIndex() - 1; + //结束位下标 + Integer endIndex = messageValue.getMessageEndIndex(); + //根据报文模版截取数据 + String value = vin.substring(startIndex, endIndex); + //存入数据 + System.out.println("标签"+messageValue.getMessageLabel()+"值"+value); + jsonObject.put(messageValue.getMessageLabel(), value); + } + sendKafkaMessage(jsonObject); + } + + } + + + + private static void sendKafkaMessage(JSONObject jsonObject){ + ProducerRecord producerRecord = new ProducerRecord<>(topic, jsonObject); + try { + kafkaProducerConfig.kafkaProducer().send(new ProducerRecord<>(topic,jsonObject.toString())); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + +} diff --git a/pom.xml b/pom.xml index 7a8d8df..5a8760a 100644 --- a/pom.xml +++ b/pom.xml @@ -334,7 +334,7 @@ com.muyu - enterpise-cache + enterprise-cache ${muyu.version}