From d2811d5ee9b13f301326d18b118dde40ba811b14 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 16 十一月 2023 12:46:30 +0800
Subject: [PATCH] 添加xls模板

---
 src/main/resources/config/slope.xlsx                                        |    0 
 src/main/java/com/moon/server/service/data/SlopeAnalysisService.java        |   20 ++++++++++++++++++--
 src/main/java/com/moon/server/helper/FileHelper.java                        |   33 +++++++++++++++++++++++++++++++++
 src/main/java/com/moon/server/controller/data/RasterAnalysisController.java |    6 +++---
 4 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java b/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java
index 5ee0722..2486fef 100644
--- a/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java
+++ b/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java
@@ -7,7 +7,7 @@
 import com.moon.server.helper.StringHelper;
 import com.moon.server.helper.WebHelper;
 import com.moon.server.service.data.RasterAnalysisService;
-import com.moon.server.service.data.SlopAnalysisService;
+import com.moon.server.service.data.SlopeAnalysisService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -34,7 +34,7 @@
     RasterAnalysisService rasterService;
 
     @Resource
-    SlopAnalysisService slopAnalysisService;
+    SlopeAnalysisService slopeAnalysisService;
 
     private final static List<Integer> PIXELS = new ArrayList<>(Arrays.asList(1, 2, 4, 8, 16, 32, 64, 128, 256));
 
@@ -179,7 +179,7 @@
                 return;
             }
 
-            slopAnalysisService.downloadSlopXls(geo, res);
+            slopeAnalysisService.downloadSlopXls(geo, res);
         } catch (Exception ex) {
             WebHelper.writeStr2Page(res, ex.getMessage());
             log.error(ex.getMessage(), ex);
diff --git a/src/main/java/com/moon/server/helper/FileHelper.java b/src/main/java/com/moon/server/helper/FileHelper.java
index cecd7fe..80d9e4b 100644
--- a/src/main/java/com/moon/server/helper/FileHelper.java
+++ b/src/main/java/com/moon/server/helper/FileHelper.java
@@ -8,6 +8,8 @@
 import org.apache.commons.logging.LogFactory;
 
 import java.io.*;
+import java.net.URL;
+import java.net.URLDecoder;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 import java.nio.charset.StandardCharsets;
@@ -445,4 +447,35 @@
             is.close();
         }
     }
+
+    /**
+     * 杩囨护杈撳叆瀛楃涓�, 鍓旈櫎澶氳娉ㄩ噴浠ュ強鏇挎崲鎺夊弽鏂滄潬
+     */
+    public static String filter(String str) {
+        return str.replaceAll("/\\*[\\s\\S]*?\\*/", "");
+    }
+
+    /**
+     * 瑙g爜
+     */
+    public static String decode(String str) {
+        try {
+            return URLDecoder.decode(str, "UTF-8");
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+            return null;
+        }
+    }
+
+    /**
+     * 鑾峰彇ClassPath
+     */
+    public static String getClassPath() {
+        URL resource = ClassLoader.getSystemResource("");
+        if (null == resource) {
+            return null;
+        }
+
+        return decode(filter(resource.getPath()));
+    }
 }
diff --git a/src/main/java/com/moon/server/service/data/SlopAnalysisService.java b/src/main/java/com/moon/server/service/data/SlopeAnalysisService.java
similarity index 85%
rename from src/main/java/com/moon/server/service/data/SlopAnalysisService.java
rename to src/main/java/com/moon/server/service/data/SlopeAnalysisService.java
index 22c87e2..dfaecbd 100644
--- a/src/main/java/com/moon/server/service/data/SlopAnalysisService.java
+++ b/src/main/java/com/moon/server/service/data/SlopeAnalysisService.java
@@ -2,6 +2,7 @@
 
 import com.moon.server.entity.all.StaticData;
 import com.moon.server.entity.data.PointEntity;
+import com.moon.server.helper.FileHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.gdal.gdal.Dataset;
@@ -12,6 +13,8 @@
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -21,11 +24,24 @@
  * @date 2023-11-16
  */
 @Service
-public class SlopAnalysisService {
+public class SlopeAnalysisService {
     @Value("${sys.path.slopFile}")
     private String filePath;
 
-    private final static Log log = LogFactory.getLog(SlopAnalysisService.class);
+    private String xlsTemplate;
+
+    private final static Log log = LogFactory.getLog(SlopeAnalysisService.class);
+
+    /**
+     * 鑾峰彇Excel妯℃澘
+     */
+    private String getXlsTemplate() {
+        if (null == xlsTemplate) {
+            xlsTemplate = FileHelper.getClassPath() + File.separator + "config" + File.separator + "slop.xlsx";
+        }
+
+        return xlsTemplate;
+    }
 
     /**
      * 涓嬭浇鍧″害鍒嗘瀽Excel
diff --git a/src/main/resources/config/slope.xlsx b/src/main/resources/config/slope.xlsx
new file mode 100644
index 0000000..99f569d
--- /dev/null
+++ b/src/main/resources/config/slope.xlsx
Binary files differ

--
Gitblit v1.9.3