From 1e4cafb7b48c3aac7b6111ff496cac0a40807435 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 26 九月 2024 12:38:10 +0800
Subject: [PATCH] 修改配置文件

---
 src/main/java/com/se/simu/service/GedbService.java |   90 ++++++++++++++------------------------------
 1 files changed, 29 insertions(+), 61 deletions(-)

diff --git a/src/main/java/com/se/simu/service/GedbService.java b/src/main/java/com/se/simu/service/GedbService.java
index f1b2110..a286a96 100644
--- a/src/main/java/com/se/simu/service/GedbService.java
+++ b/src/main/java/com/se/simu/service/GedbService.java
@@ -4,6 +4,7 @@
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.se.simu.config.PropertiesConfig;
 import com.se.simu.domain.dto.GeDb;
 import com.se.simu.domain.dto.GeField;
 import com.se.simu.domain.dto.GeFile;
@@ -42,49 +43,16 @@
 @Service
 @SuppressWarnings("ALL")
 public class GedbService {
-    @Value("${sys.path.in}")
-    String inPath;
-
-    @Value("${gedb.host}")
-    String host;
-
-    @Value("${gedb.user}")
-    String user;
-
-    @Value("${gedb.pwd}")
-    String pwd;
-
-    @Value("${gedb.dbName}")
-    String dbName;
-
-    @Value("${gedb.pageSize}")
-    Integer pageSize;
-
-    @Value("#{'${gedb.layerNames}'}")
-    List<String> layerNames;
-
-    @Value("#{'${gedb.shpNames}'}")
-    List<String> shpNames;
-
-    @Value("#{'${gedb.sysFields}'}")
-    List<String> sysFields;
-
-    @Value("${gedb.demFile}")
-    String demFile;
-
-    @Value("${gedb.demType}")
-    String demType;
-
-    @Value("${gedb.demName}")
-    String demName;
-
     String password;
+
+    @Resource
+    PropertiesConfig config;
 
     @Resource
     RestTemplate restTemplate;
 
     public boolean test(DataPo data) throws Exception {
-        createPath(inPath + File.separator + data.getInPath());
+        createPath(config.getInPath() + File.separator + data.getInPath());
 
         String token = getToken();
         GeDb db = connectGedb(token, data);
@@ -106,10 +74,10 @@
 
     public String getToken() throws Exception {
         Map<String, Object> map = new HashMap<>(2);
-        map.put("userid", user);
+        map.put("userid", config.getUser());
         map.put("password", getPassword());
 
-        JSONObject obj = restTemplate.postForObject(host + "account-service/security/login", map, JSONObject.class);
+        JSONObject obj = restTemplate.postForObject(config.getHost() + "account-service/security/login", map, JSONObject.class);
 
         JSONObject data = obj.getJSONObject("data");
 
@@ -120,7 +88,7 @@
         if (StringHelper.isEmpty(password)) {
             String key = getPublicKey();
             RsaHelper.setPublicKey(key);
-            password = RsaHelper.encrypt(pwd);
+            password = RsaHelper.encrypt(config.getPwd());
         }
 
         return password;
@@ -128,7 +96,7 @@
 
     private String getPublicKey() {
         //{"datetime":"2024-09-12 17:24:38","code":200,"data":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtFwJCh2taVTEi05C8qT2oG7Y+rDmJhlO4zicpSeRtiro9LsytePeWI7BXM6sfDU0WeKun1izawcfgGkZgnoJuMBluAOKI1tL0uCrR+DreNLqMVtnXHwoWEIk/hGJedDWaf3q22aGDyEB5h9qCq0JklSShP1Ih4ppap4LmgxdTPQIDAQAB"}
-        JSONObject obj = restTemplate.getForObject(host + "account-service/security/publickey", JSONObject.class);
+        JSONObject obj = restTemplate.getForObject(config.getHost() + "account-service/security/publickey", JSONObject.class);
 
         return obj.getStr("data");
     }
@@ -145,17 +113,17 @@
         Map<String, Object> map = new HashMap<>(1);
         map.put("token", token);
 
-        JSONObject obj = restTemplate.postForObject(host + "geo-service/entitydb/list/canview", map, JSONObject.class);
+        JSONObject obj = restTemplate.postForObject(config.getHost() + "geo-service/entitydb/list/canview", map, JSONObject.class);
         JSONArray data = obj.getJSONArray("data");
 
         List<GeDb> list = JSONUtil.toList(data, GeDb.class);
         if (CollectionUtils.isEmpty(list)) return null;
 
-        return list.stream().filter(db -> null != db.getName() && db.getName().contains(dbName)).findFirst().orElse(null);
+        return list.stream().filter(db -> null != db.getName() && db.getName().contains(config.getDbName())).findFirst().orElse(null);
     }
 
     public List<GeLayer> getLayers(String token, GeDb db) {
-        String uri = String.format("%sgeo-service/entitydb/map/config?dbid=%s&token=%s", host, db.getDbid(), token);
+        String uri = String.format("%sgeo-service/entitydb/map/config?dbid=%s&token=%s", config.getHost(), db.getDbid(), token);
         JSONObject obj = restTemplate.getForObject(uri, JSONObject.class);
 
         JSONObject data = obj.getJSONObject("data");
@@ -166,12 +134,12 @@
         for (int i = 0, c = arr.size(); i < c; i++) {
             JSONObject jb = arr.getJSONObject(i);
             String name = jb.getStr("name");
-            if (layerNames.contains(name)) {
+            if (config.getLayerNames().contains(name)) {
                 String id = jb.getStr("id");
                 String queryType = getQueryType(jb);
                 List<GeField> fields = JSONUtil.toList(jb.getJSONArray("fields"), GeField.class);
-                fields = fields.stream().filter(f -> !sysFields.contains(f.getName())).collect(Collectors.toList());
-                String shpName = shpNames.get(layerNames.indexOf(name));
+                fields = fields.stream().filter(f -> !config.getSysFields().contains(f.getName())).collect(Collectors.toList());
+                String shpName = config.getShpNames().get(config.getLayerNames().indexOf(name));
 
                 layers.add(new GeLayer(id, name, queryType, fields, shpName, db));
             }
@@ -199,9 +167,9 @@
             int count = getCount(token, db, layer);
             if (0 == count) throw new Exception(layer.getName() + "锛屽浘灞傛暟鎹负绌�");
 
-            int pageCount = (count - 1) / pageSize + 1;
+            int pageCount = (count - 1) / config.getPageSize() + 1;
             for (int i = 0; i < pageCount; i++) {
-                JSONArray data = query(token, db, layer, i + 1, pageSize);
+                JSONArray data = query(token, db, layer, i + 1, config.getPageSize());
                 if (null != data && data.size() > 0) {
                     layer.addData(data);
                 }
@@ -218,7 +186,7 @@
         map.put("returnCountOnly", true);
         map.put("inSR", 4326);
 
-        JSONObject obj = restTemplate.postForObject(host + "geo-service/entitydbdata/layer/query", map, JSONObject.class);
+        JSONObject obj = restTemplate.postForObject(config.getHost() + "geo-service/entitydbdata/layer/query", map, JSONObject.class);
         if (null == obj || 200 != obj.getInt("code")) return 0;
 
         return obj.getInt("data");
@@ -236,7 +204,7 @@
         map.put("querytype", layer.getQueryType());
         map.put("inSR", 4326);
 
-        JSONObject obj = restTemplate.postForObject(host + "geo-service/entitydbdata/layer/query", map, JSONObject.class);
+        JSONObject obj = restTemplate.postForObject(config.getHost() + "geo-service/entitydbdata/layer/query", map, JSONObject.class);
         if (null == obj || 200 != obj.getInt("code")) return null;
 
         JSONObject data = obj.getJSONObject("data");
@@ -245,7 +213,7 @@
     }
 
     public void copeVectors(String token, DataPo data, GeDb db) throws Exception {
-        String basePath = inPath + File.separator + data.getInPath();
+        String basePath = config.getInPath() + File.separator + data.getInPath();
 
         List<GeLayer> layers = getLayers(token, db);
         queryData(token, db, layers);
@@ -266,32 +234,32 @@
         String fileId = getFileId(token, fileDb.getDbid());
         List<GeFile> files = getFileNames(token, fileDb.getDbid(), fileId);
 
-        String filePath = inPath + File.separator + fileDb.getDbid();
+        String filePath = config.getInPath() + File.separator + fileDb.getDbid();
         downloadFiles(token, filePath, files, fileDb.getDbid(), fileId);
         clipDemFile(filePath, files, data);
     }
 
     private GeDb getFileDb(String token) {
-        String uri = String.format("%sfile-service/docdb/query/canview?token=%s", host, token);
+        String uri = String.format("%sfile-service/docdb/query/canview?token=%s", config.getHost(), token);
         JSONObject obj = restTemplate.getForObject(uri, JSONObject.class);
         JSONArray data = obj.getJSONArray("data");
 
         List<GeDb> list = JSONUtil.toList(data, GeDb.class);
         if (CollectionUtils.isEmpty(list)) return null;
 
-        return list.stream().filter(db -> null != db.getName() && db.getName().contains(dbName)).findFirst().orElse(null);
+        return list.stream().filter(db -> null != db.getName() && db.getName().contains(config.getDbName())).findFirst().orElse(null);
     }
 
     private String getFileId(String token, String dbid) {
         String uri = String.format("%sfile-service/doc/catagory/file/query?token=%s&dbid=%s&catagory=%s&count=%d&start=%d&like=",
-                host, token, dbid, "image", 9999, 1);
+                config.getHost(), token, dbid, "image", 9999, 1);
 
         JSONObject obj = restTemplate.getForObject(uri, JSONObject.class);
         JSONArray items = obj.getJSONObject("data").getJSONArray("items");
 
         for (int i = 0, c = items.size(); i < c; i++) {
             JSONObject jb = items.getJSONObject(i);
-            if (demName.equals(jb.getStr("filename"))) {
+            if (config.getDemName().equals(jb.getStr("filename"))) {
                 return jb.getStr("fileid");
             }
         }
@@ -301,7 +269,7 @@
 
     private List<GeFile> getFileNames(String token, String dbid, String fileId) {
         String uri = String.format("%sfile-service/doc/cluster/struct/list?token=%s&dbid=%s&cluster_fileid=%s&onlychild=true&folder_stairs=",
-                host, token, dbid, fileId);
+                config.getHost(), token, dbid, fileId);
 
         JSONObject obj = restTemplate.getForObject(uri, JSONObject.class);
         JSONArray data = obj.getJSONArray("data");
@@ -326,7 +294,7 @@
             }
 
             String uri = String.format("%sfile-service/fileparser/cluster/download/%s?token=%s&dbid=%s&cluster_fileid=%s",
-                    host, geFile.getName(), token, dbid, fileId);
+                    config.getHost(), geFile.getName(), token, dbid, fileId);
             downloadFile(uri, filePath);
         }
     }
@@ -351,9 +319,9 @@
     }
 
     private void clipDemFile(String filePath, List<GeFile> files, DataPo data) throws Exception {
-        String target = inPath + File.separator + data.getInPath() + File.separator + demFile;
+        String target = config.getInPath() + File.separator + data.getInPath() + File.separator + config.getDemFile();
         for (GeFile file : files) {
-            if (file.getName().toLowerCase().endsWith(demType)) {
+            if (file.getName().toLowerCase().endsWith(config.getDemType())) {
                 String source = filePath + File.separator + file.getName();
                 clipDem(source, target, data);
                 break;

--
Gitblit v1.9.3