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