From 9e4294e44897452b0b37ae89477c3d0df87ba69e Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 29 六月 2023 16:21:57 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/PublishService.java       |   37 +++++++++++++++++++++++++++++++------
 src/main/java/com/lf/server/controller/data/PublishController.java |    7 +++++++
 data/db_cx.sql                                                     |    2 ++
 3 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/data/db_cx.sql b/data/db_cx.sql
index 0007122..aca2bc4 100644
--- a/data/db_cx.sql
+++ b/data/db_cx.sql
@@ -75,6 +75,8 @@
 
 
 
+
+
 ---------------------------------------------------------------------------------------------- 
 -- update lf.sys_publish a set geom = ST_GeomFromText('POINT Z (31.231025 113.223529 12)') where id = 1;
 select id from lf.sys_layer where cn_name = '涓夌淮鍦拌川妯″瀷' and pid = (select id from lf.sys_layer where cn_name = '鍕樺療' order by pid limit 1);
diff --git a/src/main/java/com/lf/server/controller/data/PublishController.java b/src/main/java/com/lf/server/controller/data/PublishController.java
index 1fc3076..b28ab65 100644
--- a/src/main/java/com/lf/server/controller/data/PublishController.java
+++ b/src/main/java/com/lf/server/controller/data/PublishController.java
@@ -233,6 +233,13 @@
                 return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
             }
 
+            String strs = StringHelper.join(ids, ",");
+            List<PublishEntity> list = publishService.selectByIds(strs);
+            if (null == list || list.isEmpty()) {
+                return fail("娌℃湁鎵惧埌瑕佸垹闄ょ殑鏁版嵁", -1);
+            }
+
+            publishService.deleteFiles(list);
             int count = publishService.deletes(ids, req);
 
             return success(count);
diff --git a/src/main/java/com/lf/server/service/data/PublishService.java b/src/main/java/com/lf/server/service/data/PublishService.java
index 5462dc2..ea9ff7e 100644
--- a/src/main/java/com/lf/server/service/data/PublishService.java
+++ b/src/main/java/com/lf/server/service/data/PublishService.java
@@ -7,20 +7,21 @@
 import com.lf.server.entity.ctrl.RegisterEntity;
 import com.lf.server.entity.data.MetaEntity;
 import com.lf.server.entity.data.PublishEntity;
+import com.lf.server.helper.PathHelper;
 import com.lf.server.helper.RestHelper;
 import com.lf.server.helper.StringHelper;
+import com.lf.server.helper.WebHelper;
 import com.lf.server.mapper.data.PublishMapper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.File;
 import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 鏁版嵁鍙戝竷
@@ -34,11 +35,14 @@
     @Value("${sys.iisHost}")
     private String iisHost;
 
-    @Autowired
+    @Resource
     PublishMapper publishMapper;
 
-    @Autowired
+    @Resource
     FmeService fmeService;
+
+    @Resource
+    PathHelper pathHelper;
 
     private final static Log log = LogFactory.getLog(PublishService.class);
 
@@ -254,4 +258,25 @@
             }
         }
     }
+
+    /**
+     * 鍒犻櫎鍙戝竷鏂囦欢
+     */
+    public void deleteFiles(List<PublishEntity> list) {
+        String uploadPath = pathHelper.getConfig().getUploadPath();
+        for (PublishEntity pub : list) {
+            if (null != pub.getUrl() && pub.getUrl().contains("/SG/")) {
+                continue;
+            }
+
+            String path = uploadPath + File.separator + pub.getPath().replace("\\tileset.json", "");
+            File file = new File(path);
+            if (!file.exists() || !file.isDirectory()) {
+                continue;
+            }
+
+            String cmd = String.format("cmd /c rd \"%s\" /s /q", path);
+            WebHelper.exec(cmd);
+        }
+    }
 }

--
Gitblit v1.9.3