From 1ea11926b07d1c0ff58d5d96a356e5810ceda45a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 19 十一月 2022 17:36:56 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/data/DataLoaderService.java | 97 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 75 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/lf/server/service/data/DataLoaderService.java b/src/main/java/com/lf/server/service/data/DataLoaderService.java index 253c238..5633bf2 100644 --- a/src/main/java/com/lf/server/service/data/DataLoaderService.java +++ b/src/main/java/com/lf/server/service/data/DataLoaderService.java @@ -30,37 +30,29 @@ try { String temp = pathHelper.getConfig().getTempPath(); String root = pathHelper.getUploadFullPath(); + String uploadPath = pathHelper.getConfig().getUploadPath(); for (MetaFileEntity mf : list) { - // 绉诲姩鏂囦欢 - File file = new File(temp + File.separator + mf.getPath()); - File newFile = new File(root + File.separator + mf.getGuid()); - - MetaFileEntity old = metaFileService.selectByGuid(mf.getGuid()); - String filePath = null; - if (null == old) { - filePath = newFile.getPath(); - file.renameTo(newFile); - } else { - filePath = old.getPath(); - file.delete(); + String filePath = getFilePath(temp, root, mf); + if (null == filePath) { + continue; } // 鍏冩暟鎹� - MetaEntity me = createMetaEntity(entity); - me.setName(mf.getName()); - me.setSizes(mf.getSizes()); - + MetaEntity me = createMetaEntity(entity, mf); Integer rows = metaService.insert(me); if (rows < 1) { continue; } // 鍏冩暟鎹枃浠� - MetaFileEntity mef = createMetaFileEntity(mf, entity); - mef.setPath(FileHelper.getRelativePath(filePath)); + MetaFileEntity mfe = createMetaFileEntity(entity, mf, filePath); + rows = metaFileService.insert(mfe); + if (rows < 1) { + continue; + } - rows = metaFileService.insert(mef); + rows = insertDb(mfe, uploadPath); if (rows > 0) { count++; } @@ -73,17 +65,48 @@ } /** + * 鑾峰彇鏂囦欢璺緞 + */ + private String getFilePath(String temp, String root, MetaFileEntity mf) { + // 绉诲姩鏂囦欢 + File file = new File(temp + File.separator + mf.getPath()); + File newFile = new File(root + File.separator + mf.getGuid()); + + // 鏂囦欢绫诲瀷 + String metaType = getType(mf.getName().toLowerCase()); + if (null == metaType) { + file.delete(); + return null; + } + + MetaFileEntity old = metaFileService.selectByGuid(mf.getGuid()); + + String filePath = null; + if (null == old) { + filePath = newFile.getPath(); + file.renameTo(newFile); + } else { + filePath = old.getPath(); + file.delete(); + } + + return filePath; + } + + /** * 鍒涘缓鍏冩暟鎹疄浣� */ - private MetaEntity createMetaEntity(MetaEntity entity) { + private MetaEntity createMetaEntity(MetaEntity entity, MetaFileEntity mf) { MetaEntity me = new MetaEntity(); me.setDepid(entity.getDepid()); me.setDirid(entity.getDirid()); me.setVerid(entity.getVerid()); - me.setType("file"); + me.setType(getType(entity.getName().toLowerCase())); me.setGather(entity.getGather()); me.setBatch(entity.getBatch()); me.setDescr(entity.getDescr()); + me.setName(mf.getName()); + me.setSizes(mf.getSizes()); me.setCreateTime(entity.getCreateTime()); me.setCreateUser(entity.getCreateUser()); @@ -93,15 +116,45 @@ /** * 鍒涘缓鍏冩暟鎹枃浠跺疄浣� */ - private MetaFileEntity createMetaFileEntity(MetaFileEntity entity, MetaEntity metaEntity) { + private MetaFileEntity createMetaFileEntity(MetaEntity metaEntity, MetaFileEntity entity, String filePath) { MetaFileEntity mfe = new MetaFileEntity(); mfe.setName(entity.getName()); mfe.setMetaid(metaEntity.getId()); mfe.setGuid(entity.getGuid()); mfe.setSizes(entity.getSizes()); + mfe.setPath(FileHelper.getRelativePath(filePath)); mfe.setCreateUser(metaEntity.getCreateUser()); mfe.setCreateTime(metaEntity.getCreateTime()); return mfe; } + + /** + * 鑾峰彇鏂囦欢绫诲瀷 + */ + private String getType(String name) { + if (name.contains(".xls")) { + return "xls"; + } + if (name.contains(".mdb")) { + return "mdb"; + } + if (name.contains(".shp")) { + return "shp"; + } + if (name.contains(".gdb")) { + return "gdb"; + } + + return null; + } + + /** + * 鎻掑叆鏁版嵁搴� + */ + private Integer insertDb(MetaFileEntity mfe, String root) { + + + return 0; + } } -- Gitblit v1.9.3