From 61e28fc2117fdbdcb2d56bc50558dffa0a3891e2 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 10 一月 2023 11:27:36 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/all/BaseUploadService.java |   47 +++++++++++++++++++++++------------------------
 1 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/lf/server/service/all/BaseUploadService.java b/src/main/java/com/lf/server/service/all/BaseUploadService.java
index 62fb8d6..233f82f 100644
--- a/src/main/java/com/lf/server/service/all/BaseUploadService.java
+++ b/src/main/java/com/lf/server/service/all/BaseUploadService.java
@@ -259,7 +259,10 @@
 
             boolean isShp = StaticData.SHP.equals(extName);
             if (isGdb) {
-                String md5 = getGdbMd5(f.getPath());
+                List<MetaFileEntity> rs = getGdbMappers(f, meta);
+                if (null != rs && rs.size() > 0) {
+                    list.addAll(rs);
+                }
                 continue;
             }
 
@@ -334,42 +337,38 @@
     /**
      * 鑾峰彇澶氭枃浠剁殑MD5
      */
-    private String getFilesMd5(List<String> list) {
-        StringBuilder sb = new StringBuilder();
-        for (String str : list) {
+    private String getFilesMd5(List<String> strs) {
+        List<String> list = new ArrayList<>();
+        for (String str : strs) {
             String md5 = FileHelper.getFileMd5(str);
             if (null != md5) {
-                sb.append(sb + ",");
+                list.add(md5);
             }
         }
 
-        if (sb.length() > 0) {
-            return FileHelper.getStringMd5(sb.toString());
+        if (list.size() > 0) {
+            String str = StringHelper.join(list, ",");
+            return FileHelper.getStringMd5(str);
         }
 
         return StringHelper.getGuid();
     }
 
-    private void getGdbFiles(String shpPath, List<String> list) {
-        File file = new File(shpPath);
-
-        File[] files = file.listFiles();
-        if (null == files || files.length == 0) {
-            return;
+    /**
+     * 鑾峰彇GDB鏂囦欢鏄犲皠
+     */
+    private List<MetaFileEntity> getGdbMappers(File f,MetaFileEntity meta) {
+        List<String> tabs = GdbHelper.getTabNames(f.getPath());
+        if (null == tabs || tabs.size() == 0) {
+            return null;
         }
 
-        for (File f : files) {
-            if (!f.isDirectory()) {
-                continue;
-            }
-
-            if (isGdbFile(f)) {
-                list.add(f.getPath());
-                continue;
-            }
-
-            getGdbFiles(f.getPath(), list);
+        String md5 = getGdbMd5(f.getPath());
+        for (String tab : tabs) {
+            //
         }
+
+        return null;
     }
 
     /**

--
Gitblit v1.9.3