管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-02-27 f15294cf82b71dfbf75d0821dd8eb13d14a9d936
src/main/java/com/lf/server/service/all/BaseUploadService.java
@@ -45,7 +45,7 @@
    /**
     * 上传文件
     */
    public <T> List<MetaFileEntity> uploadData(T t, String path, HttpServletRequest req, HttpServletResponse res) throws Exception {
    public <T> List<MetaFileEntity> uploadData(T t, String path, boolean isGetGuid, HttpServletRequest req, HttpServletResponse res) throws Exception {
        StandardMultipartHttpServletRequest request = (StandardMultipartHttpServletRequest) req;
        req.setCharacterEncoding("utf-8");
        res.setContentType("application/json;charset=utf-8");
@@ -54,7 +54,7 @@
            setEntity(t, request);
        }
        return getFiles(path, request);
        return getFiles(path, isGetGuid, request);
    }
    /**
@@ -97,7 +97,7 @@
    /**
     * 获取文件
     */
    public List<MetaFileEntity> getFiles(String subPath, StandardMultipartHttpServletRequest req) throws Exception {
    public List<MetaFileEntity> getFiles(String subPath, boolean isGetGuid, StandardMultipartHttpServletRequest req) throws Exception {
        List<MetaFileEntity> list = new ArrayList<>();
        String path = pathHelper.getTempPath(subPath);
@@ -116,7 +116,9 @@
            mf.setPath(path + File.separator + mf.getName());
            file.transferTo(new File(mf.getPath()));
            mf.setGuid(FileHelper.getFileMd5(mf.getPath()));
            if (isGetGuid) {
                mf.setGuid(FileHelper.getFileMd5(mf.getPath()));
            }
            list.add(mf);
        }
@@ -194,11 +196,11 @@
        }
        List<MetaFileEntity> list = new ArrayList<>();
        List<DirEntity> dirs = dirService.selectDirRecursive(dir.getName());
        List<DirEntity> dirs = dirService.selectRecursiveById(dir.getId());
        for (MetaFileEntity meta : metas) {
            meta.setEventid(StringHelper.getGuid());
            meta.setDirid(dir.getId());
            meta.setDepid(ue.getDepid());
            meta.setDircode(dir.getCode());
            meta.setDepcode(ue.getDepcode());
            meta.setVerid(ver.getId());
            meta.setCreateUser(ue.getId());
            meta.setEpsgCode(epsgCode);
@@ -290,14 +292,14 @@
            String fileName = FileHelper.getFileName(f.getPath());
            String extName = FileHelper.getExtension(fileName);
            if (!StaticData.ALL_EXTENSION.contains(extName)) {
            if (!StaticData.ALL_EXTENSION.contains(extName) || fileName.startsWith("~")) {
                continue;
            }
            int dirid = getDirByPath(f.getPath(), fileName, dir, dirs);
            String dircode = getDirByPath(f.getPath(), fileName, dir, dirs);
            boolean isShp = StaticData.SHP.equals(extName);
            if (isGdb) {
                List<MetaFileEntity> rs = getGdbMappers(f, meta, dirid, start);
                List<MetaFileEntity> rs = getGdbMappers(f, meta, dircode, start);
                if (null != rs && rs.size() > 0) {
                    list.addAll(rs);
                }
@@ -305,7 +307,7 @@
            }
            MetaFileEntity mf = createMetaFileEntity(meta);
            mf.setDirid(dirid);
            mf.setDircode(dircode);
            mf.setEventid(StringHelper.getGuid());
            mf.setName(fileName);
            mf.setExtName(extName);
@@ -313,7 +315,7 @@
            if (isShp) {
                List<String> shpFiles = getShpFiles(f.getPath());
                mf.setTab(fileName);
                mf.setTab(fileName.replace(StaticData.SHP, ""));
                mf.setSizes(getFilesSize(shpFiles));
                mf.setGuid(getFilesMd5(shpFiles));
            } else {
@@ -331,8 +333,8 @@
     */
    private MetaFileEntity createMetaFileEntity(MetaFileEntity meta) {
        MetaFileEntity mf = new MetaFileEntity();
        mf.setDirid(meta.getDirid());
        mf.setDepid(meta.getDepid());
        mf.setDircode(meta.getDircode());
        mf.setDepcode(meta.getDepcode());
        mf.setVerid(meta.getVerid());
        mf.setCreateUser(meta.getCreateUser());
        mf.setEpsgCode(meta.getEpsgCode());
@@ -343,27 +345,29 @@
    /**
     * 根据文件路径获取目录ID
     */
    private int getDirByPath(String filePath,String fileName, DirEntity dir, List<DirEntity> dirs) {
    private String getDirByPath(String filePath,String fileName, DirEntity dir, List<DirEntity> dirs) {
        if (0 != dir.getPid() || null == dirs || dirs.isEmpty()) {
            return dir.getId();
            return dir.getCode();
        }
        if (StaticData.SLASH.equals(File.separator)) {
            filePath = filePath.replace("/", "\\");
        }
        fileName = fileName.toLowerCase();
        filePath = filePath.toLowerCase();
        for (DirEntity entity : dirs) {
            if (filePath.contains(entity.getFullName() + "\\" + fileName)) {
                return entity.getId();
            if (filePath.contains(entity.getFullName().toLowerCase() + "\\" + fileName)) {
                return entity.getCode();
            }
        }
        return dir.getId();
        return dir.getCode();
    }
    /**
     * 获取SHP文件集合
     */
    private  List<String> getShpFiles(String shpPath) {
    private List<String> getShpFiles(String shpPath) {
        List<String> list = new ArrayList<>();
        list.add(shpPath);
@@ -434,7 +438,7 @@
    /**
     * 获取GDB文件映射
     */
    private List<MetaFileEntity> getGdbMappers(File f, MetaFileEntity meta, int dirid, int start) {
    private List<MetaFileEntity> getGdbMappers(File f, MetaFileEntity meta, String dircode, int start) {
        List<String> tabs = GdbHelper.getTabNames(f.getPath());
        if (null == tabs || tabs.size() == 0) {
            return null;
@@ -450,7 +454,7 @@
        List<MetaFileEntity> list = new ArrayList<>();
        for (String tab : tabs) {
            MetaFileEntity mf = createMetaFileEntity(meta);
            mf.setDirid(dirid);
            mf.setDircode(dircode);
            mf.setEventid(StringHelper.getGuid());
            mf.setName(fileName);
            mf.setExtName(extName);
@@ -497,12 +501,22 @@
    }
    /**
     * 处理目录
     */
    public void copePath(List<MetaFileEntity> list) {
        String basePath = pathHelper.getConfig().getTempPath() + File.separator;
        for (MetaFileEntity mf : list) {
            mf.setPath(mf.getPath().replace(basePath, ""));
        }
    }
    /**
     * 获取参数 *
     * Enumeration<String> headers = req.getHeaderNames();
     * Enumeration<String> attributes = req.getAttributeNames();
     */
    public Map<String, String> getParams(StandardMultipartHttpServletRequest req) {
        Map<String, String> map = new HashMap<String, String>(3);
        Map<String, String> map = new HashMap<>(3);
        Enumeration<String> enumeration = req.getParameterNames();
        while (enumeration.hasMoreElements()) {