From 36d3d5d57ad24eecb09b7891e5dbd0d19977d82d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 22 七月 2023 15:57:44 +0800
Subject: [PATCH] 解决zip文件解压时遇到文件先于目录解压错误

---
 src/main/java/com/lf/server/service/data/PublishService.java |   74 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 6 deletions(-)

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 906d5af..3ea8815 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);
 
@@ -72,6 +76,11 @@
     }
 
     @Override
+    public List<String> selectCodesForDir(String dircode, Integer isDom) {
+        return publishMapper.selectCodesForDir(dircode, isDom);
+    }
+
+    @Override
     public Integer insert(PublishEntity entity) {
         return publishMapper.insert(entity);
     }
@@ -79,6 +88,11 @@
     @Override
     public Integer inserts(List<PublishEntity> list) {
         return publishMapper.inserts(list);
+    }
+
+    @Override
+    public Integer insertPubDown(Integer pubid, Integer downid, Integer createUser) {
+        return publishMapper.insertPubDown(pubid, downid, createUser);
     }
 
     @Override
@@ -117,6 +131,27 @@
         name = StringHelper.getLikeUpperStr(name);
 
         return publishMapper.selectMetasByPage(depcode, dircode, verid, types, name, limit, offset);
+    }
+
+    public List<Integer> selectLasCs(PubEntity entity, String method, HttpServletRequest req) {
+        Map<String, Object> map = getMapData(entity);
+
+        String str = RestHelper.postForRest(exportServer + method, map);
+        if (StringHelper.isEmpty(str)) {
+            return null;
+        }
+
+        ResponseMsg<String> msg = JSON.parseObject(str, ResponseMsg.class);
+        if (msg == null || msg.getCode() != StaticData.TWO_HUNDRED) {
+            return null;
+        }
+
+        String rs = msg.getResult();
+        if (StringHelper.isEmpty(rs)) {
+            return null;
+        }
+
+        return StringHelper.strToIntegers(rs);
     }
 
     /**
@@ -199,8 +234,14 @@
         switch (entity.getType()) {
             case "DOM":
                 return "TMS鏈嶅姟";
+            case "DEM":
+                return "涓夌淮鍦板舰鏈嶅姟";
             case "mpt":
                 return "涓夌淮鍦烘櫙鏈嶅姟";
+            case "las":
+            case "laz":
+            case "cpt":
+                return "涓夌淮鐐逛簯鏈嶅姟";
             default:
                 return "涓夌淮妯″瀷鏈嶅姟";
         }
@@ -238,4 +279,25 @@
             }
         }
     }
+
+    /**
+     * 鍒犻櫎鍙戝竷鏂囦欢
+     */
+    public void deleteFiles(List<PublishEntity> list) {
+        String lfData = pathHelper.getConfig().getLfData();
+        for (PublishEntity pub : list) {
+            if (null != pub.getUrl() && pub.getUrl().contains("/SG/")) {
+                continue;
+            }
+
+            String path = lfData + 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