From a51bb049f6779d5c41788945de3b2e5371a7aa71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Thu, 10 Oct 2024 18:30:23 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86=E7=9A=84=E5=AE=9E=E6=97=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E5=BC=80=E5=85=B3=E8=BF=9C=E7=A8=8B=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/ServiceNameConstants.java | 1 + .../system/remote/RemoteDataService.java | 33 +++++++++++++++++++ .../factory/RemoteDataFallbackFactory.java | 24 ++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 2 +- 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteDataService.java create mode 100644 cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteDataFallbackFactory.java diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java index 01189de..ad541d9 100644 --- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java +++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java @@ -32,4 +32,5 @@ public class ServiceNameConstants { public static final String SAAS_SERVICE = "cloud-system-saas"; + public static final String DATA_SERVICE = "cloud-data-processing"; } diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteDataService.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteDataService.java new file mode 100644 index 0000000..f0b2b87 --- /dev/null +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteDataService.java @@ -0,0 +1,33 @@ +package com.muyu.common.system.remote; + +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.common.system.remote.factory.RemoteDataFallbackFactory; +import lombok.NonNull; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 数据处理服务 + * + * @Author: 胡杨 + * @Name: RemoteDataService + * @Description: 数据处理服务 + * @CreatedDate: 2024/10/10 下午6:25 + * @FilePath: com.muyu.common.system.remote + */ + +@FeignClient(contextId = "remoteDataService", value = ServiceNameConstants.DATA_SERVICE, fallbackFactory = RemoteDataFallbackFactory.class) +public interface RemoteDataService { + + /** + * 车辆实时数据订阅开关 + * @param vin 车辆vin码 + * @param status 开关状态 + * @return 返回结果 + */ + @GetMapping("/DataProcessing/carRealTimeStatus") + public Result carRealTimeStatus(@RequestParam("vin") @NonNull String vin, @RequestParam("status") @NonNull Boolean status); + +} diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteDataFallbackFactory.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteDataFallbackFactory.java new file mode 100644 index 0000000..63478fa --- /dev/null +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteDataFallbackFactory.java @@ -0,0 +1,24 @@ +package com.muyu.common.system.remote.factory; + +import com.muyu.common.system.remote.RemoteDataService; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * 数据处理访问熔断器 + * + * @Author: 胡杨 + * @Name: RemoteDataFallbackFactory + * @Description: 数据处理访问熔断器 + * @CreatedDate: 2024/10/10 下午6:26 + * @FilePath: com.muyu.common.system.remote.factory + */ + +@Component +public class RemoteDataFallbackFactory implements FallbackFactory { + @Override + public RemoteDataService create(Throwable cause) { + return new RemoteDataService() { + }; + } +} diff --git a/cloud-common/cloud-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index e555898..a1829b2 100644 --- a/cloud-common/cloud-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-common/cloud-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,7 +1,7 @@ com.muyu.common.system.remote.factory.RemoteUserFallbackFactory com.muyu.common.system.remote.factory.RemoteLogFallbackFactory com.muyu.common.system.remote.factory.RemoteFileFallbackFactory - +com.muyu.common.system.remote.factory.RemoteDataFallbackFactory com.muyu.common.system.remote.factory.RemoteSaasFallbackFactory