From 861f963ab4750c3efcc19d0d3abd60761ec399b7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 26 三月 2023 21:06:19 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/DirService.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/DirService.java b/src/main/java/com/lf/server/service/data/DirService.java
index 2ff7021..f435d3f 100644
--- a/src/main/java/com/lf/server/service/data/DirService.java
+++ b/src/main/java/com/lf/server/service/data/DirService.java
@@ -1,11 +1,17 @@
 package com.lf.server.service.data;
 
 import com.lf.server.entity.data.DirEntity;
+import com.lf.server.helper.PathHelper;
 import com.lf.server.helper.StringHelper;
+import com.lf.server.helper.Zip4jHelper;
 import com.lf.server.mapper.data.DirMapper;
+import net.lingala.zip4j.ZipFile;
+import net.lingala.zip4j.model.ZipParameters;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -16,6 +22,9 @@
 
 @Service
 public class DirService implements DirMapper {
+    @Autowired
+    PathHelper pathHelper;
+
     @Autowired
     DirMapper dirMapper;
 
@@ -85,4 +94,37 @@
     public List<DirEntity> selectDirsForPrj() {
         return dirMapper.selectDirsForPrj();
     }
+
+    /**
+     * 鍒涘缓鏁版嵁鐩綍
+     */
+    public String createDirs(int id) throws Exception {
+        List<DirEntity> list = selectRecursiveById(id);
+        if (null == list || list.isEmpty()) {
+            return null;
+        }
+
+        String tempPath = pathHelper.getTempPath();
+        for (DirEntity dir : list) {
+            String path = tempPath + File.separator + dir.getFullName();
+            File f = new File(path);
+            if (f.exists() && f.isDirectory()) {
+                continue;
+            }
+
+            f.mkdirs();
+        }
+
+        File file = new File(tempPath + File.separator + list.get(0).getName());
+        if (!file.exists() || !file.isDirectory()) {
+            file.mkdirs();
+        }
+
+        String zipFile = tempPath + File.separator + list.get(0).getName() + ".zip";
+        ZipFile zip = Zip4jHelper.createZipFile(zipFile, null);
+        ZipParameters params = Zip4jHelper.getZipParams(false);
+        zip.addFolder(file, params);
+
+        return zipFile;
+    }
 }

--
Gitblit v1.9.3