From 97ffefebf94136439b27901751d3080f9aa15c94 Mon Sep 17 00:00:00 2001 From: luoyifan Date: Wed, 9 Jul 2025 16:10:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E8=84=9A=E6=9C=AC=20/=20?= =?UTF-8?q?=E5=81=9C=E6=AD=A2=E8=84=9A=E6=9C=AC=20/=20=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=20/=20=E6=8B=89=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yvan/workbench/controller/LccController.java | 19 +++++++++++++++++-- .../com/yvan/workbench/service/LccMapService.java | 21 ++++++++++++++++++--- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/servo/src/main/java/com/yvan/workbench/controller/LccController.java b/servo/src/main/java/com/yvan/workbench/controller/LccController.java index b4eddee..d7a14db 100644 --- a/servo/src/main/java/com/yvan/workbench/controller/LccController.java +++ b/servo/src/main/java/com/yvan/workbench/controller/LccController.java @@ -94,7 +94,7 @@ public class LccController { return R.success(agvStatusList); } - public static R saveAndSyncScripts(@RequestBody Map params) { + public static R saveScripts(@RequestBody Map params) { String projectUuid = Conv.asString(params.get("projectUUID")); List> scriptList = (List>) (params.get("scriptList")); @@ -104,7 +104,22 @@ public class LccController { // 保存脚本内容到文件系统 var mapService = SpringContext.HOLDER.getBean(LccMapService.class); - var list = mapService.saveAndSyncScripts(projectUuid, scriptList); + mapService.saveScripts(projectUuid, scriptList); + + return R.success("Scripts saved successfully"); + } + + public static R syncScripts(@RequestBody Map params) { + String projectUuid = Conv.asString(params.get("projectUUID")); + List> scriptList = (List>) (params.get("scriptList")); + + if (Strings.isNullOrEmpty(projectUuid)) { + return R.fail("projectUUID Must not be empty"); + } + + // 保存脚本内容到文件系统 + var mapService = SpringContext.HOLDER.getBean(LccMapService.class); + var list = mapService.syncScripts(projectUuid); return R.success(list); } diff --git a/servo/src/main/java/com/yvan/workbench/service/LccMapService.java b/servo/src/main/java/com/yvan/workbench/service/LccMapService.java index 124b7fc..8855768 100644 --- a/servo/src/main/java/com/yvan/workbench/service/LccMapService.java +++ b/servo/src/main/java/com/yvan/workbench/service/LccMapService.java @@ -261,9 +261,7 @@ public class LccMapService { } return list; } - - - public List> saveAndSyncScripts(String projectUuid, List> scriptList) { + public void saveScripts(String projectUuid, List> scriptList) { var mapLoc = new File(this.config.getLocation()); // 扫描 mapLoc 目录下所有的文件夹,并且文件夹中包含有 project.json 文件存在,就讲她反序列化为 LccProject 对象 @@ -295,6 +293,23 @@ public class LccMapService { File scriptFile = new File(scriptsDir, name + ".ts"); LccUtils.saveFile(scriptFile, content, "script"); } + } + + public List> syncScripts(String projectUuid) { + var mapLoc = new File(this.config.getLocation()); + + // 扫描 mapLoc 目录下所有的文件夹,并且文件夹中包含有 project.json 文件存在,就讲她反序列化为 LccProject 对象 + if (!mapLoc.exists() || !mapLoc.isDirectory()) { + throw new RuntimeException( + String.format("LccMapService.getAllProjects() - mapLoc '%s' does not exist or is not a directory", mapLoc.getAbsolutePath()) + ); + } + + var scriptsDir = new File(mapLoc, projectUuid + "/scripts"); + if (!scriptsDir.exists()) { + log.warn("Script directory '{}' does not exist, returning empty script list.", scriptsDir.getAbsolutePath()); + return Lists.newArrayList(); // 如果脚本目录不存在,返回空列表 + } // 读取脚本文件夹内所有文件,返回给前端 List> scriptListNew = Lists.newArrayList();