Browse Source

运行脚本 / 停止脚本 / 保存 / 拉取

master
修宁 5 months ago
parent
commit
97ffefebf9
  1. 19
      servo/src/main/java/com/yvan/workbench/controller/LccController.java
  2. 21
      servo/src/main/java/com/yvan/workbench/service/LccMapService.java

19
servo/src/main/java/com/yvan/workbench/controller/LccController.java

@ -94,7 +94,7 @@ public class LccController {
return R.success(agvStatusList); return R.success(agvStatusList);
} }
public static R<?> saveAndSyncScripts(@RequestBody Map<String, Object> params) { public static R<?> saveScripts(@RequestBody Map<String, Object> params) {
String projectUuid = Conv.asString(params.get("projectUUID")); String projectUuid = Conv.asString(params.get("projectUUID"));
List<Map<String, Object>> scriptList = (List<Map<String, Object>>) (params.get("scriptList")); List<Map<String, Object>> scriptList = (List<Map<String, Object>>) (params.get("scriptList"));
@ -104,7 +104,22 @@ public class LccController {
// 保存脚本内容到文件系统 // 保存脚本内容到文件系统
var mapService = SpringContext.HOLDER.getBean(LccMapService.class); 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<String, Object> params) {
String projectUuid = Conv.asString(params.get("projectUUID"));
List<Map<String, Object>> scriptList = (List<Map<String, Object>>) (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); return R.success(list);
} }

21
servo/src/main/java/com/yvan/workbench/service/LccMapService.java

@ -261,9 +261,7 @@ public class LccMapService {
} }
return list; return list;
} }
public void saveScripts(String projectUuid, List<Map<String, Object>> scriptList) {
public List<Map<String, String>> saveAndSyncScripts(String projectUuid, List<Map<String, Object>> scriptList) {
var mapLoc = new File(this.config.getLocation()); var mapLoc = new File(this.config.getLocation());
// 扫描 mapLoc 目录下所有的文件夹,并且文件夹中包含有 project.json 文件存在,就讲她反序列化为 LccProject 对象 // 扫描 mapLoc 目录下所有的文件夹,并且文件夹中包含有 project.json 文件存在,就讲她反序列化为 LccProject 对象
@ -295,6 +293,23 @@ public class LccMapService {
File scriptFile = new File(scriptsDir, name + ".ts"); File scriptFile = new File(scriptsDir, name + ".ts");
LccUtils.saveFile(scriptFile, content, "script"); LccUtils.saveFile(scriptFile, content, "script");
} }
}
public List<Map<String, String>> 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<Map<String, String>> scriptListNew = Lists.newArrayList(); List<Map<String, String>> scriptListNew = Lists.newArrayList();

Loading…
Cancel
Save