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();