From 0572c25ae338931cb4d07407f6d010bb6d145416 Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 13 Nov 2025 10:25:31 +0800
Subject: [PATCH] 1.分组管理名称修改folder-》grouping。 2.去掉多余File业务。 3.航线(kmz)业务 ArdRouteInformation修改ArdRouteInfor。 4.航线业务字段优化修改。 5.返回类型实体修改。 6.工具类优化方法优化。

---
 ard-route/src/main/java/com/ard/route/util/ToolUtils.java |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/ard-route/src/main/java/com/ard/route/util/ToolUtils.java b/ard-route/src/main/java/com/ard/route/util/ToolUtils.java
index 3721f3f..6ce967f 100644
--- a/ard-route/src/main/java/com/ard/route/util/ToolUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/ToolUtils.java
@@ -1,5 +1,6 @@
 package com.ard.route.util;
 
+import java.io.*;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 
@@ -7,6 +8,17 @@
  * 工具类
  */
 public class ToolUtils {
+
+    public static Boolean isLocal = false;
+
+    public static String localFilePath = "KmzFile/kmz/";
+
+    public static String kmzPath = "kmz";
+
+    /**
+     * XML 头部
+     */
+    public static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
 
     /**
      * 生成KMZ文件名称规则
@@ -40,4 +52,72 @@
         return fileNameWithExt;
     }
 
+    /**
+     * 从URL中提取文件路径部分
+     * @param url 完整的URL字符串
+     * @return 文件路径部分
+     */
+    public static String extractFilePath(String url) {
+        if (url == null || url.isEmpty()) {
+            return "";
+        }
+
+        // 找到最后一个 "kmz/" 的位置,加上4以包含 "kmz/"
+        int index = url.lastIndexOf("kmz/");
+        if (index != -1) {
+            return url.substring(index + 4); // +4 跳过 "kmz/"
+        }
+
+        // 如果没有找到 "kmz/",尝试其他方式
+        return extractPathByDomain(url);
+    }
+
+    /**
+     * 备选方法:通过域名后的第一个斜杠来提取
+     */
+    private static String extractPathByDomain(String url) {
+        // 移除协议头
+        String withoutProtocol = url.replaceFirst("^https?://", "");
+        // 找到第一个斜杠位置
+        int slashIndex = withoutProtocol.indexOf("/");
+        if (slashIndex != -1) {
+            return withoutProtocol.substring(slashIndex + 1);
+        }
+        return "";
+    }
+
+    // 对象序列化为字节数组
+    public static byte[] serialize(Object obj) throws IOException {
+        try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
+             ObjectOutputStream oos = new ObjectOutputStream(baos)) {
+            oos.writeObject(obj);
+            return baos.toByteArray();
+        }
+    }
+
+    // 字节数组反序列化为对象
+    public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException {
+        try (ByteArrayInputStream bais = new ByteArrayInputStream(data);
+             ObjectInputStream ois = new ObjectInputStream(bais)) {
+            return ois.readObject();
+        }
+    }
+
+    /**
+     * 截取字符串
+     * 参数: https://xxx.xxx.xxx.xxx:xxx/kmz/2025/11/08/文件名_20251108152249A001.kmz
+     */
+    public static String subStringMinioName(String url) {
+        return new File(url).getName();
+    }
+
+    /**
+     * 截取字符串
+     * minio里面文件夹路径名称
+     */
+    public static String subStringMinioUrlName(String url) {
+        int kmzIndex = url.indexOf("/kmz/");
+        return url.substring(kmzIndex + 5); // +5 是为了跳过 "/kmz/"
+    }
+
 }

--
Gitblit v1.9.3