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