From 65fb53fc004c1c255dfa4a63b1343b205ab7a0e6 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Thu, 23 Jul 2026 16:05:51 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E6=8A=8A=20LMS/WMS=20=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E7=9A=84=E6=89=A7=E8=A1=8C=E9=80=BB=E8=BE=91=E4=B8=8B=E6=B2=89?= =?UTF-8?q?=E5=88=B0=20starter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/api/AbstractTaskCommonApiImpl.java | 115 +++++++++++++ .../execute/biz/api/TaskCommonApi.java | 14 +- .../execute/biz/api/lms/LmsTaskCommonApi.java | 2 +- .../execute/biz/api/wms/WmsTaskCommonApi.java | 2 +- .../execute/biz/vo/AcsApplyActionRespVO.java | 3 +- .../execute/core/dto/TaskExecuteDTO.java | 6 + .../module/lms/api/LmsTaskExecuteApiImpl.java | 18 ++ .../cn/code/nl/module/lms/demo/DemoApi.java | 160 +++++++++--------- .../nl/module/lms/manage/package-info.java | 6 + ...TransportTaskBusinessOperationManager.java | 32 ++-- .../module/wms/api/WmsTaskExecuteApiImpl.java | 18 ++ 11 files changed, 266 insertions(+), 110 deletions(-) create mode 100644 nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/AbstractTaskCommonApiImpl.java create mode 100644 nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/api/LmsTaskExecuteApiImpl.java create mode 100644 nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/manage/package-info.java create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/api/WmsTaskExecuteApiImpl.java diff --git a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/AbstractTaskCommonApiImpl.java b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/AbstractTaskCommonApiImpl.java new file mode 100644 index 00000000..9f4fb1e5 --- /dev/null +++ b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/AbstractTaskCommonApiImpl.java @@ -0,0 +1,115 @@ +package cn.code.nl.framework.execute.biz.api; + +import cn.code.nl.framework.common.exception.ServiceException; +import cn.code.nl.framework.common.pojo.CommonResult; +import cn.code.nl.framework.execute.biz.dto.TaskStatusCallApiReqDTO; +import cn.code.nl.framework.execute.biz.vo.AcsApplyActionRespVO; +import cn.code.nl.framework.execute.core.AbstractTask; +import cn.code.nl.framework.execute.core.TaskFactory; +import cn.code.nl.framework.execute.core.dto.TaskExecuteDTO; +import jakarta.annotation.Resource; + +/** + * 任务通用 API 公共实现 + * + * @author liyongde + */ +public abstract class AbstractTaskCommonApiImpl implements TaskCommonApi { + + /** + * 任务处理器工厂 + */ + @Resource + private TaskFactory taskFactory; + + /** + * 处理取货完成 + */ + @Override + public CommonResult doHandlePicked(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return execute(taskStatusCallApiReqDTO, (task, taskExecuteDTO) -> { + task.doHandlePicked(taskExecuteDTO); + return null; + }); + } + + /** + * 处理二次请求 + */ + @Override + public CommonResult doHandleApplyAgain(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return execute(taskStatusCallApiReqDTO, AbstractTask::againApply); + } + + /** + * 处理请求放货 + */ + @Override + public CommonResult doHandleRequestRelease(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return execute(taskStatusCallApiReqDTO, AbstractTask::requestPutAway); + } + + /** + * 处理请求取货 + */ + @Override + public CommonResult doHandleRequestPick(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return execute(taskStatusCallApiReqDTO, AbstractTask::requestPickGoods); + } + + /** + * 处理请求离开 + */ + @Override + public CommonResult doHandleRequestLeave(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return execute(taskStatusCallApiReqDTO, AbstractTask::requestOut); + } + + /** + * 处理请求进入 + */ + @Override + public CommonResult doHandleRequestEnter(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return execute(taskStatusCallApiReqDTO, AbstractTask::requestIn); + } + + /** + * 根据 handleCode 路由到具体任务处理器 + */ + private CommonResult execute(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO, + TaskActionInvoker taskActionInvoker) { + AbstractTask task = taskFactory.getTask(taskStatusCallApiReqDTO.getHandleCode()); + if (task == null) { + throw new ServiceException(500, "未找到任务处理器:" + taskStatusCallApiReqDTO.getHandleCode()); + } + Object data = taskActionInvoker.invoke(task, buildTaskExecuteDTO(taskStatusCallApiReqDTO)); + + AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); + respVO.setTaskId(taskStatusCallApiReqDTO.getTaskId()); + respVO.setTaskCode(taskStatusCallApiReqDTO.getTaskCode()); + respVO.setData(data); + return CommonResult.success(respVO); + } + + /** + * 构建任务执行参数 + */ + private TaskExecuteDTO buildTaskExecuteDTO(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { + return TaskExecuteDTO.builder() + .taskId(taskStatusCallApiReqDTO.getTaskId()) + .payload(taskStatusCallApiReqDTO.getPayload()) + .build(); + } + + /** + * 任务动作调用器 + */ + @FunctionalInterface + private interface TaskActionInvoker { + + /** + * 调用任务动作 + */ + Object invoke(AbstractTask task, TaskExecuteDTO taskExecuteDTO); + } +} diff --git a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/TaskCommonApi.java b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/TaskCommonApi.java index 66d9a473..fff86e58 100644 --- a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/TaskCommonApi.java +++ b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/TaskCommonApi.java @@ -4,8 +4,8 @@ import cn.code.nl.framework.common.pojo.CommonResult; import cn.code.nl.framework.execute.biz.dto.TaskStatusCallApiReqDTO; import cn.code.nl.framework.execute.biz.vo.AcsApplyActionRespVO; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * @@ -16,25 +16,25 @@ public interface TaskCommonApi { @Operation(summary = "请求取货") @PostMapping("/do-handle-picked") - CommonResult doHandlePicked(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); + CommonResult doHandlePicked(@RequestBody TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); @Operation(summary = "二次请求") @PostMapping("/do-handle-apply-again") - CommonResult doHandleApplyAgain(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); + CommonResult doHandleApplyAgain(@RequestBody TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); @Operation(summary = "处理请求放货") @PostMapping("/do-handle-request-release") - CommonResult doHandleRequestRelease(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); + CommonResult doHandleRequestRelease(@RequestBody TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); @Operation(summary = "处理请求取货") @PostMapping("/do-handle-request-pick") - CommonResult doHandleRequestPick(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); + CommonResult doHandleRequestPick(@RequestBody TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); @Operation(summary = "处理请求离开") @PostMapping("/do-handle-request-leave") - CommonResult doHandleRequestLeave(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); + CommonResult doHandleRequestLeave(@RequestBody TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); @Operation(summary = "处理请求进入") @PostMapping("/do-handle-request-enter") - CommonResult doHandleRequestEnter(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); + CommonResult doHandleRequestEnter(@RequestBody TaskStatusCallApiReqDTO taskStatusCallApiReqDTO); } diff --git a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/lms/LmsTaskCommonApi.java b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/lms/LmsTaskCommonApi.java index 06c2efc1..ac559a20 100644 --- a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/lms/LmsTaskCommonApi.java +++ b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/lms/LmsTaskCommonApi.java @@ -11,7 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; * @Author: liyongde * @Date: 2026/7/15 14:39 */ -@FeignClient(name = RpcConstants.LMS_NAME, path = "/lms", primary = false) // TODO 芋艿:fallbackFactory = +@FeignClient(name = RpcConstants.LMS_NAME, path = RpcConstants.RPC_API_PREFIX + "/lms", primary = false) // TODO 芋艿:fallbackFactory = @Tag(name = "RPC 服务 - lms任务") public interface LmsTaskCommonApi extends TaskCommonApi { } diff --git a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/wms/WmsTaskCommonApi.java b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/wms/WmsTaskCommonApi.java index dd2a83b3..d4977342 100644 --- a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/wms/WmsTaskCommonApi.java +++ b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/wms/WmsTaskCommonApi.java @@ -11,7 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; * @Author: liyongde * @Date: 2026/7/15 14:48 */ -@FeignClient(name = RpcConstants.WMS_NAME, path = "/wms", primary = false) // TODO 芋艿:fallbackFactory = +@FeignClient(name = RpcConstants.WMS_NAME, path = RpcConstants.RPC_API_PREFIX + "/wms", primary = false) // TODO 芋艿:fallbackFactory = @Tag(name = "RPC 服务 - wms任务") public interface WmsTaskCommonApi extends TaskCommonApi { } diff --git a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/vo/AcsApplyActionRespVO.java b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/vo/AcsApplyActionRespVO.java index 5096efe6..2a395188 100644 --- a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/vo/AcsApplyActionRespVO.java +++ b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/vo/AcsApplyActionRespVO.java @@ -1,6 +1,5 @@ package cn.code.nl.framework.execute.biz.vo; -import com.alibaba.fastjson.JSONObject; import lombok.Data; /** @@ -25,5 +24,5 @@ public class AcsApplyActionRespVO { /** * 数据 */ - private JSONObject data; + private Object data; } diff --git a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/core/dto/TaskExecuteDTO.java b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/core/dto/TaskExecuteDTO.java index dc07f545..e0cff2a4 100644 --- a/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/core/dto/TaskExecuteDTO.java +++ b/nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/core/dto/TaskExecuteDTO.java @@ -2,7 +2,10 @@ package cn.code.nl.framework.execute.core.dto; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; @@ -12,6 +15,9 @@ import java.util.Map; * @Date: 2026/7/16 14:57 */ @Data +@Builder +@NoArgsConstructor +@AllArgsConstructor public class TaskExecuteDTO { @Schema(description = "任务id") diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/api/LmsTaskExecuteApiImpl.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/api/LmsTaskExecuteApiImpl.java new file mode 100644 index 00000000..fb0e9fe4 --- /dev/null +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/api/LmsTaskExecuteApiImpl.java @@ -0,0 +1,18 @@ +package cn.code.nl.module.lms.api; + +import cn.code.nl.framework.execute.biz.api.AbstractTaskCommonApiImpl; +import cn.code.nl.framework.execute.biz.api.lms.LmsTaskCommonApi; +import org.springframework.context.annotation.Primary; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +/** + * LMS 任务通用 API 实现 + * + * @author liyongde + */ +@RestController +@Validated +@Primary +public class LmsTaskExecuteApiImpl extends AbstractTaskCommonApiImpl implements LmsTaskCommonApi { +} diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/demo/DemoApi.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/demo/DemoApi.java index a1b44f70..b08f3ad9 100644 --- a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/demo/DemoApi.java +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/demo/DemoApi.java @@ -1,80 +1,80 @@ -package cn.code.nl.module.lms.demo; - -import cn.code.nl.framework.common.pojo.CommonResult; -import cn.code.nl.framework.execute.biz.api.lms.LmsTaskCommonApi; -import cn.code.nl.framework.execute.biz.dto.TaskStatusCallApiReqDTO; -import cn.code.nl.framework.execute.biz.vo.AcsApplyActionRespVO; -import com.alibaba.fastjson.JSON; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RestController; - -import static cn.code.nl.framework.common.pojo.CommonResult.success; - -/** - * - * @Author: liyongde - * @Date: 2026/7/15 15:25 - */ -@RestController // 提供 RESTful API 接口,给 Feign 调用 -@Validated -public class DemoApi implements LmsTaskCommonApi { - @Override - public CommonResult doHandlePicked(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { - // 构建外层VO - AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); - respVO.setTaskId(10001L); - respVO.setTaskCode("ACS20260716001"); - // 内层data赋值 "success" - return success(respVO); - } - - @Override - public CommonResult doHandleApplyAgain(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { - DemoRespVO demoRespVO = new DemoRespVO(); - demoRespVO.setTargetPoint("A_10001"); - - // 构建外层VO - AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); - respVO.setTaskId(10001L); - respVO.setTaskCode("ACS20260716001"); - // 内层data赋值 "success" - respVO.setData(JSON.parseObject(JSON.toJSONString(demoRespVO))); - return success(respVO); - } - - @Override - public CommonResult doHandleRequestRelease(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { - // 构建外层VO - AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); - respVO.setTaskId(10001L); - respVO.setTaskCode("ACS20260716001"); - return success(respVO); - } - - @Override - public CommonResult doHandleRequestPick(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { - // 构建外层VO - AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); - respVO.setTaskId(10001L); - respVO.setTaskCode("ACS20260716001"); - return success(respVO); - } - - @Override - public CommonResult doHandleRequestLeave(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { - // 构建外层VO - AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); - respVO.setTaskId(10001L); - respVO.setTaskCode("ACS20260716001"); - return success(respVO); - } - - @Override - public CommonResult doHandleRequestEnter(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { - // 构建外层VO - AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); - respVO.setTaskId(10001L); - respVO.setTaskCode("ACS20260716001"); - return success(respVO); - } -} +//package cn.code.nl.module.lms.demo; +// +//import cn.code.nl.framework.common.pojo.CommonResult; +//import cn.code.nl.framework.execute.biz.api.lms.LmsTaskCommonApi; +//import cn.code.nl.framework.execute.biz.dto.TaskStatusCallApiReqDTO; +//import cn.code.nl.framework.execute.biz.vo.AcsApplyActionRespVO; +//import com.alibaba.fastjson.JSON; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.RestController; +// +//import static cn.code.nl.framework.common.pojo.CommonResult.success; +// +///** +// * +// * @Author: liyongde +// * @Date: 2026/7/15 15:25 +// */ +//@RestController // 提供 RESTful API 接口,给 Feign 调用 +//@Validated +//public class DemoApi implements LmsTaskCommonApi { +// @Override +// public CommonResult doHandlePicked(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { +// // 构建外层VO +// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); +// respVO.setTaskId(10001L); +// respVO.setTaskCode("ACS20260716001"); +// // 内层data赋值 "success" +// return success(respVO); +// } +// +// @Override +// public CommonResult doHandleApplyAgain(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { +// DemoRespVO demoRespVO = new DemoRespVO(); +// demoRespVO.setTargetPoint("A_10001"); +// +// // 构建外层VO +// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); +// respVO.setTaskId(10001L); +// respVO.setTaskCode("ACS20260716001"); +// // 内层data赋值 "success" +// respVO.setData(JSON.parseObject(JSON.toJSONString(demoRespVO))); +// return success(respVO); +// } +// +// @Override +// public CommonResult doHandleRequestRelease(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { +// // 构建外层VO +// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); +// respVO.setTaskId(10001L); +// respVO.setTaskCode("ACS20260716001"); +// return success(respVO); +// } +// +// @Override +// public CommonResult doHandleRequestPick(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { +// // 构建外层VO +// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); +// respVO.setTaskId(10001L); +// respVO.setTaskCode("ACS20260716001"); +// return success(respVO); +// } +// +// @Override +// public CommonResult doHandleRequestLeave(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { +// // 构建外层VO +// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); +// respVO.setTaskId(10001L); +// respVO.setTaskCode("ACS20260716001"); +// return success(respVO); +// } +// +// @Override +// public CommonResult doHandleRequestEnter(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) { +// // 构建外层VO +// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); +// respVO.setTaskId(10001L); +// respVO.setTaskCode("ACS20260716001"); +// return success(respVO); +// } +//} diff --git a/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/manage/package-info.java b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/manage/package-info.java new file mode 100644 index 00000000..9e091556 --- /dev/null +++ b/nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/manage/package-info.java @@ -0,0 +1,6 @@ +/** + * + * @Author: liyongde + * @Date: 2026/7/23 14:41 + */ +package cn.code.nl.module.lms.manage; \ No newline at end of file diff --git a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/manage/TransportTaskBusinessOperationManager.java b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/manage/TransportTaskBusinessOperationManager.java index 1d24db11..7c492c2c 100644 --- a/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/manage/TransportTaskBusinessOperationManager.java +++ b/nl-module-task/nl-module-task-server/src/main/java/cn/code/nl/module/task/manage/TransportTaskBusinessOperationManager.java @@ -11,7 +11,6 @@ import cn.code.nl.module.task.dal.mysql.transporttask.TransportTaskMapper; import cn.code.nl.module.task.dto.AcsFeedbackReqDTO; import cn.code.nl.module.task.enums.AcsBusinessOperationTypeEnum; import cn.code.nl.module.task.enums.TransportTaskStatusEnum; -import com.alibaba.fastjson.JSON; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -104,68 +103,63 @@ public class TransportTaskBusinessOperationManager { TaskCommonApi serverApi = taskCommonApiFactory.getByServerName(task.getOwnerService()); CommonResult result = serverApi.doHandlePicked(buildReq(task, reqDTO)); - return result.getData(); + return result.getCheckedData(); } /** * 处理二次请求 */ private AcsApplyActionRespVO handleApplyAgain(TransportTaskDO task, AcsFeedbackReqDTO reqDTO) { - // TODO 二次请求业务待开发 - log.info("二次请求业务待开发, taskId={}", task.getTaskId()); + log.info("二次请求, taskId={}", task.getTaskId()); // 调用具体的服务去执行取货完成操作。 TaskCommonApi serverApi = taskCommonApiFactory.getByServerName(task.getOwnerService()); CommonResult result = serverApi.doHandleApplyAgain(buildReq(task, reqDTO)); - return result.getData(); + return result.getCheckedData(); } /** * 处理请求放货 */ private Object handleRequestRelease(TransportTaskDO task, AcsFeedbackReqDTO reqDTO) { - // TODO 请求放货业务待开发 - log.info("请求放货业务待开发, taskId={}", task.getTaskId()); + log.info("请求放货, taskId={}", task.getTaskId()); TaskCommonApi serverApi = taskCommonApiFactory.getByServerName(task.getOwnerService()); CommonResult result = serverApi.doHandleRequestRelease(buildReq(task, reqDTO)); - return result.getData(); + return result.getCheckedData(); } /** * 处理请求取货 */ private Object handleRequestPick(TransportTaskDO task, AcsFeedbackReqDTO reqDTO) { - // TODO 请求取货业务待开发 - log.info("请求取货业务待开发, taskId={}", task.getTaskId()); + log.info("请求取货, taskId={}", task.getTaskId()); TaskCommonApi serverApi = taskCommonApiFactory.getByServerName(task.getOwnerService()); CommonResult result = serverApi.doHandleRequestPick(buildReq(task, reqDTO)); - return result.getData(); + return result.getCheckedData(); } /** * 处理请求离开 */ private Object handleRequestLeave(TransportTaskDO task, AcsFeedbackReqDTO reqDTO) { - // TODO 请求离开业务待开发 - log.info("请求离开业务待开发, taskId={}", task.getTaskId()); + log.info("请求离开, taskId={}", task.getTaskId()); TaskCommonApi serverApi = taskCommonApiFactory.getByServerName(task.getOwnerService()); CommonResult result = serverApi.doHandleRequestLeave(buildReq(task, reqDTO)); - return result.getData(); + return result.getCheckedData(); } /** * 处理请求进入 */ private Object handleRequestEnter(TransportTaskDO task, AcsFeedbackReqDTO reqDTO) { - // TODO 请求进入业务待开发 - log.info("请求进入业务待开发, taskId={}", task.getTaskId()); + log.info("请求进入, taskId={}", task.getTaskId()); TaskCommonApi serverApi = taskCommonApiFactory.getByServerName(task.getOwnerService()); CommonResult result = serverApi.doHandleRequestEnter(buildReq(task, reqDTO)); - return result.getData(); + return result.getCheckedData(); } /** @@ -175,7 +169,7 @@ public class TransportTaskBusinessOperationManager { AcsApplyActionRespVO respVO = new AcsApplyActionRespVO(); respVO.setTaskId(task.getTaskId()); respVO.setTaskCode(task.getTaskCode()); - respVO.setData(JSON.parseObject(JSON.toJSONString(data))); + respVO.setData(data); return respVO; } /** @@ -185,7 +179,7 @@ public class TransportTaskBusinessOperationManager { TaskStatusCallApiReqDTO req = new TaskStatusCallApiReqDTO(); req.setTaskId(task.getTaskId()); req.setTaskCode(task.getTaskCode()); - req.setStatus(TransportTaskStatusEnum.PICKED.getCode()); + req.setStatus(reqDTO.getStatus()); req.setOwnerService(task.getOwnerService()); req.setBizType(task.getBizType()); req.setBizId(task.getBizId()); diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/api/WmsTaskExecuteApiImpl.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/api/WmsTaskExecuteApiImpl.java new file mode 100644 index 00000000..33a7fc44 --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/api/WmsTaskExecuteApiImpl.java @@ -0,0 +1,18 @@ +package cn.code.nl.module.wms.api; + +import cn.code.nl.framework.execute.biz.api.AbstractTaskCommonApiImpl; +import cn.code.nl.framework.execute.biz.api.wms.WmsTaskCommonApi; +import org.springframework.context.annotation.Primary; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +/** + * WMS 任务通用 API 实现 + * + * @author liyongde + */ +@RestController +@Validated +@Primary +public class WmsTaskExecuteApiImpl extends AbstractTaskCommonApiImpl implements WmsTaskCommonApi { +}