From f0f6cf006fe9ba90bf6eab7405db70580a20e875 Mon Sep 17 00:00:00 2001
From: LQS <2506203757@qq.com>
Date: Wed, 9 Oct 2024 16:19:28 +0800
Subject: [PATCH] =?UTF-8?q?feat():=E4=BF=AE=E6=94=B9=E7=BC=93=E5=AD=98?=
=?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=B1=BB=E7=BB=93=E6=9E=84=EF=BC=8C=20?=
=?UTF-8?q?=E6=89=8B=E5=8A=A8=E6=B5=8B=E8=AF=95=E6=B7=BB=E5=8A=A0redis?=
=?UTF-8?q?=E7=BC=93=E5=AD=98=E6=95=B0=E6=8D=AE=EF=BC=88=20CarMessageValue?=
=?UTF-8?q?CacheService=E6=8A=A5=E6=96=87=E6=95=B0=E6=8D=AE=3D=E3=80=8Bkey?=
=?UTF-8?q?(=E6=8A=A5=E6=96=87=E6=A8=A1=E7=89=88id=EF=BC=88templateId?=
=?UTF-8?q?=EF=BC=89)=EF=BC=8Cvalue(=E6=9F=A5=E8=AF=A2=E5=88=B0=E7=9A=84?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E5=90=88List);=20CarVehicleCacheSer?=
=?UTF-8?q?vice=E8=BD=A6=E8=BE=86=E4=BF=A1=E6=81=AF=3D=E3=80=8Bkey(Vehicle?=
=?UTF-8?q?Vin=E8=BD=A6=E8=BE=86VIN=E7=A0=81)=EF=BC=8Cvalue(Vehicle?=
=?UTF-8?q?=E8=BD=A6=E8=BE=86=E5=AE=9E=E4=BD=93=E7=B1=BB=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?);=20CarVehicleTypeCacheService=E8=BD=A6=E8=BE=86=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=3D=E3=80=8Bkey(VehicleTypeId=E8=BD=A6=E8=BE=86?=
=?UTF-8?q?=E7=B1=BB=E5=9E=8BID)=EF=BC=8Cvalue(=E6=9F=A5=E8=AF=A2=E5=88=B0?=
=?UTF-8?q?=E7=9A=84=E9=9B=86=E5=90=88List)=20=EF=BC=89=E3=80=82=20?=
=?UTF-8?q?=E4=B9=8B=E5=90=8E=E8=BF=9E=E6=8E=A5MQTT=E6=8E=A5=E6=94=B6?=
=?UTF-8?q?=E5=88=B0=E8=BD=A6=E8=BE=86=E6=A8=A1=E6=8B=9F=E4=BC=A0=E8=BF=87?=
=?UTF-8?q?=E6=9D=A5=E7=9A=84=E6=95=B0=E6=8D=AE--=E3=80=8B=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2redis--=E3=80=8B=E8=A7=A3=E6=9E=90=E6=95=B0=E6=8D=AE--?=
=?UTF-8?q?=E3=80=8B=E4=BC=A0=E9=80=92kafka?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
JavaSample-tcp1061513671883/.lck | 0
cloud-common/cloud-common-cache/pom.xml | 2 +-
.../common/cache/config/CacheAbsBasic.java | 35 ++-
.../muyu/common/cache/config/CacheBasic.java | 3 +-
.../common/cache/config/PrimaryKeyBasic.java | 22 +-
.../cloud-modules-enterprise-cache/pom.xml | 7 +-
.../cache/CarManageCacheService.java | 28 ---
.../cache/CarMessageCacheService.java | 30 ---
.../cache/CarMessageValueCacheService.java | 43 ++++
.../cache/CarTemplateCacheService.java | 29 ---
.../cache/CarVehicleCacheService.java | 32 +++
.../cache/CarVehicleTypeCacheService.java | 37 ++++
...ot.autoconfigure.AutoConfiguration.imports | 6 +-
.../remote/RemoteMessageValueService.java | 1 +
...ot.autoconfigure.AutoConfiguration.imports | 2 +-
.../controller/CarManageController.java | 28 ++-
.../controller/CarMessageController.java | 9 +-
.../car/MessageValueController.java | 14 +-
.../controller/car/VehicleController.java | 9 +-
.../controller/car/VehicleTypeController.java | 13 +-
.../enterprise/mapper/CarManageMapper.java | 9 +-
.../enterprise/service/CarManageService.java | 8 +
.../service/impl/CarManageServiceImpl.java | 24 ++-
.../carImpl/MessageTemplateServiceImpl.java | 3 +-
.../impl/carImpl/MessageValueServiceImpl.java | 4 +
.../impl/carImpl/VehicleServiceImpl.java | 3 +-
.../impl/carImpl/VehicleTypeServiceImpl.java | 3 +-
.../resources/mapper/car/CarManageMapper.xml | 1 +
.../process/consumer/GoOnlineConsumer.java | 4 +-
.../cloud-modules-protocol-analysis/pom.xml | 17 +-
.../analysis/ProtocolAnalysisApplication.java | 1 +
.../analysis/parsing/MQTT/AnalysisMQTT.java | 200 ++++++++++++++++++
.../analysis/parsing/MQTT/ParsingMQTT.java | 52 +++--
.../com/muyu/analysis/parsing/MQTT/Test2.java | 86 --------
34 files changed, 514 insertions(+), 251 deletions(-)
create mode 100644 JavaSample-tcp1061513671883/.lck
delete mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java
delete mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageValueCacheService.java
delete mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarTemplateCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleTypeCacheService.java
create mode 100644 cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/AnalysisMQTT.java
delete mode 100644 cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/Test2.java
diff --git a/JavaSample-tcp1061513671883/.lck b/JavaSample-tcp1061513671883/.lck
new file mode 100644
index 0000000..e69de29
diff --git a/cloud-common/cloud-common-cache/pom.xml b/cloud-common/cloud-common-cache/pom.xml
index 7166c7a..3682a5f 100644
--- a/cloud-common/cloud-common-cache/pom.xml
+++ b/cloud-common/cloud-common-cache/pom.xml
@@ -12,7 +12,7 @@
cloud-common-cache
- cloud-common-cache redis缓存架构
+ cloud-common-cache 缓存基准模块
diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java
index 165845e..be3ea6b 100644
--- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java
+++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java
@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.util.concurrent.TimeUnit;
public abstract class CacheAbsBasic implements CacheBasic {
@@ -21,16 +22,44 @@ public abstract class CacheAbsBasic implements CacheBasic {
@Override
public void put(K key, V value) {
- redisService.setCacheObject(encode(key),value);
+
+ try {
+ redisService.setCacheObject(encode(key), value,30L, TimeUnit.MINUTES);
+ } catch (Exception e) {
+ throw new RuntimeException("运行时异常,异常信息为:{}"+e.getMessage());
+ }
}
@Override
public V get(K key) {
- return redisService.getCacheObject(encode(key));
+
+ try {
+ return redisService.getCacheObject(encode(key));
+ } catch (Exception e) {
+ throw new RuntimeException("运行时异常,异常信息为:{}"+e.getMessage());
+ }
}
@Override
public void remove(K key) {
- redisService.deleteObject(encode(key));
+
+ try {
+ redisService.deleteObject(encode(key));
+ } catch (Exception e) {
+ throw new RuntimeException("运行时异常,异常信息为:{}"+e.getMessage());
+ }
}
+
+ @Override
+ public boolean hashKey(K key){
+ Boolean b = false;
+
+ try {
+ b = redisService.hasKey(encode(key));
+ } catch (Exception e) {
+ throw new RuntimeException("运行时异常,异常信息为:{}"+e.getMessage());
+ }
+ return b;
+ }
+
}
diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java
index 7ce9015..0b2dac0 100644
--- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java
+++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java
@@ -12,11 +12,12 @@ import java.awt.image.Kernel;
public interface CacheBasic extends PrimaryKeyBasic{
- void put(K key,V value);
+ void put(K key, V value);
V get(K key);
void remove(K key);
+ boolean hashKey(K key);
}
diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/PrimaryKeyBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/PrimaryKeyBasic.java
index 88e822f..2e0cad9 100644
--- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/PrimaryKeyBasic.java
+++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/PrimaryKeyBasic.java
@@ -9,26 +9,28 @@ package com.muyu.common.cache.config;
*/
public interface PrimaryKeyBasic {
/**
- * key 前缀
+ * 主键前缀
+ * @return
*/
public String keyPre();
/**
- * 编码
- * @param key 缓存键
- * @return 装修键
+ * 主键编码
+ * @param key 缓存建
+ * @return 装修建
*/
- public default String encode(K key){
+ public default String encode(K key){
return keyPre() + key.toString();
}
/**
- * 解码 Key
- * @param key 解码后的key
- * @return
+ * 主键解码
+ * @param key 缓存建
+ * @return 装修建
*/
- public K decode(String key);
-
+ public default K decode(String key) {
+ return (K) key.substring(keyPre().length());
+ }
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/pom.xml
index 4139ff8..07275bf 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/pom.xml
@@ -18,17 +18,16 @@
- cloud-modules-enterprise-cache redis 缓存平台
+ cloud-modules-enterprise-cache redis 缓存基准服务
-
+
com.muyu
cloud-common-cache
-
-
+
com.muyu
cloud-modules-enterprise-common
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java
deleted file mode 100644
index 38dcf9c..0000000
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.muyu.enterprise.cache;
-
-import com.muyu.common.cache.config.CacheAbsBasic;
-import com.muyu.enterprise.domain.CarManage;
-
-/**
- * redis报文业务层
- * @ClassName CarManageCacheService
- * @Description CarManageCacheService:类的描述
- * @Date 2024/10/3 15:22
- * @author MingWei.Zong
- */
-
-public class CarManageCacheService extends CacheAbsBasic {
- @Override
- public String keyPre() {
- return "carManage:info:";
- }
-
-
-
- @Override
- public String decode(String key) {
- return key.replace("carManage:info:","");
- }
-
-
-}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java
deleted file mode 100644
index 8610fc8..0000000
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.muyu.enterprise.cache;
-
-import com.muyu.common.cache.config.CacheAbsBasic;
-import com.muyu.enterprise.domain.CarMessage;
-
-/**
- * redis车辆管理业务层
- * @ClassName CarMessageCacheService
- * @Description CarMessageCacheService:类的描述
- * @Date 2024/9/30 11:42
- * @author MingWei.Zong
- */
-public class CarMessageCacheService extends CacheAbsBasic {
- @Override
- public String keyPre() {
- return "carMessage:info:";
- }
-
-// @Override
-// public String encode(String key) {
-// return super.encode(key);
-// }
-
- @Override
- public String decode(String key) {
- return key.replace("carMessage:info:","");
- }
-
-
-}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageValueCacheService.java
new file mode 100644
index 0000000..89f1f24
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageValueCacheService.java
@@ -0,0 +1,43 @@
+package com.muyu.enterprise.cache;
+
+import com.muyu.common.cache.config.CacheAbsBasic;
+import com.muyu.enterprise.domain.CarCompany;
+import com.muyu.enterprise.domain.CarTemplate;
+import com.muyu.enterprise.domain.car.MessageValue;
+import com.muyu.enterprise.domain.resp.car.MessageValueListResp;
+
+import java.util.List;
+
+/**
+ * 报文类型缓存---实现类
+ *
+ *
+ * @ClassName CarTemplateCacheService
+ * @Description CarTemplateCacheService:类的描述
+ * @Date 2024/10/3 15:22
+ * @author MingWei.Zong
+ */
+
+public class CarMessageValueCacheService extends CacheAbsBasic> {
+ /**
+ * 前缀
+ * @return
+ */
+ @Override
+ public String keyPre()
+ {
+ return "messageValue:info";
+ }
+
+ @Override
+ public String encode(String key)
+ {
+ return super.encode(key);
+ }
+ @Override
+ public String decode(String key)
+ {
+ return key.replace("messageValue:info:","");
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarTemplateCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarTemplateCacheService.java
deleted file mode 100644
index 0008c7c..0000000
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarTemplateCacheService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.muyu.enterprise.cache;
-
-import com.muyu.common.cache.config.CacheAbsBasic;
-import com.muyu.enterprise.domain.CarCompany;
-import com.muyu.enterprise.domain.CarTemplate;
-
-/**
- * redis报文模版业务层
- * @ClassName CarTemplateCacheService
- * @Description CarTemplateCacheService:类的描述
- * @Date 2024/10/3 15:22
- * @author MingWei.Zong
- */
-
-public class CarTemplateCacheService extends CacheAbsBasic {
- @Override
- public String keyPre() {
- return "carTemplate:info:";
- }
-
-
-
- @Override
- public String decode(String key) {
- return key.replace("carTemplate:info:","");
- }
-
-
-}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleCacheService.java
new file mode 100644
index 0000000..1fc2aaf
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleCacheService.java
@@ -0,0 +1,32 @@
+package com.muyu.enterprise.cache;
+
+import com.muyu.common.cache.config.CacheAbsBasic;
+import com.muyu.enterprise.domain.car.Vehicle;
+
+/**
+ * 车辆管理---实现类
+ *
+ *
+ * @ClassName CarMessageCacheService
+ * @Description CarMessageCacheService:类的描述
+ * @Date 2024/9/30 11:42
+ * @author MingWei.Zong
+ */
+public class CarVehicleCacheService 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/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleTypeCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleTypeCacheService.java
new file mode 100644
index 0000000..c94b505
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarVehicleTypeCacheService.java
@@ -0,0 +1,37 @@
+package com.muyu.enterprise.cache;
+
+import com.muyu.common.cache.config.CacheAbsBasic;
+import com.muyu.enterprise.domain.CarManage;
+import com.muyu.enterprise.domain.car.VehicleType;
+
+/**
+ * 车辆类型的缓存---实现类
+ *
+ *
+ * @ClassName CarManageCacheService
+ * @Description CarManageCacheService:类的描述
+ * @Date 2024/10/3 15:22
+ * @author MingWei.Zong
+ */
+
+public class CarVehicleTypeCacheService 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/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 7c16588..2f099e6 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,7 +1,7 @@
com.muyu.enterprise.cache.CarCompanyCacheService
com.muyu.enterprise.cache.CarFaultCacheService
-com.muyu.enterprise.cache.CarManageCacheService
-com.muyu.enterprise.cache.CarMessageCacheService
-com.muyu.enterprise.cache.CarTemplateCacheService
+com.muyu.enterprise.cache.CarVehicleTypeCacheService
+com.muyu.enterprise.cache.CarVehicleCacheService
+com.muyu.enterprise.cache.CarMessageValueCacheService
com.muyu.enterprise.cache.CarWarnCacheService
com.muyu.enterprise.cache.ElectronicFenceCacheService
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java
index fcef0f4..cf50df0 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java
@@ -12,6 +12,7 @@ import java.util.List;
/**
* 报文数据服务
+ *
* @Author:李庆帅
* @Package:com.muyu.analysis.parsing.feign
* @Project:cloud-server
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 497f58a..4a9fba4 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1,2 @@
-com.muyu.enterprise.remote.factory.RemoteVehicleServiceFactory
com.muyu.enterprise.remote.factory.RemoteMessageValueServiceFactory
+com.muyu.enterprise.remote.factory.RemoteVehicleServiceFactory
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java
index 6921566..023427e 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java
@@ -3,8 +3,10 @@ package com.muyu.enterprise.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.RandomUtil;
import com.muyu.common.core.utils.StringUtils;
-import com.muyu.enterprise.cache.CarManageCacheService;
+import com.muyu.common.core.utils.poi.ExcelUtil;
+import com.muyu.enterprise.cache.CarVehicleTypeCacheService;
import com.muyu.enterprise.domain.CarManage;
+import com.muyu.enterprise.domain.car.Vehicle;
import com.muyu.enterprise.domain.dto.CarDTO;
import com.muyu.enterprise.domain.vo.CarVO;
import com.muyu.enterprise.service.CarCompanyService;
@@ -15,6 +17,7 @@ import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.utils.SecurityUtils;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -35,7 +38,7 @@ import java.util.List;
@Tag(name = "CarManageController", description = "车辆管理")
public class CarManageController extends BaseController {
- private final CarManageCacheService carManageCacheService;
+ private final CarVehicleTypeCacheService carManageCacheService;
private final CarCompanyService sysCarCompanyService;
@@ -116,6 +119,27 @@ public class CarManageController extends BaseController {
sysCarService.removeBatchByIds(ids);
return Result.success("车辆删除成功");
}
+ /**
+ * 导出所有车辆数据
+ * @param response 请求对象
+ */
+ @PostMapping("/export")
+ public void export(HttpServletResponse response) {
+ List list = sysCarService.list();
+ ExcelUtil util = new ExcelUtil<>(CarManage.class);
+ util.exportExcel(response, list, "车辆数据");
+ }
+ /**
+ * 通过车辆vin码查询模板id
+ * @param carManageVin 请求对象
+ * @return 返回结果
+ */
+ @GetMapping("/findByCarManageVin/{carManageVin}")
+ @Operation(description = "通过车辆vin码查询模板id")
+ public Result findByCarManageVin(@PathVariable("vehicleVin") String carManageVin) {
+ Long byCarManageVin = sysCarService.findByCarManageVin(carManageVin);
+ return Result.success(byCarManageVin);
+ }
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java
index f75f471..494ae99 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java
@@ -3,9 +3,10 @@ package com.muyu.enterprise.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
-import com.muyu.enterprise.cache.CarManageCacheService;
-import com.muyu.enterprise.cache.CarMessageCacheService;
+import com.muyu.enterprise.cache.CarVehicleTypeCacheService;
+import com.muyu.enterprise.cache.CarVehicleCacheService;
import com.muyu.enterprise.domain.CarMessage;
+import com.muyu.enterprise.domain.car.Vehicle;
import com.muyu.enterprise.service.CarMessageService;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
@@ -28,7 +29,7 @@ import java.util.List;
@Tag(name = "报文",description = "报文模块")
public class CarMessageController extends BaseController {
- private final CarMessageCacheService carMessageCacheService;
+ private final CarVehicleCacheService carMessageCacheService;
private final CarMessageService sysCarMessageService;
@Autowired
private CarMessageService carMessageService;
@@ -70,7 +71,7 @@ public class CarMessageController extends BaseController {
public Result insertMessage(@RequestBody CarMessage carMessage){
sysCarMessageService.save(carMessage);
//报文 redis
- carMessageCacheService.put(carMessage.getMessageType(),new CarMessage());
+ carMessageCacheService.put(carMessage.getMessageType(),new Vehicle());
return Result.success("添加成功");
}
/**
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/MessageValueController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/MessageValueController.java
index e739722..8c83d17 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/MessageValueController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/MessageValueController.java
@@ -4,6 +4,7 @@ package com.muyu.enterprise.controller.car;
import cn.hutool.json.JSONObject;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.enterprise.cache.CarMessageValueCacheService;
import com.muyu.enterprise.domain.car.MessageValue;
import com.muyu.enterprise.domain.req.car.MessageValueAddReq;
import com.muyu.enterprise.domain.req.car.MessageValueReq;
@@ -37,18 +38,22 @@ public class MessageValueController extends BaseController
@Autowired
private MessageValueService messageValueService;
+ @Autowired
+ private CarMessageValueCacheService carMessageValueCacheService;
+
/**
- * 报文数据列表查询
+ * 报文数据条件查询
* @param messageValueReq 请求对象
* @return 返回结果
*/
@RequestMapping(value = "/list", method = RequestMethod.POST)
- @Operation(summary = "报文数据列表", description = "根据报文类别, 报文模版筛选报文数据")
+ @Operation(summary = "报文数据条件查询", description = "根据报文类别, 报文模版筛选报文数据")
public Result> findAll(@RequestBody MessageValueReq messageValueReq) {
List list = messageValueService.findAll(messageValueReq);
return Result.success(list);
}
+
/**
* 提供预警和故障使用
* @return 返回结果
@@ -111,6 +116,11 @@ public class MessageValueController extends BaseController
@Operation(summary = "根据报文模版id查询报文数据", description = "根据报文模版id查询报文数据")
public Result> findByTemplateId(@PathVariable("templateId") Long templateId){
List list = messageValueService.findByTemplateId(templateId);
+ //存入缓存中com.muyu.enterprise.cache.CarMessageValueCacheService
+ carMessageValueCacheService.put(
+ String.valueOf(
+ templateId
+ ), list);
return Result.success(list);
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleController.java
index cd14fc5..7469f5b 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleController.java
@@ -7,6 +7,7 @@ import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
+import com.muyu.enterprise.cache.CarVehicleCacheService;
import com.muyu.enterprise.domain.car.Vehicle;
import com.muyu.enterprise.domain.req.car.VehicleAddReq;
import com.muyu.enterprise.domain.req.car.VehicleManageReq;
@@ -41,6 +42,9 @@ public class VehicleController extends BaseController
@Autowired
private VehicleService vehicleService;
+ @Autowired
+ private CarVehicleCacheService carVehicleCacheService;
+
/**
* 查询车辆管理列表
* @param vehicleManageReq 请求对象
@@ -74,7 +78,10 @@ public class VehicleController extends BaseController
@GetMapping("/{vehicleId}")
@Operation(summary = "通过id查询车辆信息", description = "通过id查询车辆信息")
public Result findById(@PathVariable("vehicleId") Long vehicleId) {
- return Result.success(vehicleService.getById(vehicleId));
+ Vehicle byId = vehicleService.getById(vehicleId);
+ //存入缓存中com.muyu.enterprise.cache.carVehicleCacheService
+ carVehicleCacheService.put(String.valueOf(byId.getVehicleVin()), byId);
+ return Result.success(byId);
}
/**
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleTypeController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleTypeController.java
index 54cc6eb..7da445f 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleTypeController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/car/VehicleTypeController.java
@@ -3,6 +3,7 @@ package com.muyu.enterprise.controller.car;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.enterprise.cache.CarVehicleTypeCacheService;
import com.muyu.enterprise.domain.car.VehicleType;
import com.muyu.enterprise.service.car.VehicleTypeService;
import io.swagger.v3.oas.annotations.Operation;
@@ -33,14 +34,22 @@ public class VehicleTypeController extends BaseController
@Autowired
private VehicleTypeService vehicleTypeService;
+ @Autowired
+ private CarVehicleTypeCacheService carVehicleTypeCacheService;
+
/**
* 车辆类型查询
* @return 返回结果
*/
- @RequestMapping(path = "/", method = RequestMethod.POST)
+ @RequestMapping(value = "/findAll", method = RequestMethod.POST)
@Operation(summary = "车辆类型列表",description = "车辆类型列表")
public Result> findAll(){
- return Result.success(vehicleTypeService.list());
+ List list = vehicleTypeService.list();
+ for (VehicleType vehicleType : list) {
+ //存入缓存中com.muyu.enterprise.cache.CarVehicleTypeCacheService
+ carVehicleTypeCacheService.put(String.valueOf(vehicleType.getVehicleTypeId()),vehicleType);
+ }
+ return Result.success();
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java
index 5117d62..051930d 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java
@@ -9,6 +9,7 @@ import com.muyu.enterprise.domain.dto.CarDTO;
import com.muyu.enterprise.domain.vo.CarVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -21,5 +22,11 @@ import java.util.List;
*/
@Mapper
public interface CarManageMapper extends MPJBaseMapper {
-
+ /**
+ * 通过车辆vin码查询模板id
+ * @param carManageVin 请求对象
+ * @return 返回结果
+ */
+ @Select("SELECT t.template_id FROM car_manage v LEFT JOIN car_type t ON v.car_type_id = t.car_type_id WHERE v.car_vin = #{carManageVin}")
+ Long findByCarManageVin(String carManageVin);
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java
index c04c6fd..ad90333 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java
@@ -34,4 +34,12 @@ public interface CarManageService extends IService {
* @return
*/
void insertCar(CarManage carVO);
+ /**
+ * 通过车辆vin码查询模板id
+ * @param carManageVin 请求对象
+ * @return 返回结果
+ */
+ Long findByCarManageVin(String carManageVin);
+
+
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java
index 72f550c..f3c8931 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java
@@ -3,20 +3,17 @@ package com.muyu.enterprise.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.muyu.common.core.domain.Result;
-import com.muyu.common.core.utils.StringUtils;
-import com.muyu.enterprise.cache.CarManageCacheService;
-import com.muyu.enterprise.controller.CarCompanyController;
+import com.muyu.enterprise.cache.CarVehicleCacheService;
import com.muyu.enterprise.domain.CarCompany;
import com.muyu.enterprise.domain.CarConfig;
import com.muyu.enterprise.domain.CarManage;
+import com.muyu.enterprise.domain.car.Vehicle;
import com.muyu.enterprise.domain.dto.CarDTO;
import com.muyu.enterprise.domain.vo.CarVO;
import com.muyu.enterprise.mapper.CarManageMapper;
import com.muyu.enterprise.service.CarCompanyService;
import com.muyu.enterprise.service.CarConfigService;
import com.muyu.enterprise.service.CarManageService;
-import com.muyu.common.redis.service.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -40,7 +37,7 @@ public class CarManageServiceImpl extends ServiceImpl redisTemplate;
+ @Autowired
+ private CarMessageValueCacheService carMessageValueCacheService;
public MessageValueServiceImpl(MessageValueMapper messageValueMapper) {
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleServiceImpl.java
index 5ebd293..280258c 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleServiceImpl.java
@@ -16,12 +16,13 @@ import org.springframework.stereotype.Service;
import java.util.List;
/**
+ * 车辆管理业务实现层
* @Author:李庆帅
* @Package:com.muyu.car.service.impl
* @Project:cloud-server
* @name:VehicleServiceImpl
* @Date:2024/9/26 22:35
- * @Description: 车辆管理业务层
+ * @Description:
*/
@Log4j2
@Service
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleTypeServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleTypeServiceImpl.java
index 6d024cf..79fad94 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleTypeServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/carImpl/VehicleTypeServiceImpl.java
@@ -8,12 +8,13 @@ import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
+ * 车辆类型业务实现层
* @Author:李庆帅
* @Package:com.muyu.car.service.impl
* @Project:cloud-server
* @name:VehicleTypeServiceImpl
* @Date:2024/9/26 22:36
- * @Description: 车辆类型实现层
+ * @Description:
*/
@Log4j2
@Service
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml
index 2626ceb..2157943 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml
@@ -5,4 +5,5 @@
+
diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java
index ff0e571..7b823cd 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java
+++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java
@@ -1,7 +1,7 @@
package com.muyu.event.process.consumer;
import com.muyu.enterprise.cache.CarFaultCacheService;
-import com.muyu.enterprise.cache.CarManageCacheService;
+import com.muyu.enterprise.cache.CarVehicleTypeCacheService;
import com.muyu.enterprise.cache.CarWarnCacheService;
import com.muyu.enterprise.cache.ElectronicFenceCacheService;
import com.muyu.event.process.constant.CacheHandlerConstants;
@@ -35,7 +35,7 @@ public class GoOnlineConsumer {
/**
* 车辆管理缓存服务
*/
- private final CarManageCacheService carManageCacheService;
+ private final CarVehicleTypeCacheService carManageCacheService;
/**
* 车辆故障缓存服务
diff --git a/cloud-modules/cloud-modules-protocol-analysis/pom.xml b/cloud-modules/cloud-modules-protocol-analysis/pom.xml
index c294bb2..b46dbe9 100644
--- a/cloud-modules/cloud-modules-protocol-analysis/pom.xml
+++ b/cloud-modules/cloud-modules-protocol-analysis/pom.xml
@@ -22,8 +22,6 @@
-
-
com.alibaba.cloud
@@ -89,41 +87,56 @@
com.muyu
cloud-modules-enterprise-common
+
com.github.yulichang
mybatis-plus-join
+
com.muyu
cloud-common-core
+
com.muyu
cloud-common-kafka
+
com.muyu
cloud-common-mqtt
+
org.springframework.boot
spring-boot-starter-cache
+
com.github.ben-manes.caffeine
caffeine
+
com.muyu
cloud-modules-enterprise-remote
+
+
+
+ com.muyu
+ cloud-modules-enterprise-cache
+
+
+
diff --git a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/ProtocolAnalysisApplication.java b/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/ProtocolAnalysisApplication.java
index 8477033..6d08b71 100644
--- a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/ProtocolAnalysisApplication.java
+++ b/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/ProtocolAnalysisApplication.java
@@ -4,6 +4,7 @@ import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* 协议解析启动类
diff --git a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/AnalysisMQTT.java b/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/AnalysisMQTT.java
new file mode 100644
index 0000000..71cced2
--- /dev/null
+++ b/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/AnalysisMQTT.java
@@ -0,0 +1,200 @@
+//package com.muyu.analysis.parsing.mqtt;
+//
+//import com.muyu.common.mqtt.MQTTConnect;
+//import com.muyu.enterprise.cache.CarMessageValueCacheService;
+//import com.muyu.enterprise.cache.CarVehicleCacheService;
+//import com.muyu.enterprise.cache.CarVehicleTypeCacheService;
+//import com.muyu.enterprise.domain.car.MessageValue;
+//import com.muyu.enterprise.domain.car.Vehicle;
+//import com.muyu.enterprise.domain.car.VehicleType;
+//import com.muyu.enterprise.domain.resp.car.MessageValueListResp;
+//import com.muyu.enterprise.remote.RemoteMessageValueService;
+//import com.muyu.enterprise.remote.RemoteVehicleService;
+//import jakarta.annotation.PostConstruct;
+//import jakarta.annotation.Resource;
+//import cn.hutool.json.JSONObject;
+//import lombok.extern.log4j.Log4j2;
+//import org.apache.kafka.clients.producer.KafkaProducer;
+//import org.apache.kafka.clients.producer.ProducerRecord;
+//import org.eclipse.paho.client.mqttv3.*;
+//import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.List;
+//
+///**
+// * 协议解析处理数据发送传送到队列
+// * @Author:李庆帅
+// * @Package:com.muyu.analysis.parsing.mqtt
+// * @Project:cloud-server
+// * @name:AnalysisMQTT
+// * @Date:2024/10/8 20:52
+// */
+//@Log4j2
+//@Component
+//public class AnalysisMQTT {
+//
+// private final static String topic = "sysCar_vin_topic";
+//
+// @Resource
+// private RedisTemplate redisTemplate;
+//
+// @Resource
+// private KafkaProducer kafkaProducer;
+//
+// @Resource
+// private RemoteVehicleService remoteVehicleService;
+//
+// @Resource
+// private RemoteMessageValueService remoteMessageValueService;
+//
+// //车辆信息
+// @Resource
+// private CarVehicleCacheService vehicleCacheService;
+//
+// //车辆类型信息
+// @Resource
+// private CarVehicleTypeCacheService vehicleTypeCacheService;
+//
+// //报文模版信息
+// @Resource
+// private CarMessageValueCacheService allMessageValueCacheService;
+//
+//
+// // MQTT主题
+// private static final String TOPIC = "vehicle";
+// // MQTT Broker地址
+// private static final String BROKER = "tcp://106.15.136.7:1883";
+// // MQTT客户端ID
+// private static final String CLIENT_ID = "JavaSample";
+// // MQTT客户端
+// private MqttClient mqttClient;
+//
+// /**
+// * MQTT连接选项
+// */
+// public AnalysisMQTT(CarVehicleCacheService vehicleCacheService, CarVehicleTypeCacheService vehicleTypeCacheService, CarMessageValueCacheService allMessageValueCacheService) {
+// this.vehicleCacheService = vehicleCacheService;
+// this.vehicleTypeCacheService = vehicleTypeCacheService;
+// this.allMessageValueCacheService = allMessageValueCacheService;
+// }
+//
+// /**
+// * 初始化MQTT连接
+// */
+// @PostConstruct
+// public void init() {
+// connectToMqttBroker();
+// }
+//
+// /**
+// * 连接MQTT Broker
+// */
+// private void connectToMqttBroker() {
+// try {
+// mqttClient = new MqttClient(BROKER, CLIENT_ID, new MemoryPersistence());
+// MqttConnectOptions connOpts = new MqttConnectOptions();
+// connOpts.setCleanSession(true);
+// log.info("连接到协议: " + BROKER);
+// mqttClient.connect(connOpts);
+// mqttClient.subscribe(TOPIC, 0);
+// mqttClient.setCallback(new MqttCallbackHandler());
+// } catch (MqttException me) {
+// log.error("连接MQTT Broker失败: [{}]", me.getMessage());
+// }
+// }
+//
+// /**
+// * MQTT回调处理器
+// */
+// private class MqttCallbackHandler implements MqttCallback {
+//
+// // 连接丢失
+// @Override
+// public void connectionLost(Throwable throwable) {
+// log.error("连接丢失: [{}]", throwable.getMessage());
+// }
+//
+// // 连接成功
+// @Override
+// public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
+// handleMqttMessage(mqttMessage);
+// }
+//
+//
+// // 接收信息
+// @Override
+// public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
+//
+// }
+// }
+//
+// /**
+// * 处理MQTT消息
+// *
+// * @param mqttMessage
+// */
+// private void handleMqttMessage(MqttMessage mqttMessage) {
+// // 解析MQTT消息
+// String messageStr = new String(mqttMessage.getPayload());
+// log.info("接收到MQTT消息: " + messageStr);
+// // 解析协议
+// JSONObject parseMessage = parseProtocol(messageStr);
+// // 发送Kafka消息
+// sendKafkaMessage(parseMessage);
+// }
+//
+// /**
+// * 解析协议
+// *
+// * @param messageStr
+// * @return
+// */
+// private JSONObject parseProtocol(String messageStr) {
+// String[] hexArray = messageStr.split(" ");
+// // 遍历十六进制数据转换为字符
+// StringBuilder stringBuilder = new StringBuilder();
+// for (String hex : hexArray) {
+// int decimal = Integer.parseInt(hex, 16);
+// stringBuilder.append((char) decimal);
+// }
+// // 取出车辆VIN码
+// String vehicleVin = stringBuilder.substring(1, 18);
+// log.info("车辆VIN码: {}", vehicleVin);
+// // 根据车辆VIN码查询车辆信息
+// Vehicle vehicle = vehicleCacheService.get(vehicleVin);
+// VehicleType vehicleType = vehicleTypeCacheService.get(String.valueOf(vehicle.getVehicleTypeId()));
+// Long templateId = vehicleType.getMessageTemplateId();
+// List templateList = allMessageValueCacheService.get(String.valueOf(templateId));
+// // 判断报文模板列表不为空
+// if (templateList.isEmpty()) {
+// throw new RuntimeException("报文模版为空");
+// }
+// // 存储报文模版解析后的数据
+// JSONObject jsonObject = new JSONObject();
+// for (MessageValueListResp messageValue : templateList) {
+// // 起始位下标
+// Integer startIndex = messageValue.getMessageStartIndex() - 1;
+// // 结束位下标
+// Integer endIndex = messageValue.getMessageEndIndex();
+// // 根据报文模版截取数据
+// String value = stringBuilder.substring(startIndex, endIndex);
+// // 存入数据
+// jsonObject.put(messageValue.getMessageLabel(), value);
+// }
+// return jsonObject;
+// }
+//
+// /**
+// * 发送Kafka消息
+// * @param parseMessage
+// */
+// private void sendKafkaMessage(JSONObject parseMessage) {
+// ProducerRecord producerRecord = new ProducerRecord<>("zeshi", parseMessage.toString());
+// kafkaProducer.send(producerRecord);
+// log.info("发送Kafka消息: " + parseMessage);
+// }
+//
+//
+//}
diff --git a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/ParsingMQTT.java b/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/ParsingMQTT.java
index 80d1806..770eba1 100644
--- a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/ParsingMQTT.java
+++ b/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/MQTT/ParsingMQTT.java
@@ -4,6 +4,11 @@ import com.muyu.common.core.constant.KafkaConstants;
import com.muyu.common.core.constant.RedisConstants;
import com.muyu.common.core.domain.Result;
import com.muyu.common.mqtt.MQTTConnect;
+import com.muyu.enterprise.cache.CarMessageValueCacheService;
+import com.muyu.enterprise.cache.CarVehicleCacheService;
+import com.muyu.enterprise.cache.CarVehicleTypeCacheService;
+import com.muyu.enterprise.domain.car.Vehicle;
+import com.muyu.enterprise.domain.car.VehicleType;
import com.muyu.enterprise.domain.resp.car.MessageValueListResp;
import com.muyu.enterprise.remote.RemoteMessageValueService;
import com.muyu.enterprise.remote.RemoteVehicleService;
@@ -32,6 +37,9 @@ import java.util.List;
@Component
public class ParsingMQTT {
+ private final static String topic = "sysCar_vin_topic";
+
+
@Resource
private RedisTemplate redisTemplate;
@@ -44,6 +52,18 @@ public class ParsingMQTT {
@Resource
private RemoteMessageValueService remoteMessageValueService;
+ //车辆信息
+ @Resource
+ private CarVehicleCacheService vehicleCacheService;
+
+ //车辆类型信息
+ @Resource
+ private CarVehicleTypeCacheService vehicleTypeCacheService;
+
+ //报文模版信息
+ @Resource
+ private CarMessageValueCacheService allMessageValueCacheService;
+
/**
* 协议解析
*/
@@ -99,33 +119,11 @@ public class ParsingMQTT {
String vehicleVin = result.substring(1, 18);
log.info("车辆VIN码: " + vehicleVin);
//根据车辆VIN码查询报文模板ID
- Result byVehicleVin = remoteVehicleService.findByVehicleVin(vehicleVin);
- Long templateId = byVehicleVin.getData();
- List templateList;
- //从redis缓存中获取报文模板数据
- try {
- String redisKey = RedisConstants.MESSAGE_TEMPLATE + templateId;
- if (redisTemplate.hasKey(redisKey)) {
- List