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/show/MarkService.java | 61 +++++++++++++++++------------- 1 files changed, 35 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/lf/server/service/show/MarkService.java b/src/main/java/com/lf/server/service/show/MarkService.java index 77907a3..a5ab635 100644 --- a/src/main/java/com/lf/server/service/show/MarkService.java +++ b/src/main/java/com/lf/server/service/show/MarkService.java @@ -1,7 +1,9 @@ package com.lf.server.service.show; +import com.lf.server.entity.all.StaticData; import com.lf.server.entity.ctrl.MarkJsonEntity; import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.show.MarkEntity; import com.lf.server.entity.sys.UserEntity; @@ -88,23 +90,21 @@ * * @param ue 鐢ㄦ埛瀹炰綋 * @param list 鏍囩粯JSON瀹炰綋绫婚泦鍚� - * @param req 璇锋眰 - * @param res 鍝嶅簲 * @return GUID * @throws Exception 寮傚父 */ - public String downloadShp(UserEntity ue, List<MarkJsonEntity> list, HttpServletRequest req, HttpServletResponse res) throws Exception { - String parent = pathHelper.getTempPath(ue.getId()); + public String downloadShp(UserEntity ue, List<MarkJsonEntity> list) throws Exception { + String path = pathHelper.getTempPath(); + createShapeFiles(ue, list, path); - String path = createShapeFiles(ue, list, parent); File[] files = new File(path).listFiles(); if (files == null || files.length == 0) { return null; } - String zip = getZip(); - ZipHelper.zip(zip, parent); - FileHelper.deleteDir(parent); + String zip = getZipPath(); + ZipHelper.zip(zip, path); + FileHelper.deleteDir(path); String guid = FileHelper.getFileMd5(zip); DownloadEntity entity = downloadService.selectByGuid(guid); @@ -118,27 +118,31 @@ return rows > 0 ? de.getGuid() : null; } - private String createShapeFiles(UserEntity ue, List<MarkJsonEntity> list, String parent) { - String path = getShpDir(ue, parent); - + /** + * 鍒涘缓shp鏂囦欢 + */ + private String createShapeFiles(UserEntity ue, List<MarkJsonEntity> list, String path) { List<MarkJsonEntity> points = getMarkByType(list, "POINT"); if (points.size() > 0) { - String pointFile = ShpHelper.createShp(points, path, "POINT"); + ShpHelper.createShp(points, path, "POINT"); } List<MarkJsonEntity> lines = getMarkByType(list, "LINESTRING"); if (lines.size() > 0) { - String lineFile = ShpHelper.createShp(lines, path, "LINESTRING"); + ShpHelper.createShp(lines, path, "LINESTRING"); } List<MarkJsonEntity> polygons = getMarkByType(list, "POLYGON"); if (polygons.size() > 0) { - String polygonFile = ShpHelper.createShp(polygons, path, "POLYGON"); + ShpHelper.createShp(polygons, path, "POLYGON"); } return path; } + /** + * 鑾峰彇shp鐩綍 + */ private String getShpDir(UserEntity ue, String parent) { - String path = parent + File.separator + WebHelper.getRandomInt(100000, 1000000); + String path = parent + File.separator + StringHelper.YMDHMS2_FORMAT.format(new Date()); File file = new File(path); if (!file.exists() && !file.isDirectory()) { @@ -148,13 +152,16 @@ return path; } + /** + * 鑾峰彇鏍囩粯绫诲瀷 + */ private List<MarkJsonEntity> getMarkByType(List<MarkJsonEntity> list, String type) { - List<MarkJsonEntity> rs = new ArrayList<MarkJsonEntity>(); + List<MarkJsonEntity> rs = new ArrayList<>(); for (MarkJsonEntity mark : list) { if (StringHelper.isEmpty(mark.getWkt())) { continue; } - if (mark.getWkt().indexOf(type) > -1) { + if (mark.getWkt().contains(type)) { rs.add(mark); } } @@ -162,7 +169,10 @@ return rs; } - private String getZip() { + /** + * 鑾峰彇zip璺緞 + */ + private String getZipPath() { String path = pathHelper.getDownloadFullPath() + File.separator + StringHelper.YMDHMS2_FORMAT.format(new Date()) + ".zip"; File file = new File(path); @@ -173,15 +183,20 @@ return path; } + /** + * 鑾峰彇涓嬭浇瀹炰綋绫� + */ private DownloadEntity getDownloadEntity(UserEntity ue, String file) throws Exception { DownloadEntity de = new DownloadEntity(); de.setName(FileHelper.getFileName(file)); + // 1-Shp鏂囦欢锛�2-涓撻鍥撅紝3-鍏冩暟鎹紝4-涓氬姟鏁版嵁锛�5-绠¢亾鍒嗘瀽锛�6-缁熻鎶ュ憡锛�7-闄勪欢鏂囦欢锛�8-鐡︾墖鏂囦欢 de.setType(1); + de.setSizes(FileHelper.sizeToMb(new File(file).length())); de.setDepid(ue.getDepid()); de.setDcount(0); // de.setPwd(null) de.setUrl(FileHelper.getRelativePath(file)); - de.setDescr("涓嬭浇ShapeFile鏂囦欢"); + de.setDescr("Shp鏂囦欢"); de.setGuid(FileHelper.getFileMd5(file)); de.setCreateUser(ue.getId()); // de.setGeom(null) @@ -191,9 +206,6 @@ /** * 鑾峰彇涓嬭浇鏂囦欢璺緞 - * - * @param de 涓嬭浇瀹炰綋绫� - * @return 涓嬭浇鏂囦欢璺緞 */ public String getDownloadFilePath(DownloadEntity de) { return pathHelper.getConfig().getDownloadPath() + File.separator + de.getUrl(); @@ -201,14 +213,11 @@ /** * 璇诲彇ShapeFile鏂囦欢鑾峰彇Mark瀹炰綋绫� - * - * @param list ShapeFile鏂囦欢鍒楄〃 - * @return Mark瀹炰綋绫婚泦鍚� */ public List<MarkJsonEntity> readShpForMarks(List<MetaFileEntity> list) { String fileName = null; for (MetaFileEntity mf : list) { - if (mf.getName().toLowerCase().indexOf(".shp") > -1) { + if (mf.getName().toLowerCase().contains(StaticData.SHP)) { fileName = mf.getPath(); break; } -- Gitblit v1.9.3