From b491045ebf2d4437de51c08f9baf3b0e43549254 Mon Sep 17 00:00:00 2001 From: LQS <2506203757@qq.com> Date: Mon, 7 Oct 2024 21:58:01 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E8=B0=83=E7=94=A8=E6=A8=A1=E5=9D=97=EF=BC=8C?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E8=BF=9C=E7=A8=8B=E8=B0=83=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud-modules-enterprise-remote/pom.xml | 31 +++++++++++++++++ .../remote/RemoteMessageValueService.java} | 28 ++++++--------- .../remote/RemoteVehicleService.java | 33 ++++++++++++++++++ .../RemoteMessageValueServiceFactory.java} | 22 +++++------- .../factory/RemoteVehicleServiceFactory.java | 34 +++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 2 ++ .../cloud-modules-enterprise/pom.xml | 1 + .../cloud-modules-protocol-analysis/pom.xml | 15 ++++---- .../analysis/parsing/MQTT/ParsingMQTT.java | 18 ++++++---- ...ot.autoconfigure.AutoConfiguration.imports | 1 - pom.xml | 27 ++++++++------- 11 files changed, 151 insertions(+), 61 deletions(-) create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/pom.xml rename cloud-modules/{cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/RemoteClientService.java => cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java} (50%) create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteVehicleService.java rename cloud-modules/{cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/factory/RemoteClientServiceFactory.java => cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteMessageValueServiceFactory.java} (60%) create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteVehicleServiceFactory.java create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 cloud-modules/cloud-modules-protocol-analysis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/pom.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/pom.xml new file mode 100644 index 0000000..fe3d055 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + com.muyu + cloud-modules-enterprise + 3.6.3 + + + cloud-modules-enterprise-remote + + + 17 + 17 + UTF-8 + + + + cloud-modules-enterprise-remote 企业远程调用模块 + + + + + + com.muyu + cloud-modules-enterprise-common + + + diff --git a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/RemoteClientService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java similarity index 50% rename from cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/RemoteClientService.java rename to cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java index bfaebb8..fcef0f4 100644 --- a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/RemoteClientService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteMessageValueService.java @@ -1,10 +1,9 @@ -package com.muyu.analysis.parsing.remote; +package com.muyu.enterprise.remote; -import com.muyu.analysis.parsing.remote.factory.RemoteClientServiceFactory; +import com.muyu.enterprise.remote.factory.RemoteMessageValueServiceFactory; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.enterprise.domain.resp.car.MessageValueListResp; -import io.swagger.v3.oas.annotations.Operation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -12,34 +11,27 @@ import org.springframework.web.bind.annotation.PathVariable; import java.util.List; /** - * 报文模版远程调用接口 + * 报文数据服务 * @Author:李庆帅 * @Package:com.muyu.analysis.parsing.feign * @Project:cloud-server * @name:RemoteServiceClient * @Date:2024/9/28 20:38 - * ,,value = ServiceNameConstants.ENTERPRISE_SERVICE - * ,fallbackFactory= RemoteClientServiceFactory.class */ -@FeignClient(name = "cloud-enterprise",value = ServiceNameConstants.ENTERPRISE_SERVICE - ,fallbackFactory= RemoteClientServiceFactory.class +@FeignClient( + path = "/messageValue", + contextId = "remoteMessageValueService", + value = ServiceNameConstants.ENTERPRISE_SERVICE, + fallbackFactory= RemoteMessageValueServiceFactory.class ) -public interface RemoteClientService { - /** - * 根据报文模版id查询报文数据 - * @param vehicleVin 请求对象 - * @return 返回结果 - */ - @GetMapping("/vehicleManage/findByVehicleVin/{vehicleVin}") -// @Operation(description = "通过车辆vin码查询模板id") - public Result findByVehicleVin(@PathVariable("vehicleVin") String vehicleVin); +public interface RemoteMessageValueService { /** * 根据报文模版id查询报文数据 * @param templateId 请求对象 * @return 返回结果 */ - @GetMapping("/messageValue/findByTemplateId/{templateId}") + @GetMapping("/findByTemplateId/{templateId}") // @Operation(summary = "根据报文模版id查询报文数据", description = "根据报文模版id查询报文数据") public Result> findByTemplateId(@PathVariable("templateId") Long templateId); diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteVehicleService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteVehicleService.java new file mode 100644 index 0000000..d846f1b --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/RemoteVehicleService.java @@ -0,0 +1,33 @@ +package com.muyu.enterprise.remote; + +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.enterprise.remote.factory.RemoteVehicleServiceFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +/** + * 车辆管理服务 + * @Author:李庆帅 + * @Package:com.muyu.enterprise.remote + * @Project:cloud-server + * @name:RemoteVehicleService + * @Date:2024/10/7 20:53 + */ +@FeignClient( + path = "/vehicleManage", + contextId = "remoteVehicleService", + value = ServiceNameConstants.ENTERPRISE_SERVICE, + fallbackFactory= RemoteVehicleServiceFactory.class +) +public interface RemoteVehicleService { + + /** + * 通过车辆vin码查询模板id + * @param vehicleVin 请求对象 + * @return 返回结果 + */ + @GetMapping("/findByVehicleVin/{vehicleVin}") + public Result findByVehicleVin(@PathVariable("vehicleVin") String vehicleVin); +} diff --git a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/factory/RemoteClientServiceFactory.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteMessageValueServiceFactory.java similarity index 60% rename from cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/factory/RemoteClientServiceFactory.java rename to cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteMessageValueServiceFactory.java index e9d5106..ab6df6a 100644 --- a/cloud-modules/cloud-modules-protocol-analysis/src/main/java/com/muyu/analysis/parsing/remote/factory/RemoteClientServiceFactory.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteMessageValueServiceFactory.java @@ -1,6 +1,6 @@ -package com.muyu.analysis.parsing.remote.factory; +package com.muyu.enterprise.remote.factory; -import com.muyu.analysis.parsing.remote.RemoteClientService; +import com.muyu.enterprise.remote.RemoteMessageValueService; import com.muyu.common.core.domain.Result; import com.muyu.enterprise.domain.resp.car.MessageValueListResp; import org.slf4j.Logger; @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; import java.util.List; /** - * 报文模版对象服务降级处理 + * 报文数据服务降级处理 * @Author:李庆帅 * @Package:com.muyu.analysis.parsing.remote.factory * @Project:cloud-server @@ -19,21 +19,15 @@ import java.util.List; * @Date:2024/9/28 21:16 */ @Component -public class RemoteClientServiceFactory - implements FallbackFactory +public class RemoteMessageValueServiceFactory + implements FallbackFactory { - private static final Logger log = LoggerFactory.getLogger(RemoteClientServiceFactory.class); + private static final Logger log = LoggerFactory.getLogger(RemoteMessageValueServiceFactory.class); @Override - public RemoteClientService create(Throwable throwable) { + public RemoteMessageValueService create(Throwable throwable) { log.error("报文模版传参调用失败:{}", throwable.getMessage()); - return new RemoteClientService(){ - - @Override - public Result findByVehicleVin(String vehicleVin) { - return Result.error("报文模版传参调用失败" + throwable.getMessage()); - } - + return new RemoteMessageValueService(){ @Override public Result> findByTemplateId(Long templateId) { return Result.error("报文模版传参调用失败" + throwable.getMessage()); diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteVehicleServiceFactory.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteVehicleServiceFactory.java new file mode 100644 index 0000000..cef0187 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/java/com/muyu/enterprise/remote/factory/RemoteVehicleServiceFactory.java @@ -0,0 +1,34 @@ +package com.muyu.enterprise.remote.factory; + +import com.muyu.common.core.domain.Result; +import com.muyu.enterprise.domain.resp.car.MessageValueListResp; +import com.muyu.enterprise.remote.RemoteVehicleService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 车辆管理服务降级处理 + * @Author:李庆帅 + * @Package:com.muyu.enterprise.remote.factory + * @Project:cloud-server + * @name:RemoteVehicleServiceFactory + * @Date:2024/10/7 20:57 + */ +@Component +public class RemoteVehicleServiceFactory implements FallbackFactory { + private static final Logger log = LoggerFactory.getLogger(RemoteVehicleServiceFactory.class); + + @Override + public RemoteVehicleService create(Throwable throwable) { + return new RemoteVehicleService() { + @Override + public Result findByVehicleVin(String vehicleVin) { + return Result.error("报文模版传参调用失败" + throwable.getMessage()); + } + }; + } +} 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 new file mode 100644 index 0000000..497f58a --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,2 @@ +com.muyu.enterprise.remote.factory.RemoteVehicleServiceFactory +com.muyu.enterprise.remote.factory.RemoteMessageValueServiceFactory diff --git a/cloud-modules/cloud-modules-enterprise/pom.xml b/cloud-modules/cloud-modules-enterprise/pom.xml index 9ad1d7b..abbef5e 100644 --- a/cloud-modules/cloud-modules-enterprise/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/pom.xml @@ -16,6 +16,7 @@ cloud-modules-enterprise-server cloud-modules-enterprise-common cloud-modules-enterprise-cache + cloud-modules-enterprise-remote diff --git a/cloud-modules/cloud-modules-protocol-analysis/pom.xml b/cloud-modules/cloud-modules-protocol-analysis/pom.xml index dbc6859..c294bb2 100644 --- a/cloud-modules/cloud-modules-protocol-analysis/pom.xml +++ b/cloud-modules/cloud-modules-protocol-analysis/pom.xml @@ -89,17 +89,10 @@ com.muyu cloud-modules-enterprise-common - - - com.muyu - cloud-modules-enterprise-server - 3.6.3 - com.github.yulichang - mybatis-plus-join-boot-starter - 1.4.11 + mybatis-plus-join @@ -125,7 +118,11 @@ com.github.ben-manes.caffeine caffeine - 3.1.8 + + + + com.muyu + cloud-modules-enterprise-remote 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 6c9f58e..f6d51ca 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 @@ -1,11 +1,12 @@ package com.muyu.analysis.parsing.mqtt; -import com.muyu.analysis.parsing.remote.RemoteClientService; 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.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; @@ -35,12 +36,15 @@ public class ParsingMQTT { @Resource private RedisTemplate redisTemplate; - @Autowired - private RemoteClientService remoteServiceClient; - @Resource private KafkaProducer kafkaProducer; + @Resource + private RemoteVehicleService remoteVehicleService; + + @Resource + private RemoteMessageValueService remoteMessageValueService; + /** * 协议解析 */ @@ -55,7 +59,7 @@ public class ParsingMQTT { MqttClient sampleClient = new MqttClient(MQTTConnect.BROKER, MQTTConnect.CLIENT_ID); MqttConnectOptions connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); - System.out.println("Connecting to MQTTConnect.BROKER: " + MQTTConnect.BROKER); + log.info("Connecting to MQTTConnect.BROKER: {}", MQTTConnect.BROKER); sampleClient.connect(connOpts); sampleClient.subscribe(MQTTConnect.TOPIC, 0); sampleClient.setCallback(new MqttCallback() { @@ -96,7 +100,7 @@ public class ParsingMQTT { String vehicleVin = result.substring(1, 18); log.info("车辆VIN码: " + vehicleVin); //根据车辆VIN码查询报文模板ID - Result byVehicleVin = remoteServiceClient.findByVehicleVin(vehicleVin); + Result byVehicleVin = remoteVehicleService.findByVehicleVin(vehicleVin); Long templateId = byVehicleVin.getData(); List templateList; //从redis缓存中获取报文模板数据 @@ -109,7 +113,7 @@ public class ParsingMQTT { .toList(); log.info("Redis缓存查询成功"); } else { - Result> byTemplateId = remoteServiceClient.findByTemplateId(templateId); + Result> byTemplateId = remoteMessageValueService.findByTemplateId(templateId); templateList = byTemplateId.getData(); templateList.forEach( listResp -> diff --git a/cloud-modules/cloud-modules-protocol-analysis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-protocol-analysis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index bb37cb6..0000000 --- a/cloud-modules/cloud-modules-protocol-analysis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -com.muyu.analysis.parsing.remote.factory.RemoteClientServiceFactory diff --git a/pom.xml b/pom.xml index 714add3..3e6c60d 100644 --- a/pom.xml +++ b/pom.xml @@ -375,6 +375,13 @@ ${muyu.version} + + + com.muyu + cloud-common-mqtt + ${muyu.version} + + com.muyu @@ -382,6 +389,13 @@ ${muyu.version} + + + com.muyu + cloud-modules-enterprise-remote + ${muyu.version} + + com.muyu @@ -396,18 +410,7 @@ ${muyu.version} - - - com.muyu - cloud-modules-protocol-analysis - ${muyu.version} - - - - com.muyu - cloud-common-mqtt - ${muyu.version} - +