diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java index 4532b13ce..01d07c3b3 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java @@ -96,6 +96,16 @@ public class GeneratorController { return R.ok(); } + /** + * 检测生成路径是否存在 + * @param path 待检测路径 + * @return true 表示路径存在且为目录 + */ + @GetMapping("/check-path") + public R checkPath(String path) { + return R.ok(generatorService.checkPath(path)); + } + /** * 预览代码 * @param tableId 表ID diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java index 0ae7d832d..60eb9469a 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java @@ -73,4 +73,12 @@ public interface GeneratorService { * @param tableId 表ID */ void syncRouteAndMenu(Long tableId); + + /** + * 检测生成路径是否为已存在目录 + * + * @param path 待检测路径 + * @return true 表示路径存在且为目录 + */ + boolean checkPath(String path); } diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java index de1c74778..e8577cfdf 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java @@ -281,6 +281,26 @@ public class GeneratorServiceImpl implements GeneratorService { syncRoute(table); } + /** + * 检测生成路径是否为已存在目录 + * + * @param path 待检测路径 + * @return true 表示路径存在且为目录 + */ + @Override + public boolean checkPath(String path) { + if (StrUtil.isBlank(path)) { + throw new CheckedException("路径无效"); + } + + String normalizedPath = FileUtil.normalize(path); + if (StrUtil.isBlank(normalizedPath)) { + throw new CheckedException("路径无效"); + } + + return FileUtil.isDirectory(normalizedPath); + } + /** * 同步菜单,同步按钮 *