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