From 6d39c4296ef87b13ccd2dbf81d2045997277dd49 Mon Sep 17 00:00:00 2001 From: lixiaolong <702156524@qq.com> Date: Mon, 29 Jun 2026 09:05:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor(robot):=20=E9=87=8D=E6=9E=84=E6=9C=BA?= =?UTF-8?q?=E5=99=A8=E4=BA=BA=E5=9C=B0=E5=9B=BE=E4=B8=8A=E4=BC=A0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除原有的 uploadMapToRobot 方法,简化服务接口 - 添加新的 uploadMapFromSource 方法,支持从源机器人下载并上传到目标机器人 - 更新控制器中的路径变量注解,移除冗余参数定义 - 实现跨机器人地图传输功能,包括从源机器人下载和向目标机器人上传 - 添加完整的异常处理和验证逻辑,确保机器人和地图存在性检查 - 统一错误消息处理,提高代码可维护性 --- .../inspection/InspectionRobotController.java | 37 +++--- .../service/IInspectionRobotService.java | 17 ++- .../impl/InspectionRobotServiceImpl.java | 125 ++++++++++-------- 3 files changed, 96 insertions(+), 83 deletions(-) diff --git a/cmvr-iot-admin/src/main/java/com/cmvr/web/controller/inspection/InspectionRobotController.java b/cmvr-iot-admin/src/main/java/com/cmvr/web/controller/inspection/InspectionRobotController.java index c2d1cc6..3a72807 100644 --- a/cmvr-iot-admin/src/main/java/com/cmvr/web/controller/inspection/InspectionRobotController.java +++ b/cmvr-iot-admin/src/main/java/com/cmvr/web/controller/inspection/InspectionRobotController.java @@ -112,7 +112,7 @@ public class InspectionRobotController extends BaseController @ApiOperation("获取机器人地图列表") @PreAuthorize("@ss.hasPermi('inspection:robot:query')") @GetMapping("/{robotId}/maps") - public AjaxResult getRobotMapList(@PathVariable("robotId") String robotId) + public AjaxResult getRobotMapList(@PathVariable String robotId) { AgvCommand.AgvMapStatus robotMapList = inspectionRobotService.getRobotMapList(robotId); return success(robotMapList.getMapsList()); @@ -125,26 +125,12 @@ public class InspectionRobotController extends BaseController @PreAuthorize("@ss.hasPermi('inspection:robot:edit')") @Log(title = "绑定机器人地图", businessType = BusinessType.UPDATE) @PostMapping("/{robotId}/bind-map/{mapId}") - public AjaxResult bindRobotMap(@PathVariable("robotId") String robotId, - @PathVariable("mapId") String mapId) + public AjaxResult bindRobotMap(@PathVariable String robotId, + @PathVariable String mapId) { return toAjax(inspectionRobotService.bindRobotMap(robotId, mapId)); } - /** - * 上传地图到机器人 - */ - @ApiOperation("上传地图到机器人") - @PreAuthorize("@ss.hasPermi('inspection:robot:edit')") - @Log(title = "上传地图到机器人", businessType = BusinessType.OTHER) - @PostMapping("/{robotId}/upload-map/{mapId}") - public AjaxResult uploadMapToRobot(@PathVariable("robotId") String robotId, - @PathVariable("mapId") String mapId) - { - String result = inspectionRobotService.uploadMapToRobot(robotId, mapId); - return success(result); - } - /** * 从机器人下载地图 */ @@ -153,7 +139,7 @@ public class InspectionRobotController extends BaseController @Log(title = "从机器人下载地图", businessType = BusinessType.INSERT) @GetMapping("/{robotId}/download-map") public AjaxResult downloadMapFromRobot( - @PathVariable(value = "robotId") @ApiParam("机器人ID") String robotId, + @PathVariable @ApiParam("机器人ID") String robotId, @RequestParam(value = "mapName") @ApiParam("地图名称") String mapName ) { @@ -161,6 +147,19 @@ public class InspectionRobotController extends BaseController return success(mapId); } + /** + * 上传地图(从源机器人下载到目标机器人) + */ + @ApiOperation("上传地图到机器人") + @PreAuthorize("@ss.hasPermi('inspection:robot:edit')") + @Log(title = "上传地图到机器人", businessType = BusinessType.OTHER) + @PostMapping("/{robotId}/upload-map-from-source") + public AjaxResult uploadMapFromSource(@PathVariable String robotId) + { + String result = inspectionRobotService.uploadMapFromSource(robotId); + return success(result); + } + /** * 同步机器人状态 */ @@ -168,7 +167,7 @@ public class InspectionRobotController extends BaseController @PreAuthorize("@ss.hasPermi('inspection:robot:edit')") @Log(title = "同步机器人状态", businessType = BusinessType.UPDATE) @PostMapping("/{robotId}/sync-status") - public AjaxResult syncRobotStatus(@PathVariable("robotId") String robotId) + public AjaxResult syncRobotStatus(@PathVariable String robotId) { return success(inspectionRobotService.syncRobotStatus(robotId)); } diff --git a/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/IInspectionRobotService.java b/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/IInspectionRobotService.java index 57fd685..523796e 100644 --- a/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/IInspectionRobotService.java +++ b/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/IInspectionRobotService.java @@ -73,15 +73,6 @@ public interface IInspectionRobotService extends IService */ int bindRobotMap(String robotId, String mapId); - /** - * 上传地图到机器人 - * - * @param robotId 机器人ID - * @param mapId 地图ID - * @return 结果 - */ - String uploadMapToRobot(String robotId, String mapId); - /** * 从机器人下载地图 * @@ -91,6 +82,14 @@ public interface IInspectionRobotService extends IService */ String downloadMapFromRobot(String robotId, String mapName); + /** + * 上传地图(从源机器人下载到目标机器人) + * + * @param robotId 目标机器人ID + * @return 结果 + */ + String uploadMapFromSource(String robotId); + /** * 同步机器人状态(电量、位置等) * diff --git a/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/impl/InspectionRobotServiceImpl.java b/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/impl/InspectionRobotServiceImpl.java index cfaf4ea..46a5364 100644 --- a/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/impl/InspectionRobotServiceImpl.java +++ b/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/service/impl/InspectionRobotServiceImpl.java @@ -1,6 +1,7 @@ package com.cmvr.inspection.service.impl; +import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.List; import java.util.UUID; @@ -180,49 +181,6 @@ public class InspectionRobotServiceImpl extends ServiceImpl