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