From df9b5941f4e4f59f56b3234942f810f83c99b501 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 25 五月 2023 16:33:54 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/show/DataLibService.java | 78 +++++---------------------------------- 1 files changed, 10 insertions(+), 68 deletions(-) diff --git a/src/main/java/com/lf/server/service/show/DataLibService.java b/src/main/java/com/lf/server/service/show/DataLibService.java index 11a542f..8ef4765 100644 --- a/src/main/java/com/lf/server/service/show/DataLibService.java +++ b/src/main/java/com/lf/server/service/show/DataLibService.java @@ -1,7 +1,6 @@ package com.lf.server.service.show; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.lf.server.entity.all.BaseEntity; import com.lf.server.entity.ctrl.DownloadReqEntity; import com.lf.server.entity.data.DownloadEntity; import com.lf.server.entity.sys.AttachEntity; @@ -11,7 +10,7 @@ import com.lf.server.mapper.all.GeomBaseMapper; import com.lf.server.mapper.data.DownloadMapper; import com.lf.server.service.all.BaseQueryService; -import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.MetaService; import net.lingala.zip4j.ZipFile; import net.lingala.zip4j.model.ZipParameters; import org.apache.commons.logging.Log; @@ -20,7 +19,6 @@ import org.springframework.stereotype.Service; import java.io.File; -import java.io.FileInputStream; import java.util.*; /** @@ -33,10 +31,10 @@ PathHelper pathHelper; @Autowired - DownloadMapper downloadMapper; + MetaService metaService; @Autowired - DownloadService downloadService; + DownloadMapper downloadMapper; @Autowired BaseQueryService baseQueryService; @@ -67,9 +65,7 @@ QueryWrapper wrapper = getWrapper4DbOverflow(ue, dr); Integer srid = baseQueryService.getSrid(baseMapper); - if (null != srid) { - wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", dr.getWkt(), srid)); - } + wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", dr.getWkt(), srid)); List<String> ids = baseMapper.selectObjs(wrapper); addDepCodes(rs, ids); @@ -165,7 +161,7 @@ ZipParameters params = Zip4jHelper.getZipParams(true); zip.addFolder(new File(gdbPath), params); // zip.addFolder(new File(annexPath), params) - addAnnex(zip, params, annexMap); + metaService.addAnnex(zip, params, annexMap); String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())); DownloadEntity de = getDownloadEntity(ue, zipFile, dbPwd); @@ -186,34 +182,7 @@ } QueryWrapper wrapper = createQueryWrapper(baseMapper, dr); - List list = baseMapper.selectList(wrapper); - if (null == list || list.size() == 0) { - continue; - } - - if (!dataMap.containsKey(entity)) { - dataMap.put(entity, list); - } else { - dataMap.get(entity).addAll(list); - } - if (wrapper.isEmptyOfWhere()) { - wrapper.apply("1 = 1"); - } - if ("bborehole".equals(entity)) { - wrapper.last("limit 100"); - } - - String tab = BaseQueryService.getTabName(baseMapper); - List<AttachEntity> annex = baseMapper.selectAnnex(tab, wrapper); - if (null == annex || annex.isEmpty()) { - continue; - } - - if (!annexMap.containsKey(entity)) { - annexMap.put(tab.replace(".", "_"), annex); - } else { - annexMap.get(tab.replace(".", "_")).addAll(annex); - } + metaService.addData(entity, baseMapper, wrapper, dataMap, annexMap); } catch (Exception ex) { log.error(ex.getMessage(), ex); } @@ -234,10 +203,10 @@ // wrapper.apply(String.format("depid like '%s'", StringHelper.getRightLike(dr.getDepcode()))) wrapper.likeRight("depid", dr.getDepcode()); } - if (baseMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(dr.getWkt())) { + if (baseMapper instanceof GeomBaseMapper) { wrapper.select("ST_AsText(geom) as geom, *"); - Integer srid = baseQueryService.getSrid((GeomBaseMapper) baseMapper); - if (null != srid) { + if (!StringHelper.isEmpty(dr.getWkt())) { + Integer srid = baseQueryService.getSrid((GeomBaseMapper) baseMapper); wrapper.apply(String.format("ST_Intersects(ST_PolygonFromText('%s', %d), geom)", dr.getWkt(), srid)); } } @@ -287,39 +256,12 @@ } /** - * 娣诲姞闄勪欢 - */ - public void addAnnex(ZipFile zip, ZipParameters params, Map<String, List<AttachEntity>> annexMap) { - List<String> files = new ArrayList<>(); - String uploadPath = pathHelper.getConfig().getUploadPath(); - for (String key : annexMap.keySet()) { - for (AttachEntity ae : annexMap.get(key)) { - try { - File srcFile = new File(uploadPath + File.separator + ae.getPath()); - if (!srcFile.exists() || srcFile.isDirectory()) { - continue; - } - if (files.contains(srcFile.getPath())) { - continue; - } - - files.add(srcFile.getPath()); - params.setFileNameInZip("annex" + File.separator + key + File.separator + ae.getName()); - zip.addStream(new FileInputStream(srcFile), params); - } catch (Exception ex) { - log.error(ex.getMessage(), ex); - } - } - } - } - - /** * 鑾峰彇涓嬭浇瀹炰綋绫� */ private DownloadEntity getDownloadEntity(UserEntity ue, String file, String pwd) { DownloadEntity de = new DownloadEntity(); de.setName(FileHelper.getFileName(file)); - // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡 + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 de.setType(4); de.setSizes(FileHelper.sizeToMb(new File(file).length())); de.setDepid(ue.getDepid()); -- Gitblit v1.9.3