From a338dc252ced3f019f74a710153c28cb0a9329a1 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 18 九月 2023 17:23:01 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/UploadService.java |   20 ++++++++++----------
 src/main/java/com/lf/server/helper/FileHelper.java          |   20 +++++++++++++-------
 2 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/FileHelper.java b/src/main/java/com/lf/server/helper/FileHelper.java
index 132649a..8394aa6 100644
--- a/src/main/java/com/lf/server/helper/FileHelper.java
+++ b/src/main/java/com/lf/server/helper/FileHelper.java
@@ -14,7 +14,6 @@
 import java.security.MessageDigest;
 import java.text.DecimalFormat;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * 鏂囦欢甯姪绫�
@@ -25,9 +24,6 @@
 
     /**
      * 鑾峰彇鏂囦欢鍚�
-     *
-     * @param file
-     * @return
      */
     public static String getFileName(String file) {
         int idx = file.lastIndexOf(File.separator);
@@ -36,6 +32,19 @@
         }
 
         return "";
+    }
+
+    /**
+     * 鑾峰彇鏂囦欢鍚嶇О
+     */
+    public static String getName(String file) {
+        String fileName = getFileName(file);
+        int idx = fileName.lastIndexOf(".");
+        if (idx > -1) {
+            return fileName.substring(0, idx);
+        }
+
+        return fileName;
     }
 
     /**
@@ -74,9 +83,6 @@
 
     /**
      * 鑾峰彇澶氱敤閫斾簰鑱旂綉閭欢鎵╁睍绫诲瀷
-     *
-     * @param ext 鏂囦欢鎵╁睍鍚�
-     * @return
      */
     public static String getMime(String ext) {
         switch (ext) {
diff --git a/src/main/java/com/lf/server/service/data/UploadService.java b/src/main/java/com/lf/server/service/data/UploadService.java
index 0b0faf2..8f63c87 100644
--- a/src/main/java/com/lf/server/service/data/UploadService.java
+++ b/src/main/java/com/lf/server/service/data/UploadService.java
@@ -629,12 +629,12 @@
                 continue;
             }
 
-            String geom = readKml(mf.getPath());
-            if (StringHelper.isEmpty(geom)) {
+            String wkt = readKml(mf.getPath());
+            if (StringHelper.isEmpty(wkt)) {
                 continue;
             }
 
-            loadKmlData(mf, geom);
+            loadKmlData(mf, wkt);
         }
     }
 
@@ -663,7 +663,7 @@
      * 鑾峰彇KWT
      */
     private String getWktFromCoordinates(String coords) {
-        String[] strs = coords.replace("<coordinates>", "").replace("</coordinates>", "").split(" ");
+        String[] strs = coords.replace("\t", "").replace("<coordinates>", "").replace("</coordinates>", "").split(" ");
         if (strs.length == 0) {
             return null;
         }
@@ -688,7 +688,7 @@
     /**
      * 鍔犺浇Kml鏁版嵁
      */
-    private void loadKmlData(MetaFileEntity mf, String geom) {
+    private void loadKmlData(MetaFileEntity mf, String wkt) {
         BasicMapper basicMapper = ClassHelper.getBasicMapper(mf.getEntity());
         if (null == basicMapper) {
             return;
@@ -701,8 +701,8 @@
             return;
         }
 
-        String name = FileHelper.getFileName(mf.getPath());
-        List<?> list = createKmlEntity(clazz, geom, name);
+        String name = FileHelper.getName(mf.getPath());
+        List<?> list = createKmlEntity(clazz, wkt, name);
         if (null == list || list.isEmpty()) {
             return;
         }
@@ -720,15 +720,15 @@
     /**
      * 鍒涘缓KML瀹炰綋绫�
      */
-    private <T> List<T> createKmlEntity(Class clazz, String geom, String name) {
+    private <T> List<T> createKmlEntity(Class clazz, String wkt, String name) {
         try {
             T t = (T) clazz.newInstance();
 
             Field gField = clazz.getSuperclass().getDeclaredField("geom");
             gField.setAccessible(true);
-            gField.set(t, geom);
+            gField.set(t, null == wkt ? "null" : String.format("ST_GeomFromText('%s')", wkt));
 
-            Field pField = clazz.getSuperclass().getDeclaredField("pipename");
+            Field pField = clazz.getDeclaredField("pipename");
             pField.setAccessible(true);
             pField.set(t, name);
 

--
Gitblit v1.9.3