From f29bb734a2e2b4cd32824d7237cb0fd58f2e5c7f Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 13 Sep 2024 14:48:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=85=83=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=EF=BC=8C?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=A4=A7=E5=B0=8F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/service/impl/ModelsServiceImpl.java | 8 ++++++++ .../java/com/ruoyi/platform/utils/FileUtil.java | 16 ++++++++++++++++ .../java/com/ruoyi/platform/vo/ModelMetaVo.java | 6 ++++++ 3 files changed, 30 insertions(+) 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 e05e1086..281d9943 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 @@ -601,6 +601,7 @@ public class ModelsServiceImpl implements ModelsService { BeanUtils.copyProperties(modelsVo, modelMetaVo); modelMetaVo.setId(gitlinIid); modelMetaVo.setCreateBy(String.valueOf(StringUtils.isNotEmpty((String) userInfo.get("nickname")) ? userInfo.get("nickname") : userInfo.get("login"))); + modelMetaVo.setCreateTime(DateUtils.getTime()); modelMetaVo.setUpdateTime(DateUtils.getTime()); modelMetaVo.setUsage("
" +
                     "# 克隆模型配置文件与存储参数到本地\n" +
@@ -612,6 +613,9 @@ public class ModelsServiceImpl implements ModelsService {
             modelMetaVo.setOwner(owner);
             modelMetaVo.setVersionDesc(modelMetaVo.getDescription());
             modelMetaVo.setRelativePaths(relatePath);
+            File folder = new File(modelPath);
+            long folderSize = FileUtil.getFolderSize(folder);
+            modelMetaVo.setModelSize(FileUtil.formatFileSize(folderSize));
 
             Map metaMap = JsonUtils.objectToMap(modelMetaVo);
             YamlUtils.generateYamlFile(metaMap, metaPath, "metadata");
@@ -695,6 +699,7 @@ public class ModelsServiceImpl implements ModelsService {
             ModelMetaVo modelMetaVo = new ModelMetaVo();
             BeanUtils.copyProperties(modelsVo, modelMetaVo);
             modelMetaVo.setCreateBy(String.valueOf(StringUtils.isNotEmpty((String) userInfo.get("nickname")) ? userInfo.get("nickname") : userInfo.get("login")));
+            modelMetaVo.setCreateTime(DateUtils.getTime());
             modelMetaVo.setUpdateTime(DateUtils.getTime());
             modelMetaVo.setUsage("
" +
                     "# 克隆模型配置文件与存储参数到本地\n" +
@@ -708,6 +713,9 @@ public class ModelsServiceImpl implements ModelsService {
             modelMetaVo.setModelTag(oldModelVo.getModelTag());
             modelMetaVo.setModelType(oldModelVo.getModelType());
             modelMetaVo.setRelativePaths(relatePath);
+            File folder = new File(modelPath);
+            long folderSize = FileUtil.getFolderSize(folder);
+            modelMetaVo.setModelSize(FileUtil.formatFileSize(folderSize));
 
             Map metaMap = JsonUtils.objectToMap(modelMetaVo);
             YamlUtils.generateYamlFile(metaMap, metaPath, "metadata");
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 c70b223a..58e7d84b 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
@@ -44,5 +44,21 @@ public class FileUtil {
     }
 
 
+    public static long getFolderSize(File folder) {
+        long size = 0;
+        File[] files = folder.listFiles(); // 获取文件夹下所有文件和子目录
 
+        if (files != null) {
+            for (File file : files) {
+                if (file.isFile()) {
+                    // 如果是文件,则累加其大小
+                    size += file.length();
+                } else if (file.isDirectory()) {
+                    // 如果是子目录,则递归计算其大小
+                    size += getFolderSize(file);
+                }
+            }
+        }
+        return size;
+    }
 }
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java
index f39e79e2..589255f7 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelMetaVo.java
@@ -29,9 +29,15 @@ public class ModelMetaVo implements Serializable {
     @ApiModelProperty(value = "创建人")
     private String createBy;
 
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
+
     @ApiModelProperty(value = "更新时间")
     private String updateTime;
 
+    @ApiModelProperty(value = "模型大小")
+    private String modelSize;
+
     @ApiModelProperty(value = "训练镜像")
     private String image;