From 0450c74392c3adce708502cd54fa3436c4a79707 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 20 Sep 2024 15:18:38 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ModelsServiceImpl.java | 15 ++++++++---- .../com/ruoyi/platform/utils/DVCUtils.java | 4 +++- .../com/ruoyi/platform/utils/FileUtil.java | 24 +++++++++++++++++++ 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index 697ec04f..888c84de 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -596,7 +596,7 @@ public class ModelsServiceImpl implements ModelsService { String rootPath = localPath + ci4sUsername + "/model/" + gitlinIid + "/" + repositoryName; String modelPath = rootPath + "/model"; String metaPath = rootPath + "/metadata"; - String relatePath = ci4sUsername + "/model/" + gitlinIid + "/" + repositoryName+ "/model"; + String relatePath = ci4sUsername + "/model/" + gitlinIid + "/" + repositoryName + "/model"; dvcUtils.gitClone(rootPath, projectUrl, branchName, gitLinkUsername, gitLinkPassword); dvcUtils.moveFiles(sourcePath, modelPath); @@ -673,6 +673,10 @@ public class ModelsServiceImpl implements ModelsService { String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); +// String ci4sUsername = "admin"; +// String gitLinkUsername = "fanshuai"; +// String gitLinkPassword = "h1n2x3j4y5@"; + Map userInfo = getUserInfo(ci4sUsername, gitLinkUsername, gitLinkPassword); String repositoryName = modelsVo.getIdentifier() == null ? ci4sUsername + "_model_" + DateUtils.dateTimeNow() : modelsVo.getIdentifier(); @@ -688,7 +692,6 @@ public class ModelsServiceImpl implements ModelsService { String owner = (String) userInfo.get("login"); String projectUrl = gitendpoint + "/" + owner + "/" + repositoryName + ".git"; - String sourcePath = modelsVo.getModelVersionVos().get(0).getUrl(); String rootPath = localPath + ci4sUsername + "/model/" + modelsVo.getId() + "/" + repositoryName; String modelPath = rootPath + "/model"; String metaPath = rootPath + "/metadata"; @@ -702,7 +705,11 @@ public class ModelsServiceImpl implements ModelsService { dvcUtils.createLocalBranchBasedOnMaster(rootPath, branchName); //dvc checkout dvcUtils.dvcCheckout(rootPath); - dvcUtils.moveFiles(sourcePath, modelPath); + + if (modelsVo.getModelVersionVos().size() != 0) { + String sourcePath = modelsVo.getModelVersionVos().get(0).getUrl(); + dvcUtils.moveFiles(sourcePath, modelPath); + } //拼接生产的元数据后写入yaml文件 ModelMetaVo modelMetaVo = new ModelMetaVo(); @@ -772,7 +779,7 @@ public class ModelsServiceImpl implements ModelsService { // 构建objectName String username = SecurityUtils.getLoginUser().getUsername(); String fileName = file.getOriginalFilename(); - String path = localPath + "/temp/" + username + "/models/" + uuid; + String path = localPath + "temp/" + username + "/models/" + uuid; long sizeInBytes = file.getSize(); String formattedSize = FileUtil.formatFileSize(sizeInBytes); File targetFile = new File(path, file.getOriginalFilename()); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java index 795a2b0a..93d2a9db 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java @@ -73,6 +73,8 @@ public class DVCUtils { if (!Files.exists(targetDir)) { Files.createDirectories(targetDir); + } else { + FileUtil.deleteDir(targetPath); } Files.move(sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING); @@ -585,6 +587,6 @@ public class DVCUtils { } catch (Exception e) { log.error("Error occurred while getting file details after git pull", e); } - return null; + return new ArrayList<>(); } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java index f67cbf0d..d1894e8b 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java @@ -101,4 +101,28 @@ public class FileUtil { } return fileInfoList; } + + + public static boolean deleteDir(String path){ + File file = new File(path); + if(!file.exists()){//判断是否待删除目录是否存在 + System.err.println("文件夹不存在"); + return false; + } + + String[] content = file.list();//取得当前目录下所有文件和文件夹 + for(String name : content){ + File temp = new File(path, name); + if(temp.isDirectory()){//判断是否是目录 + deleteDir(temp.getAbsolutePath());//递归调用,删除目录里的内容 + temp.delete();//删除空目录 + }else{ + if(!temp.delete()){//直接删除文件 + System.err.println(name+":删除失败!"); + } + } + } + return true; + } + } From cee77d3b9383eabc77767fee64f6523508eea729 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 20 Sep 2024 15:22:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/platform/service/impl/ModelsServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index 40aa8810..18f91f0f 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -712,7 +712,10 @@ public class ModelsServiceImpl implements ModelsService { dvcUtils.dvcCheckout(rootPath); //干掉目标文件夹 dvcUtils.deleteDirectory(modelPath); - dvcUtils.moveFiles(sourcePath, modelPath); + if (modelsVo.getModelVersionVos().size() != 0) { + String sourcePath = modelsVo.getModelVersionVos().get(0).getUrl(); + dvcUtils.moveFiles(sourcePath, modelPath); + } if (modelsVo.getModelVersionVos().size() != 0) { String sourcePath = modelsVo.getModelVersionVos().get(0).getUrl(); From 0472fff7c033259a139ed2c3ea24ad7e3aa9ec8f Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 20 Sep 2024 15:24:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/platform/utils/DVCUtils.java | 2 -- .../com/ruoyi/platform/utils/FileUtil.java | 23 ------------------- 2 files changed, 25 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java index e9445a24..3e45fc32 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java @@ -73,8 +73,6 @@ public class DVCUtils { if (!Files.exists(targetDir)) { Files.createDirectories(targetDir); - } else { - FileUtil.deleteDir(targetPath); } Files.move(sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java index d1894e8b..12ff7de3 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java @@ -102,27 +102,4 @@ public class FileUtil { return fileInfoList; } - - public static boolean deleteDir(String path){ - File file = new File(path); - if(!file.exists()){//判断是否待删除目录是否存在 - System.err.println("文件夹不存在"); - return false; - } - - String[] content = file.list();//取得当前目录下所有文件和文件夹 - for(String name : content){ - File temp = new File(path, name); - if(temp.isDirectory()){//判断是否是目录 - deleteDir(temp.getAbsolutePath());//递归调用,删除目录里的内容 - temp.delete();//删除空目录 - }else{ - if(!temp.delete()){//直接删除文件 - System.err.println(name+":删除失败!"); - } - } - } - return true; - } - }