From 254797a154d50b20ba35ee3e240ab777ce5d05e9 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 14 Jul 2026 19:01:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20TransportTaskApiImpl=20=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=20Feign=20=E6=A8=A1=E5=BC=8F=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20TransportTaskApi=20=E6=8E=A5=E5=8F=A3=E5=92=8C=20Rp?= =?UTF-8?q?cConfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/module/task/api/TransportTaskApi.java | 28 +++++++++++++++++++ .../code/nl/module/task/api/package-info.java | 5 ++++ .../module/task/api/TransportTaskApiImpl.java | 17 ++++------- .../transporttask}/AcsFeedbackController.java | 0 .../TaskCallbackController.java | 0 .../rpc/config/RpcConfiguration.java | 15 ++++++++++ .../module/task/mq/consumer/package-info.java | 5 ++++ .../task/mq/message}/TaskEventMessage.java | 0 .../module/task/mq/message/package-info.java | 5 ++++ .../code/nl/module/task/mq/package-info.java | 4 +++ .../mq/{ => producer}/TaskEventProducer.java | 0 11 files changed, 67 insertions(+), 12 deletions(-) create mode 100644 nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java create mode 100644 nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/package-info.java rename nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/{ => admin/transporttask}/AcsFeedbackController.java (100%) rename nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/{ => admin/transporttask}/TaskCallbackController.java (100%) create mode 100644 nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/framework/rpc/config/RpcConfiguration.java create mode 100644 nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/consumer/package-info.java rename nl-module-task/{nl-module-task-api/src/main/java/cn/code/nl/module/task/dto => nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message}/TaskEventMessage.java (100%) create mode 100644 nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message/package-info.java create mode 100644 nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/package-info.java rename nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/{ => producer}/TaskEventProducer.java (100%) diff --git a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java new file mode 100644 index 00000000..0fcc085f --- /dev/null +++ b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/TransportTaskApi.java @@ -0,0 +1,28 @@ +package cn.code.nl.module.task.api; + +import cn.code.nl.framework.common.pojo.CommonResult; +import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; +import cn.code.nl.module.task.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; +import org.springframework.web.bind.annotation.RequestBody; + +import jakarta.validation.Valid; + +/** + * Task 服务 RPC API 接口 + *

+ * LMS/WMS 等调用方通过 Feign 客户端注入此接口,调用 Task 服务 + */ +@FeignClient(name = ApiConstants.NAME) +@Tag(name = "RPC 服务 - 搬运任务") +public interface TransportTaskApi { + + String PREFIX = ApiConstants.PREFIX + "/transport"; + + @PostMapping(PREFIX + "/create") + @Operation(summary = "创建搬运任务(LMS/WMS 调用)") + CommonResult createTransportTask(@Valid @RequestBody TransportTaskCreateReqDTO reqDTO); +} diff --git a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/package-info.java b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/package-info.java new file mode 100644 index 00000000..6f52d4a6 --- /dev/null +++ b/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/api/package-info.java @@ -0,0 +1,5 @@ +/** + * + * @Author: liyongde + * @Date: 2026/7/14 18:57 + */package cn.code.nl.module.task.api; \ No newline at end of file diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java index 490c3473..b2a59da3 100644 --- a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/api/TransportTaskApiImpl.java @@ -2,32 +2,25 @@ package cn.code.nl.module.task.api; import cn.code.nl.framework.common.pojo.CommonResult; import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO; -import cn.code.nl.module.task.enums.ApiConstants; import cn.code.nl.module.task.service.transporttask.TransportTaskService; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import jakarta.validation.Valid; - import static cn.code.nl.framework.common.pojo.CommonResult.success; /** - * Task 服务 RPC 接口实现 + * Task 服务 RPC 接口实现(Feign 服务端) */ -@RestController -@RequestMapping(ApiConstants.PREFIX) +@RestController // 提供 RESTful API 接口,给 Feign 调用 @Validated -public class TransportTaskApiImpl { +public class TransportTaskApiImpl implements TransportTaskApi { @Resource private TransportTaskService transportTaskService; - @PostMapping("/transport/create") - public CommonResult createTransportTask(@Valid @RequestBody TransportTaskCreateReqDTO reqDTO) { + @Override + public CommonResult createTransportTask(TransportTaskCreateReqDTO reqDTO) { return success(transportTaskService.createTransportTaskByRpc(reqDTO)); } } diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/AcsFeedbackController.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/admin/transporttask/AcsFeedbackController.java similarity index 100% rename from nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/AcsFeedbackController.java rename to nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/admin/transporttask/AcsFeedbackController.java diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/TaskCallbackController.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/admin/transporttask/TaskCallbackController.java similarity index 100% rename from nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/TaskCallbackController.java rename to nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/controller/admin/transporttask/TaskCallbackController.java diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/framework/rpc/config/RpcConfiguration.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/framework/rpc/config/RpcConfiguration.java new file mode 100644 index 00000000..af510b99 --- /dev/null +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/framework/rpc/config/RpcConfiguration.java @@ -0,0 +1,15 @@ +package cn.code.nl.module.task.framework.rpc.config; + +import cn.code.nl.module.task.api.TransportTaskApi; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Configuration; + +/** + * Task 服务 RPC 配置 + *

+ * 注册 Feign 客户端,使 LMS/WMS 等调用方可通过 @Resource 注入 TransportTaskApi + */ +@Configuration +@EnableFeignClients(clients = {TransportTaskApi.class}) +public class RpcConfiguration { +} diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/consumer/package-info.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/consumer/package-info.java new file mode 100644 index 00000000..0ed7b3e0 --- /dev/null +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/consumer/package-info.java @@ -0,0 +1,5 @@ +/** + * + * @Author: liyongde + * @Date: 2026/7/14 18:47 + */package cn.code.nl.module.task.mq.consumer; \ No newline at end of file diff --git a/nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TaskEventMessage.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message/TaskEventMessage.java similarity index 100% rename from nl-module-task/nl-module-task-api/src/main/java/cn/code/nl/module/task/dto/TaskEventMessage.java rename to nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message/TaskEventMessage.java diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message/package-info.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message/package-info.java new file mode 100644 index 00000000..b5f74af7 --- /dev/null +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/message/package-info.java @@ -0,0 +1,5 @@ +/** + * + * @Author: liyongde + * @Date: 2026/7/14 18:47 + */package cn.code.nl.module.task.mq.message; \ No newline at end of file diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/package-info.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/package-info.java new file mode 100644 index 00000000..59cee774 --- /dev/null +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/package-info.java @@ -0,0 +1,4 @@ +/** + * 消息队列的消息 + */ +package cn.code.nl.module.infra.mq.message; diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/TaskEventProducer.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/producer/TaskEventProducer.java similarity index 100% rename from nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/TaskEventProducer.java rename to nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/mq/producer/TaskEventProducer.java