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);
}
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"));
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 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);
}

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

@ -261,9 +261,7 @@ public class LccMapService {
}
return list;
}
public List<Map<String, String>> saveAndSyncScripts(String projectUuid, List<Map<String, Object>> scriptList) {
public void saveScripts(String projectUuid, List<Map<String, Object>> 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<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();

Loading…
Cancel
Save