管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-02-04 f65a05ff45c7117ef08f666428f05223b465fd59
src/main/java/com/lf/server/service/all/UploadAttachService.java
@@ -10,10 +10,7 @@
import com.lf.server.entity.data.MetaFileEntity;
import com.lf.server.entity.sys.AttachEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.FileHelper;
import com.lf.server.helper.PathHelper;
import com.lf.server.helper.StringHelper;
import com.lf.server.helper.WebHelper;
import com.lf.server.helper.*;
import com.lf.server.service.sys.AttachService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -169,17 +166,79 @@
    /**
     * 上传Excel附件
     */
    public Map<String, Integer> uploadXlsAnnex(List<MetaEntity> ms, List<MetaFileEntity> list) {
    public Map<String, Integer> uploadXlsAnnex(List<MetaEntity> ms, List<MetaFileEntity> list, String path) {
        Map<String, Integer> map = new HashMap<>(3);
        for (MetaEntity me:ms) {
        }
        List<String> files = getAttachFiles(list, path);
        return map;
    }
    private void getAttachFiles(List<MetaFileEntity> list){
    /**
     * 获取附件文件
     */
    private List<String> getAttachFiles(List<MetaFileEntity> list, String path) {
        List<String> files = new ArrayList<>();
        for (MetaFileEntity mf : list) {
            if (mf.getName().contains(StaticData.ZIP)) {
                List<String> subs = getZipFiles(mf, path);
                if (null == subs || subs.size() > 0) {
                    files.addAll(subs);
                }
                continue;
            }
            files.add(mf.getPath());
        }
        return files;
    }
    /**
     * 获取zip中的文件
     */
    private List<String> getZipFiles(MetaFileEntity mf, String path) {
        File file = new File(mf.getPath());
        if (!file.exists() || file.isDirectory()) {
            return null;
        }
        File zipFolder = new File(pathHelper.getConfig().getTempPath() + File.separator + path + "_zip");
        if (!zipFolder.exists() || !zipFolder.isDirectory()) {
            zipFolder.mkdirs();
        }
        String subPath = zipFolder + File.separator + mf.getName().toLowerCase().replace(".zip", "");
        ZipHelper.unzip(mf.getPath(), subPath);
        List<String> files = new ArrayList<>();
        getFilesByPath(files, subPath);
        return files;
    }
    /**
     * 根据路径获取文件
     */
    private void getFilesByPath(List<String> list, String path) {
        File file = new File(path);
        if (!file.isDirectory()) {
            list.add(file.getPath());
            return;
        }
        File[] files = file.listFiles();
        if (null == files) {
            return;
        }
        for (File f : files) {
            if (f.isDirectory()) {
                getFilesByPath(list, f.getPath());
            } else {
                list.add(f.getPath());
            }
        }
    }
}