From 0c4ca50b3fcb3320419de54956506eb5aa563928 Mon Sep 17 00:00:00 2001 From: cbs <18617195505@163.com> Date: Sat, 28 Dec 2024 10:26:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao-module-grpc-api/pom.xml | 4 ++-- .../yudao/module/grpc/api/GrpcServiceApi.java | 17 ++++++++++++++ .../yudao/module/grpc/enums/ApiConstants.java | 17 ++++++++++++++ .../module/grpc/GrpcServerApplication.java | 2 ++ .../grpc/controller/GeometryController.java | 6 ++--- .../grpc/service/api/GrpcServiceImpl.java | 22 +++++++++++++++++++ 6 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/api/GrpcServiceApi.java create mode 100644 yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/enums/ApiConstants.java create mode 100644 yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/service/api/GrpcServiceImpl.java diff --git a/yudao-module-grpc/yudao-module-grpc-api/pom.xml b/yudao-module-grpc/yudao-module-grpc-api/pom.xml index 8c312b0b3..2a10d0da0 100644 --- a/yudao-module-grpc/yudao-module-grpc-api/pom.xml +++ b/yudao-module-grpc/yudao-module-grpc-api/pom.xml @@ -17,10 +17,10 @@ - + org.springdoc diff --git a/yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/api/GrpcServiceApi.java b/yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/api/GrpcServiceApi.java new file mode 100644 index 000000000..4ec21de8a --- /dev/null +++ b/yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/api/GrpcServiceApi.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.grpc.api; + +import cn.iocoder.yudao.module.grpc.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "GRPC 服务 - 调用机器人") +public interface GrpcServiceApi { + + @PostMapping("/grpc/robot/onVehiclePoseUpdatedG") + @Operation(summary = "订阅车体位姿更新") + String onVehiclePoseUpdated(); + +} diff --git a/yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/enums/ApiConstants.java b/yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/enums/ApiConstants.java new file mode 100644 index 000000000..8e649ca07 --- /dev/null +++ b/yudao-module-grpc/yudao-module-grpc-api/src/main/java/cn/iocoder/yudao/module/grpc/enums/ApiConstants.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.grpc.enums; + + +public class ApiConstants { + + /** + * 服务名 + * + * 注意,需要保证和 spring.application.name 保持一致 + */ + public static final String NAME = "grpc-server"; + + public static final String PREFIX = "/rpc-api/grpc"; + + public static final String VERSION = "1.0.0"; + +} diff --git a/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/GrpcServerApplication.java b/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/GrpcServerApplication.java index 11965baef..e382649f0 100644 --- a/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/GrpcServerApplication.java +++ b/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/GrpcServerApplication.java @@ -2,8 +2,10 @@ package cn.iocoder.yudao.module.grpc; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication +@EnableDiscoveryClient public class GrpcServerApplication { public static void main(String[] args) { // 如果你碰到启动的问题,请认真阅读 https://cloud.iocoder.cn/quick-start/ 文章 diff --git a/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/controller/GeometryController.java b/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/controller/GeometryController.java index ad6596586..0e99ea7bb 100644 --- a/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/controller/GeometryController.java +++ b/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/controller/GeometryController.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.grpc.controller; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.grpc.service.geometry.GeometryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.annotation.security.PermitAll; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "测试demo") @RestController @@ -26,7 +24,7 @@ public class GeometryController { @PostMapping("/onVehiclePoseUpdated") @Operation(summary = "测试GRPC调用") @PermitAll - public CommonResult onVehiclePoseUpdated() { - return success(geometryService.onVehiclePoseUpdated()); + public String onVehiclePoseUpdated() { + return geometryService.onVehiclePoseUpdated(); } } diff --git a/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/service/api/GrpcServiceImpl.java b/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/service/api/GrpcServiceImpl.java new file mode 100644 index 000000000..3bb7da94f --- /dev/null +++ b/yudao-module-grpc/yudao-module-grpc-biz/src/main/java/cn/iocoder/yudao/module/grpc/service/api/GrpcServiceImpl.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.grpc.service.api; + +import cn.iocoder.yudao.module.grpc.api.GrpcServiceApi; +import cn.iocoder.yudao.module.grpc.service.geometry.GeometryService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@Validated +public class GrpcServiceImpl implements GrpcServiceApi { + + @Resource + private GeometryService geometryService; + + @Override + public String onVehiclePoseUpdated() { + return geometryService.onVehiclePoseUpdated(); + } +}