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