From 7f6e42163928987b55894e9c3a3eb085f8a0e61c Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 23 四月 2023 15:20:43 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/show/InquiryService.java |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/lf/server/service/show/InquiryService.java b/src/main/java/com/lf/server/service/show/InquiryService.java
index f37172e..51a0a1a 100644
--- a/src/main/java/com/lf/server/service/show/InquiryService.java
+++ b/src/main/java/com/lf/server/service/show/InquiryService.java
@@ -1,5 +1,7 @@
 package com.lf.server.service.show;
 
+import com.lf.server.config.PropertiesConfig;
+import com.lf.server.entity.all.StaticData;
 import com.lf.server.entity.ctrl.DownloadTileEntity;
 import com.lf.server.entity.ctrl.ShpRecordEntity;
 import com.lf.server.entity.data.MetaFileEntity;
@@ -10,6 +12,9 @@
 import com.lf.server.helper.StringHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.File;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -18,6 +23,9 @@
  */
 @Service
 public class InquiryService {
+    @Resource
+    PropertiesConfig config;
+
     /**
      * 璇诲彇Shp绗竴鏉¤褰曠殑WKT
      */
@@ -40,11 +48,58 @@
     }
 
     /**
-     * 涓嬭浇鐡︾墖
+     * 鎵撳寘鐡︾墖
      */
-    public String downloadTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) {
+    public String zipTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) {
+        if (!TilePathExist(pub)) {
+            return null;
+        }
 
+        List<String> list = findTiles(dt, pub);
+        if (list.isEmpty()) {
+            return null;
+        }
 
-        return "";
+        return "aaa";
+    }
+
+    /**
+     * 鐡︾墖璺緞鏄惁瀛樺湪
+     */
+    private boolean TilePathExist(PublishEntity pub) {
+        String tilePath = config.getTilePath().replace("2d\\tiles", "") + File.separator + pub.getPath();
+
+        File f = new File(tilePath);
+        if (!f.exists() || !f.isDirectory()) {
+            return false;
+        }
+
+        pub.setPath(tilePath);
+
+        return true;
+    }
+
+    /**
+     * 鏌ユ壘鐡︾墖
+     */
+    private List<String> findTiles(DownloadTileEntity dt, PublishEntity pub) {
+        List<String> list = new ArrayList<>();
+        for (int i = 0; i < StaticData.I23; i++) {
+            findTilesByZoom(dt, pub, i, list);
+        }
+
+        return list;
+    }
+
+    /**
+     * 鏍规嵁灞傛鏌ユ壘鐡︾墖
+     */
+    private void findTilesByZoom(DownloadTileEntity dt, PublishEntity pub, int zoom, List<String> list) {
+        File f = new File(pub.getPath() + File.separator + zoom);
+        if (!f.exists() || !f.isDirectory()) {
+            return;
+        }
+
+        //
     }
 }

--
Gitblit v1.9.3