|
@@ -0,0 +1,187 @@
|
|
|
|
|
+/**
|
|
|
|
|
+ * Copyright
|
|
|
|
|
+ * All right reserved.
|
|
|
|
|
+ * 项目名称:
|
|
|
|
|
+ * 创建日期:2022-03-04
|
|
|
|
|
+ */
|
|
|
|
|
+package org.springblade.test;
|
|
|
|
|
+
|
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
|
|
+import com.alibaba.excel.read.builder.ExcelReaderBuilder;
|
|
|
|
|
+import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder;
|
|
|
|
|
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
|
|
+import io.swagger.annotations.Api;
|
|
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
|
|
+import org.springblade.core.excel.listener.DataListener;
|
|
|
|
|
+import org.springblade.core.tool.api.R;
|
|
|
|
|
+import org.springblade.core.tool.utils.Func;
|
|
|
|
|
+import org.springblade.modules.demo.entity.SiteDataEntity;
|
|
|
|
|
+import org.springblade.props.GalaxyProperties;
|
|
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
+
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/***
|
|
|
|
|
+ * Date:2022-03-04
|
|
|
|
|
+ * Title:参数配置
|
|
|
|
|
+ * Description:对本文件的详细描述,原则上不能少于30字
|
|
|
|
|
+ * @author Blade
|
|
|
|
|
+ * @mender:(文件的修改者,文件创建者之外的人)
|
|
|
|
|
+ * @version 1.0
|
|
|
|
|
+ * Remark:认为有必要的其他信息
|
|
|
|
|
+ */
|
|
|
|
|
+@RestController
|
|
|
|
|
+@AllArgsConstructor
|
|
|
|
|
+@RequestMapping("/galaxy-test")
|
|
|
|
|
+@Api(value = "多数据源接口", tags = "多数据源")
|
|
|
|
|
+public class TestController {
|
|
|
|
|
+
|
|
|
|
|
+ private GalaxyProperties galaxyProperties;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 1、获取配置项
|
|
|
|
|
+ * http://localhost:8000/galaxy-server/demo/config/getConfig
|
|
|
|
|
+ *
|
|
|
|
|
+ * 2、
|
|
|
|
|
+ *
|
|
|
|
|
+ *
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Function:获取配置项
|
|
|
|
|
+ * Author: admin
|
|
|
|
|
+ * Date:2022/3/4
|
|
|
|
|
+ * @param
|
|
|
|
|
+ * @return org.springblade.core.tool.api.R<java.lang.String>
|
|
|
|
|
+ * @throws Exception
|
|
|
|
|
+ */
|
|
|
|
|
+ @GetMapping("/getConfig")
|
|
|
|
|
+ @ApiOperationSupport(order = 1)
|
|
|
|
|
+ @ApiOperation(value = "获取配置项", notes = "获取配置项")
|
|
|
|
|
+ public R<String> getConfig() {
|
|
|
|
|
+
|
|
|
|
|
+ return R.data(galaxyProperties.getName());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ private String getLng(String lngText) {
|
|
|
|
|
+ ArrayList<String> textArr = new ArrayList<>();
|
|
|
|
|
+ textArr.add("");
|
|
|
|
|
+ for (int l = 0; l < lngText.length(); l++) {
|
|
|
|
|
+ String subtext = lngText.substring(l, l + 1);
|
|
|
|
|
+ if (Func.isNumeric(subtext)) {
|
|
|
|
|
+ String str = textArr.get(textArr.size() - 1);
|
|
|
|
|
+ str += subtext;
|
|
|
|
|
+ textArr.set(textArr.size() - 1, str);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ textArr.add("");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ArrayList<String> tmp = new ArrayList<>();
|
|
|
|
|
+ for (String text : textArr) {
|
|
|
|
|
+ if (text.length() > 0) {
|
|
|
|
|
+ tmp.add(text);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (tmp.size() >= 4) {
|
|
|
|
|
+ //度分秒,秒有小数点
|
|
|
|
|
+ String v = tmp.get(2) + "." + tmp.get(3);
|
|
|
|
|
+ double lat = Double.parseDouble(v);
|
|
|
|
|
+ lat = lat / 60.0;
|
|
|
|
|
+ v = tmp.get(1);
|
|
|
|
|
+ lat = (Double.parseDouble(v) + lat) / 60.0;
|
|
|
|
|
+ v = tmp.get(0);
|
|
|
|
|
+ lat = Double.parseDouble(v) + lat;
|
|
|
|
|
+ return String.format("%.06f", lat);
|
|
|
|
|
+ } else if (tmp.size() == 3) {
|
|
|
|
|
+ //度分秒
|
|
|
|
|
+ String v = tmp.get(2);
|
|
|
|
|
+ double lat = Double.parseDouble(v);
|
|
|
|
|
+ lat = lat / 60.0;
|
|
|
|
|
+ v = tmp.get(1);
|
|
|
|
|
+ lat = (Double.parseDouble(v) + lat) / 60.0;
|
|
|
|
|
+ v = tmp.get(0);
|
|
|
|
|
+ lat = Double.parseDouble(v) + lat;
|
|
|
|
|
+ return String.format("%.06f", lat);
|
|
|
|
|
+ } else if (tmp.size() == 2) {
|
|
|
|
|
+ //度
|
|
|
|
|
+ String v = tmp.get(0) + "." + tmp.get(1);
|
|
|
|
|
+ double lat = Double.parseDouble(v);
|
|
|
|
|
+ return String.format("%.06f", lat);
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private String getLat(String latText) {
|
|
|
|
|
+ ArrayList<String> textArr = new ArrayList<>();
|
|
|
|
|
+ textArr.add("");
|
|
|
|
|
+ for (int l = 0; l < latText.length(); l++) {
|
|
|
|
|
+ String subtext = latText.substring(l, l + 1);
|
|
|
|
|
+ if (Func.isNumeric(subtext)) {
|
|
|
|
|
+ String str = textArr.get(textArr.size() - 1);
|
|
|
|
|
+ str += subtext;
|
|
|
|
|
+ textArr.set(textArr.size() - 1, str);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ textArr.add("");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ArrayList<String> tmp = new ArrayList<>();
|
|
|
|
|
+ for (String text : textArr) {
|
|
|
|
|
+ if (text.length() > 0) {
|
|
|
|
|
+ tmp.add(text);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (tmp.size() >= 4) {
|
|
|
|
|
+ //度分秒,秒有小数点
|
|
|
|
|
+ String v = tmp.get(2) + "." + tmp.get(3);
|
|
|
|
|
+ double lat = Double.parseDouble(v);
|
|
|
|
|
+ lat = lat / 60.0;
|
|
|
|
|
+ v = tmp.get(1);
|
|
|
|
|
+ lat = (Double.parseDouble(v) + lat) / 60.0;
|
|
|
|
|
+ v = tmp.get(0);
|
|
|
|
|
+ lat = Double.parseDouble(v) + lat;
|
|
|
|
|
+ return String.format("%.06f", lat);
|
|
|
|
|
+ } else if (tmp.size() == 3) {
|
|
|
|
|
+ //度分秒
|
|
|
|
|
+ String v = tmp.get(2);
|
|
|
|
|
+ double lat = Double.parseDouble(v);
|
|
|
|
|
+ lat = lat / 60.0;
|
|
|
|
|
+ v = tmp.get(1);
|
|
|
|
|
+ lat = (Double.parseDouble(v) + lat) / 60.0;
|
|
|
|
|
+ v = tmp.get(0);
|
|
|
|
|
+ lat = Double.parseDouble(v) + lat;
|
|
|
|
|
+ return String.format("%.06f", lat);
|
|
|
|
|
+ } else if (tmp.size() == 2) {
|
|
|
|
|
+ //度
|
|
|
|
|
+ String v = tmp.get(0) + "." + tmp.get(1);
|
|
|
|
|
+ double lat = Double.parseDouble(v);
|
|
|
|
|
+ return String.format("%.06f", lat);
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @GetMapping("/getSiteMap")
|
|
|
|
|
+ @ApiOperationSupport(order = 1)
|
|
|
|
|
+ @ApiOperation(value = "", notes = "")
|
|
|
|
|
+ public R<List<SiteDataEntity>> getSiteMap(@RequestParam(name = "sheet") Integer sheet) {
|
|
|
|
|
+ //Map<String, List<Map<String,String>>> data = new HashMap<>();
|
|
|
|
|
+ String filePath = "D:\\tmp\\bjsite.xls";
|
|
|
|
|
+ DataListener<SiteDataEntity> dataListener = new DataListener<>();
|
|
|
|
|
+ ExcelReaderBuilder builder = EasyExcel.read(filePath, SiteDataEntity.class, dataListener);
|
|
|
|
|
+ ((ExcelReaderSheetBuilder) builder.sheet(sheet)).doRead();
|
|
|
|
|
+ List<SiteDataEntity> list = dataListener.getDataList();
|
|
|
|
|
+ for (SiteDataEntity entity:list){
|
|
|
|
|
+ entity.setLng(getLng(entity.getLng()));
|
|
|
|
|
+ entity.setLat(getLat(entity.getLat()));
|
|
|
|
|
+ }
|
|
|
|
|
+ return R.data(list);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|