From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/service/data/MetaService.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 96 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lf/server/service/data/MetaService.java b/src/main/java/com/lf/server/service/data/MetaService.java index f866833..3b81ffc 100644 --- a/src/main/java/com/lf/server/service/data/MetaService.java +++ b/src/main/java/com/lf/server/service/data/MetaService.java @@ -66,6 +66,11 @@ } @Override + public List<MetaEntity> selectGdbByGuid(String guid) { + return metaMapper.selectGdbByGuid(guid); + } + + @Override public Integer selectMetasForCount(String depcode, String dirs, String name) { depcode = StringHelper.getRightLike(depcode); name = StringHelper.getLikeUpperStr(name); @@ -125,6 +130,11 @@ } @Override + public List<MetaEntity> selectByIds(String ids) { + return metaMapper.selectByIds(ids); + } + + @Override public List<MetaEntity> selectMetaFiles(List<Integer> ids) { return metaMapper.selectMetaFiles(ids); } @@ -146,6 +156,11 @@ depcode = StringHelper.getRightLike(depcode); return metaMapper.selectMetaOverflowDep(ids, depcode); + } + + @Override + public Integer selectCountByPath(String path) { + return metaMapper.selectCountByPath(path); } @Override @@ -178,14 +193,18 @@ */ public Integer deletes(List<Integer> list) { String ids = StringHelper.join(list, ","); + List<MetaEntity> metas = selectByIds(ids); String sql = null; - List<MetaEntity> metas = selectByIdsForTab(ids); - if (null != metas && metas.size() > 0) { - sql = getDelTabsSql(metas); + List<MetaEntity> tabMetas = selectByIdsForTab(ids); + if (null != tabMetas && tabMetas.size() > 0) { + sql = getDelTabsSql(tabMetas); } - return deletes(sql, ids); + int rows = deletes(sql, ids); + deleteMetaFiles(metas); + + return rows; } /** @@ -239,6 +258,9 @@ if (str.contains("bs.s_explorationpoint ")) { list.add(str.replace("bs.s_explorationpoint ", "bs.s_surveyworksite ")); } + if (str.contains("bs.m_surface_deformation_data ")) { + list.add(str.replace("bs.m_surface_deformation_data ", "bs.m_surface_deformation_data_date ")); + } i++; } @@ -257,6 +279,75 @@ list.add(String.format("delete from lf.sys_attach where tab='%s' and tab_guid in (%s)", tab, select)); i++; + } + } + + /** + * 鍒犻櫎鍏冩暟鎹枃浠� + */ + private void deleteMetaFiles(List<MetaEntity> metas) { + String uploadPath = pathHelper.getConfig().getUploadPath(); + for (MetaEntity meta : metas) { + if (StringHelper.isEmpty(meta.getPath())) { + continue; + } + Integer rows = selectCountByPath(meta.getPath()); + if (rows > 0) { + continue; + } + + try { + String file = uploadPath + File.separator + meta.getPath(); + switch ("." + meta.getType()) { + case StaticData.MPT: + deleteFiles(file, meta.getType(), StaticData.MPT_EXT); + break; + case StaticData.JPG: + deleteFiles(file, meta.getType(), StaticData.JPG_EXT); + break; + case StaticData.IMG: + deleteFiles(file, meta.getType(), StaticData.IMG_EXT); + break; + case StaticData.TIF: + deleteFiles(file, meta.getType(), StaticData.TIF_EXT); + break; + case StaticData.TIFF: + deleteFiles(file, meta.getType(), StaticData.TIFF_EXT); + break; + case StaticData.SHP: + deleteFiles(file, meta.getType(), StaticData.SHP_EXT); + break; + case StaticData.GDB: + case StaticData.OSGB: + FileHelper.deleteDir(file); + break; + default: + deleteFiles(file, meta.getType(), null); + break; + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + } + } + + /** + * 鍒犻櫎澶氫釜鏂囦欢 + */ + private void deleteFiles(String file, String type, List<String> extList) { + File f = new File(file); + if (f.exists() && !f.isDirectory()) { + f.delete(); + } + if (null == extList || extList.isEmpty()) { + return; + } + + for (String ext : extList) { + f = new File(file.replace("." + type, ext)); + if (f.exists() && !f.isDirectory()) { + f.delete(); + } } } @@ -511,6 +602,7 @@ break; case StaticData.JPG: addMultiFile(uploadPath, mf, zip, params, StaticData.JPG_EXT); + break; case StaticData.IMG: addMultiFile(uploadPath, mf, zip, params, StaticData.IMG_EXT); break; -- Gitblit v1.9.3