From ac20dc99bf1f463365dba071973e08fffbd294b4 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 14 七月 2023 14:12:21 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/DirService.java |   80 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 70 insertions(+), 10 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 e12183d..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,10 +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,16 +23,19 @@
 @Service
 public class DirService implements DirMapper {
     @Autowired
+    PathHelper pathHelper;
+
+    @Autowired
     DirMapper dirMapper;
 
     @Override
-    public Integer insertDir(DirEntity dirEntity) {
-        return dirMapper.insertDir(dirEntity);
+    public Integer insert(DirEntity dirEntity) {
+        return dirMapper.insert(dirEntity);
     }
 
     @Override
-    public Integer insertDirs(List<DirEntity> dirEntity) {
-        return dirMapper.insertDirs(dirEntity);
+    public Integer inserts(List<DirEntity> dirEntity) {
+        return dirMapper.inserts(dirEntity);
     }
 
     @Override
@@ -39,18 +49,23 @@
     }
 
     @Override
-    public Integer updateDir(DirEntity dirEntity) {
-        return dirMapper.updateDir(dirEntity);
+    public Integer update(DirEntity dirEntity) {
+        return dirMapper.update(dirEntity);
     }
 
     @Override
-    public Integer updateDirs(List<DirEntity> dirEntity) {
-        return dirMapper.updateDirs(dirEntity);
+    public Integer updates(List<DirEntity> dirEntity) {
+        return dirMapper.updates(dirEntity);
     }
 
     @Override
     public DirEntity selectDir(int id) {
         return dirMapper.selectDir(id);
+    }
+
+    @Override
+    public DirEntity selectByCode(String code) {
+        return dirMapper.selectByCode(code);
     }
 
     @Override
@@ -64,7 +79,52 @@
     }
 
     @Override
-    public List<DirEntity> selectDirRecursive(String name) {
-        return dirMapper.selectDirRecursive(name);
+    public List<DirEntity> selectProject(String name) {
+        name = StringHelper.getLikeUpperStr(name);
+
+        return dirMapper.selectProject(name);
+    }
+
+    @Override
+    public List<DirEntity> selectRecursiveById(Integer id) {
+        return dirMapper.selectRecursiveById(id);
+    }
+
+    @Override
+    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