From 2e9e03c7971f1da71cc9e9bd7d2f159c244839f3 Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期二, 03 九月 2024 19:39:48 +0800
Subject: [PATCH] 代码优化

---
 src/main/java/com/yb/helper/RsaHelper.java                                         |   22 
 target/classes/com/yb/controller/XzController.class                                |    0 
 target/ollama-ai-0.0.1-SNAPSHOT.jar                                                |    0 
 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst |    2 
 target/classes/com/yb/service/XzService.class                                      |    0 
 src/main/java/com/yb/config/XzConfig.java                                          |   25 +
 src/main/java/com/yb/service/XzService.java                                        |  143 +++++++++++
 target/ollama-ai-0.0.1-SNAPSHOT.jar.original                                       |    0 
 src/main/java/com/yb/controller/XzController2.java                                 |  309 +++++++++++++++++++++++
 target/classes/com/yb/config/XzConfig.class                                        |    0 
 src/main/java/com/yb/controller/XzController.java                                  |  221 +---------------
 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst   |   11 
 12 files changed, 520 insertions(+), 213 deletions(-)

diff --git a/src/main/java/com/yb/config/XzConfig.java b/src/main/java/com/yb/config/XzConfig.java
new file mode 100644
index 0000000..2bcca68
--- /dev/null
+++ b/src/main/java/com/yb/config/XzConfig.java
@@ -0,0 +1,25 @@
+package com.yb.config;
+
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+
+@Component
+public class XzConfig {
+    @Value("${spring.geographical.canview}")
+   public String canview;
+    @Value("${spring.geographical.entityName}")
+    public String entityName;
+    @Value("${spring.geographical.dbid}")
+    public String dbid;
+    @Value("${spring.geographical.layerId}")
+    public String layerId;
+    @Value("${spring.geographical.queryEntity}")
+    public String queryEntity;
+    @Value("${spring.geographical.publickey}")
+    public String publickey;
+    @Value("${spring.geographical.token}")
+    public String token;
+
+}
diff --git a/src/main/java/com/yb/controller/XzController.java b/src/main/java/com/yb/controller/XzController.java
index 63eab80..ea07b17 100644
--- a/src/main/java/com/yb/controller/XzController.java
+++ b/src/main/java/com/yb/controller/XzController.java
@@ -1,26 +1,16 @@
 package com.yb.controller;
 
 import com.alibaba.fastjson.JSON;
-
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-
 import com.yb.config.R;
+import com.yb.config.XzConfig;
 import com.yb.entity.ReqEntity;
-import com.yb.helper.RsaHelper;
-import com.yb.util.EntityHttpUtil;
-
+import com.yb.service.XzService;
 import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import org.locationtech.jts.geom.*;
-import org.locationtech.jts.io.WKTWriter;
-import org.locationtech.jts.operation.buffer.BufferOp;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
-import org.stringtemplate.v4.ST;
-
 
 import java.util.*;
 
@@ -32,42 +22,27 @@
     @Autowired
     WebSocketController webSocketController;
     @Autowired
-    private EntityHttpUtil entityHttpUtil;
-    @Value("${spring.geographical.canview}")
-    String canview;
-    @Value("${spring.geographical.entityName}")
-    String entityName;
-    @Value("${spring.geographical.dbid}")
-    String dbid;
-    @Value("${spring.geographical.layerId}")
-    String layerId;
-    @Value("${spring.geographical.queryEntity}")
-    String queryEntity;
-    @Value("${spring.geographical.publickey}")
-    String publickey;
-    @Value("${spring.geographical.token}")
-    String token;
-
+    private XzService xzService;
+    @Autowired
+    private XzConfig xzConfig;
 
     @PostMapping("/poiMap")
     @Operation(summary = "鏄剧ず鍦扮偣")
     public R poiMap(@RequestParam Map<String, String> allParams) throws Exception {
         String place = allParams.get("place");
         String mid = allParams.get("mid");
-        System.out.println("rec poiMap:" + place + "  mid:" + mid);
         if (place == null || mid == null) {
             return R.error("鏁版嵁浼犻�掗敊璇�");
         }
-        HashMap<String, Object> hash = new HashMap<>();
-        hash.put("func", "poiMap");
-        hash.put("mid", mid);
+        HashMap<String, Object> hash = xzService.getFuncMap("poiMap", mid);
         ReqEntity reqEntity = new ReqEntity();
-        String item = getQueryFiled(place);
+        String filed = "enti_name";
+        String item = xzService.getQueryFiled(place, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
+        System.out.println("rec poiMap:" + reqEntity);
         JSONObject obj = JSONObject.parseObject(item);
         reqEntity.setX(obj.getString("lon"));
         reqEntity.setY(obj.getString("lat"));
-        reqEntity.setPlace(obj.getString("enti_name"));
-        System.out.println("rec poiMap:" + reqEntity);
+        reqEntity.setPlace(obj.getString(filed));
         hash.put("poi", reqEntity);
         String message = JSON.toJSONString(hash);
         webSocketController.sendAllMessage(message);
@@ -77,31 +52,27 @@
     @PostMapping("/aroundPoi")
     @Operation(summary = "鍛ㄨ竟灞炴�ф煡璇�")
     public R aroundPoi(@RequestParam Map<String, String> allParams) throws Exception {
-        System.out.println("rec aroundPoi:" + allParams);
         String place = allParams.get("place");
         String mid = allParams.get("mid");
         String type = allParams.get("type");
         String dis = allParams.get("radius");
-        int radius= 0;
-        if(dis != null){
-            radius= Integer.parseInt(dis);
+        int radius = 0;
+        if (dis != null) {
+            radius = Integer.parseInt(dis);
         }
-//        int radius = Integer.parseInt();
         System.out.println("rec aroundPoi:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
         if (type == null || place == null || mid == null) {
             return R.error("鏁版嵁浼犻�掗敊璇�");
         }
-        HashMap<String, Object> hash = new HashMap<>();
-        hash.put("func", "aroundPoi");
-        hash.put("mid", mid);
-        System.out.println("rec aroundPoi:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
-        String item = getQueryFiled(place);
+        HashMap<String, Object> hash = xzService.getFuncMap("aroundPoi", mid);
+        String filed = "enti_name";
+        String typeFiled = "sjnr";
+        String item = xzService.getQueryFiled(place, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
         JSONObject obj = JSONObject.parseObject(item);
         Double lon = Double.parseDouble(obj.getString("lon"));
         Double lat = Double.parseDouble(obj.getString("lat"));
-        String wkt = getWKt(lon, lat, radius);
-        String itemList = getQueryAround(type, wkt);
-//        System.out.print("ces: "+itemList);
+        String wkt = xzService.getWKt(lon, lat, radius);
+        String itemList = xzService.getQueryAround(type, wkt, typeFiled, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
         JSONArray dataArray = JSONArray.parseArray(itemList);
         ArrayList<ReqEntity> arrayList = new ArrayList<>();
         for (int i = 0; i < dataArray.size(); i++) {
@@ -111,7 +82,7 @@
                 ReqEntity reqEntity = new ReqEntity();
                 reqEntity.setX(jsonObject.getString("lon"));
                 reqEntity.setY(jsonObject.getString("lat"));
-                reqEntity.setPlace(jsonObject.getString("enti_name"));
+                reqEntity.setPlace(jsonObject.getString(filed));
                 arrayList.add(reqEntity);
             }
         }
@@ -126,25 +97,14 @@
     @Operation(summary = "鍏冧俊鎭煡璇�")
     public R queryMeta(@RequestParam Map<String, String> allParams) {
         String mid = allParams.get("mid");
-        System.out.println("rec queryMeta:" +"  mid:" + mid);
+        System.out.println("rec queryMeta:" + "  mid:" + mid);
         if (mid == null) {
             return R.error("鏁版嵁浼犻�掗敊璇�");
         }
-        HashMap<String, Object> hash = new HashMap<>();
-        hash.put("func", "queryMeta");
-        hash.put("mid", mid);
+        HashMap<String, Object> hash = xzService.getFuncMap("queryMeta", mid);
 //        缁熻鏌ヨ鎺ュ彛鎷兼帴
-        JSONArray jsonArray = new JSONArray();
-        HashMap<String, Object> staticField = new HashMap<>();
         String filed = "sjnr";
-        staticField.put("type", "count");
-        staticField.put("field", "sjnr");
-        staticField.put("outfield", "count_" + filed);
-        jsonArray.add(staticField);
-        HashMap<String, String> formData = getHashMap();
-        formData.put("statistics", jsonArray.toString());
-        formData.put("groupby", filed);
-        String filedString = entityHttpUtil.getPostMessage(queryEntity, formData);
+        String filedString= xzService.getQueryMeta(xzConfig.layerId, xzConfig.dbid,filed,xzConfig.queryEntity);
         System.out.println("rec queryMeta:" + filedString);
         JSONObject jsonObject = JSON.parseObject(filedString);
         JSONArray dataArray = jsonObject.getJSONArray("data");
@@ -176,140 +136,5 @@
         return R.ok(hash);
     }
 
-    public HashMap getHashMap() {
-        HashMap<String, String> hashMap = new HashMap<>();
-        hashMap.put("token", token);
-        hashMap.put("containCount", "true");
-        hashMap.put("layerid", layerId);
-        hashMap.put("dbid", dbid);
-        return hashMap;
-    }
 
-    public String getWKt(double lon, double lat, int radius) {
-        // 鍒涘缓涓�涓潗鏍囩偣
-        Coordinate coord = new Coordinate(lon, lat);
-        // 鍒涘缓GeometryFactory瀹炰緥锛屽苟鎸囧畾鍧愭爣鍙傝�冪郴缁熶负WGS84
-        GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326);
-        // 浣跨敤鍧愭爣鍒涘缓涓�涓偣
-        Point point = geometryFactory.createPoint(coord);
-        // 鍒涘缓BufferOp瀹炰緥锛岀敤浜庣敓鎴愮紦鍐插尯
-        BufferOp bufferOp = new BufferOp(point);
-        int dis = 500;
-        if (radius != 0) {
-            dis = radius;
-        }
-        // 璁剧疆缂撳啿鍖鸿窛绂讳负500绫�
-        Geometry bufferedGeometry = bufferOp.getResultGeometry(dis);
-        // 鍒涘缓WKTWriter瀹炰緥锛岀敤浜庡皢Geometry杞崲涓篧KT鏍煎紡
-//        WKTWriter wktWriter = new WKTWriter();
-
-        // 灏嗙紦鍐插尯Geometry杞崲涓篧KT鏍煎紡
-//        String wkt = wktWriter.write(bufferedGeometry);
-        // 杈撳嚭WKT
-//        System.out.println("WKT: " + wkt);
-        Envelope envelope = bufferedGeometry.getEnvelopeInternal();
-        double[] wkt = new double[4];
-        wkt[0] = envelope.getMinX();
-        wkt[1] = envelope.getMinY();
-        wkt[2] = envelope.getMaxX();
-        wkt[3] = envelope.getMaxY();
-        String arrayAsString = Arrays.toString(wkt);
-        System.out.println("arrayAsString: " + arrayAsString);
-        return arrayAsString;
-    }
-
-    public String getQueryAround(String type, String wkt) throws Exception {
-        String query = "sjnr  like '%" + type + "%'" + "";
-        String key = getPublickey();
-        String encrypt = RsaHelper.encrypt(key, query);
-        HashMap formData = getHashMap();
-        formData.put("start", "1");
-        formData.put("count", "0");
-        formData.put("where", encrypt);
-        formData.put("box", wkt);
-        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
-        JSONObject jsonObject = JSON.parseObject(jsonString);
-        JSONObject dataObjject = jsonObject.getJSONObject("data");
-        JSONArray dataArray = dataObjject.getJSONArray("items");
-        return dataArray.toString();
-    }
-
-    //鍏抽敭瀛楁煡璇�
-    public String getQueryFiled(String place) throws Exception {
-        String query = "enti_name like '%" + place + "%'" + "";
-        String key = getPublickey();
-        String encrypt = RsaHelper.encrypt(key, query);
-        HashMap formData = getHashMap();
-        formData.put("start", "1");
-        formData.put("count", "0");
-        formData.put("where", encrypt);
-        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
-        JSONObject jsonObject = JSON.parseObject(jsonString);
-        JSONObject dataObjject = jsonObject.getJSONObject("data");
-        JSONArray dataArray = dataObjject.getJSONArray("items");
-        return dataArray.getJSONObject(0).toString();
-    }
-
-    //鑾峰彇绉橀挜鎺ュ彛
-    public String getPublickey() {
-        HashMap<String, String> map = new HashMap<>();
-        map.put("token", token);
-        String jsonString = entityHttpUtil.getPostMessage(publickey, map);
-        JSONObject jsonObject = JSON.parseObject(jsonString);
-        return jsonObject.getString("data");
-    }
-
-
-    @PostMapping("/aroundPoi2")
-    @Operation(summary = "鍛ㄨ竟鏌ヨ")
-    public R aroundPoi2(@RequestBody ReqEntity reqEntity) {
-        System.out.println("rec message:" + reqEntity);
-        HashMap<String, Object> hash = new HashMap<>();
-        hash.put("func", "aroundPoi");
-        hash.put("mid", "mid");
-        List<ReqEntity> list = new ArrayList<>();
-//        reqEntity.setX("120.9671");
-//        reqEntity.setY("13.5748");
-        list.add(reqEntity);
-        list.add(reqEntity);
-        hash.put("poi", list);
-
-        String message = JSON.toJSONString(hash);
-        webSocketController.sendAllMessage(message);
-
-        return R.ok(hash);
-    }
-
-
-    /*@GetMapping("/queryPath/{start_point}/{end_point}")
-    @Operation(summary = "璺嚎鏌ヨ")
-    public R queryPath(@PathVariable("start_point")String start_point,@PathVariable("end_point")String end_point){
-        System.out.println("rec start_point: "+start_point+"  end_point: "+end_point);
-        HashMap<String,Object> hash = new HashMap<>();
-
-        hash.put("func","searchPath");
-        List<ReqEntity> list = new ArrayList<>();
-
-        hash.put("path",list);
-
-        String message = JSON.toJSONString(hash);
-        webSocketController.sendAllMessage(message);
-
-        return R.ok(hash);
-    }
-*/
-    @PostMapping("/queryMeta2")
-    @Operation(summary = "鍏冧俊鎭煡璇�")
-    public R queryMeta2(@Parameter String mid) {
-        System.out.println("queryMeta ");
-        HashMap<String, Object> hash = new HashMap<>();
-        hash.put("func", "queryMeta");
-        hash.put("mid", mid);
-        List<ReqEntity> list = new ArrayList<>();
-        hash.put("meta", list);
-        String message = JSON.toJSONString(hash);
-        webSocketController.sendAllMessage(message);
-
-        return R.ok(hash);
-    }
 }
diff --git a/src/main/java/com/yb/controller/XzController2.java b/src/main/java/com/yb/controller/XzController2.java
new file mode 100644
index 0000000..dd20acf
--- /dev/null
+++ b/src/main/java/com/yb/controller/XzController2.java
@@ -0,0 +1,309 @@
+//package com.yb.controller;
+//
+//import com.alibaba.fastjson.JSON;
+//import com.alibaba.fastjson.JSONArray;
+//import com.alibaba.fastjson.JSONObject;
+//import com.yb.config.R;
+//import com.yb.entity.ReqEntity;
+//import com.yb.helper.RsaHelper;
+//import com.yb.util.EntityHttpUtil;
+//import io.swagger.v3.oas.annotations.Operation;
+//import io.swagger.v3.oas.annotations.Parameter;
+//import io.swagger.v3.oas.annotations.tags.Tag;
+//import org.locationtech.jts.geom.*;
+//import org.locationtech.jts.operation.buffer.BufferOp;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.util.*;
+//
+//
+//@Tag(name = "鏂版櫤鎺ュ彛")
+//@RestController
+//@RequestMapping("/api/v1")
+//public class XzController2 {
+//    @Autowired
+//    WebSocketController webSocketController;
+//    @Autowired
+//    private EntityHttpUtil entityHttpUtil;
+//    @Value("${spring.geographical.canview}")
+//    String canview;
+//    @Value("${spring.geographical.entityName}")
+//    String entityName;
+//    @Value("${spring.geographical.dbid}")
+//    String dbid;
+//    @Value("${spring.geographical.layerId}")
+//    String layerId;
+//    @Value("${spring.geographical.queryEntity}")
+//    String queryEntity;
+//    @Value("${spring.geographical.publickey}")
+//    String publickey;
+//    @Value("${spring.geographical.token}")
+//    String token;
+//
+//
+//    @PostMapping("/poiMap")
+//    @Operation(summary = "鏄剧ず鍦扮偣")
+//    public R poiMap(@RequestParam Map<String, String> allParams) throws Exception {
+//        String place = allParams.get("place");
+//        String mid = allParams.get("mid");
+//        System.out.println("rec poiMap:" + place + "  mid:" + mid);
+//        if (place == null || mid == null) {
+//            return R.error("鏁版嵁浼犻�掗敊璇�");
+//        }
+//        HashMap<String, Object> hash = new HashMap<>();
+//        hash.put("func", "poiMap");
+//        hash.put("mid", mid);
+//        ReqEntity reqEntity = new ReqEntity();
+//        String item = getQueryFiled(place);
+//        JSONObject obj = JSONObject.parseObject(item);
+//        reqEntity.setX(obj.getString("lon"));
+//        reqEntity.setY(obj.getString("lat"));
+//        reqEntity.setPlace(obj.getString("enti_name"));
+//        System.out.println("rec poiMap:" + reqEntity);
+//        hash.put("poi", reqEntity);
+//        String message = JSON.toJSONString(hash);
+//        webSocketController.sendAllMessage(message);
+//        return R.ok(hash);
+//    }
+//
+//    @PostMapping("/aroundPoi")
+//    @Operation(summary = "鍛ㄨ竟灞炴�ф煡璇�")
+//    public R aroundPoi(@RequestParam Map<String, String> allParams) throws Exception {
+//        System.out.println("rec aroundPoi:" + allParams);
+//        String place = allParams.get("place");
+//        String mid = allParams.get("mid");
+//        String type = allParams.get("type");
+//        String dis = allParams.get("radius");
+//        int radius= 0;
+//        if(dis != null){
+//            radius= Integer.parseInt(dis);
+//        }
+////        int radius = Integer.parseInt();
+//        System.out.println("rec aroundPoi:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
+//        if (type == null || place == null || mid == null) {
+//            return R.error("鏁版嵁浼犻�掗敊璇�");
+//        }
+//        HashMap<String, Object> hash = new HashMap<>();
+//        hash.put("func", "aroundPoi");
+//        hash.put("mid", mid);
+//        System.out.println("rec aroundPoi:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
+//        String item = getQueryFiled(place);
+//        JSONObject obj = JSONObject.parseObject(item);
+//        Double lon = Double.parseDouble(obj.getString("lon"));
+//        Double lat = Double.parseDouble(obj.getString("lat"));
+//        String wkt = getWKt(lon, lat, radius);
+//        String itemList = getQueryAround(type, wkt);
+////        System.out.print("ces: "+itemList);
+//        JSONArray dataArray = JSONArray.parseArray(itemList);
+//        ArrayList<ReqEntity> arrayList = new ArrayList<>();
+//        for (int i = 0; i < dataArray.size(); i++) {
+//            Object element = dataArray.get(i);
+//            if (element instanceof JSONObject) {
+//                JSONObject jsonObject = (JSONObject) element;
+//                ReqEntity reqEntity = new ReqEntity();
+//                reqEntity.setX(jsonObject.getString("lon"));
+//                reqEntity.setY(jsonObject.getString("lat"));
+//                reqEntity.setPlace(jsonObject.getString("enti_name"));
+//                arrayList.add(reqEntity);
+//            }
+//        }
+//        System.out.println("rec aroundPoi:" + arrayList);
+//        hash.put("poi", arrayList);
+//        String message = JSON.toJSONString(hash);
+//        webSocketController.sendAllMessage(message);
+//        return R.ok(hash);
+//    }
+//
+//    @PostMapping("/queryMeta")
+//    @Operation(summary = "鍏冧俊鎭煡璇�")
+//    public R queryMeta(@RequestParam Map<String, String> allParams) {
+//        String mid = allParams.get("mid");
+//        System.out.println("rec queryMeta:" +"  mid:" + mid);
+//        if (mid == null) {
+//            return R.error("鏁版嵁浼犻�掗敊璇�");
+//        }
+//        HashMap<String, Object> hash = new HashMap<>();
+//        hash.put("func", "queryMeta");
+//        hash.put("mid", mid);
+////        缁熻鏌ヨ鎺ュ彛鎷兼帴
+//        JSONArray jsonArray = new JSONArray();
+//        HashMap<String, Object> staticField = new HashMap<>();
+//        String filed = "sjnr";
+//        staticField.put("type", "count");
+//        staticField.put("field", "sjnr");
+//        staticField.put("outfield", "count_" + filed);
+//        jsonArray.add(staticField);
+//        HashMap<String, String> formData = getHashMap();
+//        formData.put("statistics", jsonArray.toString());
+//        formData.put("groupby", filed);
+//        String filedString = entityHttpUtil.getPostMessage(queryEntity, formData);
+//        System.out.println("rec queryMeta:" + filedString);
+//        JSONObject jsonObject = JSON.parseObject(filedString);
+//        JSONArray dataArray = jsonObject.getJSONArray("data");
+//        HashMap<String, Object> markMap = new HashMap<>();
+//        JSONArray markArray = new JSONArray();
+//        String markDown = "| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\\n|------|------|\\n";
+//        for (int i = 0; i < dataArray.size(); i++) {
+//            JSONObject dataObj = dataArray.getJSONObject(i);
+//            System.out.println("rec queryMeta:" + dataObj);
+//            String[] filedValue = new String[2];
+//
+//            for (String key : dataObj.keySet()) {
+//                if (key == filed) {
+//                    filedValue[0] = dataObj.getString(key);
+//                } else {
+//                    filedValue[1] = dataObj.getString(key);
+//                }
+//            }
+//            markDown += "| " + filedValue[0] + " | " + filedValue[1] + " |\n";
+//        }
+//
+//        markMap.put("markdown", markDown);
+//        markArray.add(markMap);
+//        hash.put("markdown", markArray);
+//        hash.put("content", "鍦扮悊瀹炰綋鏁版嵁搴�");
+//        System.out.println("rec queryMeta:" + hash);
+//        String message = JSON.toJSONString(hash);
+//        webSocketController.sendAllMessage(message);
+//        return R.ok(hash);
+//    }
+//
+//    public HashMap getHashMap() {
+//        HashMap<String, String> hashMap = new HashMap<>();
+//        hashMap.put("token", token);
+//        hashMap.put("containCount", "true");
+//        hashMap.put("layerid", layerId);
+//        hashMap.put("dbid", dbid);
+//        return hashMap;
+//    }
+//
+//    public String getWKt(double lon, double lat, int radius) {
+//        // 鍒涘缓涓�涓潗鏍囩偣
+//        Coordinate coord = new Coordinate(lon, lat);
+//        // 鍒涘缓GeometryFactory瀹炰緥锛屽苟鎸囧畾鍧愭爣鍙傝�冪郴缁熶负WGS84
+//        GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326);
+//        // 浣跨敤鍧愭爣鍒涘缓涓�涓偣
+//        Point point = geometryFactory.createPoint(coord);
+//        // 鍒涘缓BufferOp瀹炰緥锛岀敤浜庣敓鎴愮紦鍐插尯
+//        BufferOp bufferOp = new BufferOp(point);
+//        int dis = 500;
+//        if (radius != 0) {
+//            dis = radius;
+//        }
+//        // 璁剧疆缂撳啿鍖鸿窛绂讳负500绫�
+//        Geometry bufferedGeometry = bufferOp.getResultGeometry(dis);
+//        // 鍒涘缓WKTWriter瀹炰緥锛岀敤浜庡皢Geometry杞崲涓篧KT鏍煎紡
+////        WKTWriter wktWriter = new WKTWriter();
+//
+//        // 灏嗙紦鍐插尯Geometry杞崲涓篧KT鏍煎紡
+////        String wkt = wktWriter.write(bufferedGeometry);
+//        // 杈撳嚭WKT
+////        System.out.println("WKT: " + wkt);
+//        Envelope envelope = bufferedGeometry.getEnvelopeInternal();
+//        double[] wkt = new double[4];
+//        wkt[0] = envelope.getMinX();
+//        wkt[1] = envelope.getMinY();
+//        wkt[2] = envelope.getMaxX();
+//        wkt[3] = envelope.getMaxY();
+//        String arrayAsString = Arrays.toString(wkt);
+//        System.out.println("arrayAsString: " + arrayAsString);
+//        return arrayAsString;
+//    }
+//
+//    public String getQueryAround(String type, String wkt) throws Exception {
+//        String query = "sjnr  like '%" + type + "%'" + "";
+//        String key = getPublickey();
+//        String encrypt = RsaHelper.encrypt(key, query);
+//        HashMap formData = getHashMap();
+//        formData.put("start", "1");
+//        formData.put("count", "0");
+//        formData.put("where", encrypt);
+//        formData.put("box", wkt);
+//        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
+//        JSONObject jsonObject = JSON.parseObject(jsonString);
+//        JSONObject dataObjject = jsonObject.getJSONObject("data");
+//        JSONArray dataArray = dataObjject.getJSONArray("items");
+//        return dataArray.toString();
+//    }
+//
+//    //鍏抽敭瀛楁煡璇�
+//    public String getQueryFiled(String place) throws Exception {
+//        String query = "enti_name like '%" + place + "%'" + "";
+//        String key = getPublickey();
+//        String encrypt = RsaHelper.encrypt(key, query);
+//        HashMap formData = getHashMap();
+//        formData.put("start", "1");
+//        formData.put("count", "0");
+//        formData.put("where", encrypt);
+//        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
+//        JSONObject jsonObject = JSON.parseObject(jsonString);
+//        JSONObject dataObjject = jsonObject.getJSONObject("data");
+//        JSONArray dataArray = dataObjject.getJSONArray("items");
+//        return dataArray.getJSONObject(0).toString();
+//    }
+//
+//    //鑾峰彇绉橀挜鎺ュ彛
+//    public String getPublickey() {
+//        HashMap<String, String> map = new HashMap<>();
+//        map.put("token", token);
+//        String jsonString = entityHttpUtil.getPostMessage(publickey, map);
+//        JSONObject jsonObject = JSON.parseObject(jsonString);
+//        return jsonObject.getString("data");
+//    }
+//
+//
+//    @PostMapping("/aroundPoi2")
+//    @Operation(summary = "鍛ㄨ竟鏌ヨ")
+//    public R aroundPoi2(@RequestBody ReqEntity reqEntity) {
+//        System.out.println("rec message:" + reqEntity);
+//        HashMap<String, Object> hash = new HashMap<>();
+//        hash.put("func", "aroundPoi");
+//        hash.put("mid", "mid");
+//        List<ReqEntity> list = new ArrayList<>();
+////        reqEntity.setX("120.9671");
+////        reqEntity.setY("13.5748");
+//        list.add(reqEntity);
+//        list.add(reqEntity);
+//        hash.put("poi", list);
+//
+//        String message = JSON.toJSONString(hash);
+//        webSocketController.sendAllMessage(message);
+//
+//        return R.ok(hash);
+//    }
+//
+//
+//    /*@GetMapping("/queryPath/{start_point}/{end_point}")
+//    @Operation(summary = "璺嚎鏌ヨ")
+//    public R queryPath(@PathVariable("start_point")String start_point,@PathVariable("end_point")String end_point){
+//        System.out.println("rec start_point: "+start_point+"  end_point: "+end_point);
+//        HashMap<String,Object> hash = new HashMap<>();
+//
+//        hash.put("func","searchPath");
+//        List<ReqEntity> list = new ArrayList<>();
+//
+//        hash.put("path",list);
+//
+//        String message = JSON.toJSONString(hash);
+//        webSocketController.sendAllMessage(message);
+//
+//        return R.ok(hash);
+//    }
+//*/
+//    @PostMapping("/queryMeta2")
+//    @Operation(summary = "鍏冧俊鎭煡璇�")
+//    public R queryMeta2(@Parameter String mid) {
+//        System.out.println("queryMeta ");
+//        HashMap<String, Object> hash = new HashMap<>();
+//        hash.put("func", "queryMeta");
+//        hash.put("mid", mid);
+//        List<ReqEntity> list = new ArrayList<>();
+//        hash.put("meta", list);
+//        String message = JSON.toJSONString(hash);
+//        webSocketController.sendAllMessage(message);
+//
+//        return R.ok(hash);
+//    }
+//}
diff --git a/src/main/java/com/yb/helper/RsaHelper.java b/src/main/java/com/yb/helper/RsaHelper.java
index 3ef5599..b224ca7 100644
--- a/src/main/java/com/yb/helper/RsaHelper.java
+++ b/src/main/java/com/yb/helper/RsaHelper.java
@@ -8,20 +8,20 @@
 import java.security.spec.X509EncodedKeySpec;
 
 public class RsaHelper {
-//    RsA绉橀挜鍔犲瘑
-public static String encrypt(String key ,String str) throws Exception {
-    // Base64缂栫爜鐨勫叕閽�
-    byte[] decoded = Base64.decodeBase64(key+ "");
+    //    RsA绉橀挜鍔犲瘑
+    public static String encrypt(String key, String str) throws Exception {
+        // Base64缂栫爜鐨勫叕閽�
+        byte[] decoded = Base64.decodeBase64(key + "");
 
-    RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
+        RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
 
-    // RSA鍔犲瘑锛歊SA/ECB/NoPadding
-    Cipher cipher = Cipher.getInstance("RSA");
-    cipher.init(Cipher.ENCRYPT_MODE, pubKey);
+        // RSA鍔犲瘑锛歊SA/ECB/NoPadding
+        Cipher cipher = Cipher.getInstance("RSA");
+        cipher.init(Cipher.ENCRYPT_MODE, pubKey);
 
-    String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8")));
+        String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8")));
 
-    return outStr;
-}
+        return outStr;
+    }
 
 }
diff --git a/src/main/java/com/yb/service/XzService.java b/src/main/java/com/yb/service/XzService.java
new file mode 100644
index 0000000..7b86c3b
--- /dev/null
+++ b/src/main/java/com/yb/service/XzService.java
@@ -0,0 +1,143 @@
+package com.yb.service;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.yb.config.XzConfig;
+import com.yb.helper.RsaHelper;
+import com.yb.util.EntityHttpUtil;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.locationtech.jts.geom.*;
+import org.locationtech.jts.operation.buffer.BufferOp;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+import java.util.HashMap;
+
+@Service
+public class XzService {
+    @Autowired
+    private XzConfig xzConfig;
+    @Autowired
+    private EntityHttpUtil entityHttpUtil;
+
+    // 鍏抽敭瀛楁煡璇�
+    public String getQueryFiled(String place, String filed, String layerId, String dbId, String queryEntity) throws Exception {
+        String query = filed + " like '%" + place + "%'" + "";
+        String key = getPublickey();
+        String encrypt = RsaHelper.encrypt(key, query);
+        HashMap formData = getHashMap(layerId, dbId, "1", "0", encrypt, null);
+        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
+        JSONObject jsonObject = JSON.parseObject(jsonString);
+        JSONObject dataObjject = jsonObject.getJSONObject("data");
+        JSONArray dataArray = dataObjject.getJSONArray("items");
+        return dataArray.getJSONObject(0).toString();
+    }
+
+    //  鑼冨洿鏌ヨ
+    public String getQueryAround(String type, String wkt, String filed, String layerId, String dbid, String entity) throws Exception {
+        String query = filed + " like '%" + type + "%'" + "";
+        String encrypt = RsaHelper.encrypt(getPublickey(), query);
+        HashMap formData = getHashMap(layerId, dbid, "1", "0", encrypt, wkt);
+        String jsonString = entityHttpUtil.getPostMessage(entity, formData);
+        JSONObject jsonObject = JSON.parseObject(jsonString);
+        JSONObject dataObj = jsonObject.getJSONObject("data");
+        JSONArray dataArray = dataObj.getJSONArray("items");
+        return dataArray.toString();
+
+    }
+
+    //鍏冧俊鎭煡璇�
+    public String getQueryMeta(String layerId, String dbid, String filed, String entity) {
+        HashMap<String, Object> staticField = new HashMap<>();
+        JSONArray jsonArray = new JSONArray();
+        staticField.put("type", "count");
+        staticField.put("field", filed);
+        staticField.put("outfield", "count_" + filed);
+        jsonArray.add(staticField);
+        HashMap<String, String> formData = getHashMap(layerId,dbid,null,null,null,null);
+        formData.put("statistics", jsonArray.toString());
+        formData.put("groupby", filed);
+       return  entityHttpUtil.getPostMessage(entity, formData);
+    }
+
+    // 鑾峰彇杩斿洖淇℃伅Map
+    public HashMap<String, Object> getFuncMap(String func, String mid) {
+        HashMap<String, Object> hash = new HashMap<String, Object>();
+        hash.put("func", func);
+        hash.put("mid", mid);
+        return hash;
+    }
+
+    //鑾峰彇绉橀挜鎺ュ彛
+    public String getPublickey() {
+        HashMap<String, String> map = new HashMap<>();
+        map.put("token", xzConfig.token);
+        String jsonString = entityHttpUtil.getPostMessage(xzConfig.publickey, map);
+        JSONObject jsonObject = JSON.parseObject(jsonString);
+        return jsonObject.getString("data");
+    }
+
+    // 浼犲弬
+    public HashMap<String, String> getHashMap(String layerId, String dbid, String start, String count, String where, String box) {
+        HashMap<String, String> hashMap = new HashMap<>();
+        hashMap.put("token", xzConfig.token);
+        hashMap.put("containCount", "true");
+        hashMap.put("layerid", layerId);
+        hashMap.put("dbid", dbid);
+        if (start != null && start != "") {
+            hashMap.put("start", start);
+        }
+        if (count != null && count != "") {
+            hashMap.put("count", count);
+        }
+        if (where != null && where != "") {
+            hashMap.put("where", where);
+        }
+        if (box != null && box != "") {
+            hashMap.put("box", box);
+        }
+
+        return hashMap;
+    }
+
+    //鐢熸垚WKT
+    public String getWKt(double lon, double lat, int radius) {
+        // 鍒涘缓涓�涓潗鏍囩偣
+        Coordinate coord = new Coordinate(lon, lat);
+        // 鍒涘缓GeometryFactory瀹炰緥锛屽苟鎸囧畾鍧愭爣鍙傝�冪郴缁熶负WGS84
+        GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326);
+        // 浣跨敤鍧愭爣鍒涘缓涓�涓偣
+        Point point = geometryFactory.createPoint(coord);
+        // 鍒涘缓BufferOp瀹炰緥锛岀敤浜庣敓鎴愮紦鍐插尯
+        BufferOp bufferOp = new BufferOp(point);
+        int dis = 500;
+        if (radius != 0) {
+            dis = radius;
+        }
+        // 璁剧疆缂撳啿鍖鸿窛绂讳负500绫�
+        Geometry bufferedGeometry = bufferOp.getResultGeometry(dis / 111319.9);
+        // 鍒涘缓WKTWriter瀹炰緥锛岀敤浜庡皢Geometry杞崲涓篧KT鏍煎紡
+//        WKTWriter wktWriter = new WKTWriter();
+
+        // 灏嗙紦鍐插尯Geometry杞崲涓篧KT鏍煎紡
+//        String wkt = wktWriter.write(bufferedGeometry);
+        // 杈撳嚭WKT
+//        System.out.println("WKT: " + wkt);
+        Envelope envelope = bufferedGeometry.getEnvelopeInternal();
+        double[] wkt = new double[4];
+        wkt[0] = envelope.getMinX();
+        wkt[1] = envelope.getMinY();
+        wkt[2] = envelope.getMaxX();
+        wkt[3] = envelope.getMaxY();
+        String arrayAsString = Arrays.toString(wkt);
+        System.out.println("arrayAsString: " + arrayAsString);
+        return arrayAsString;
+    }
+
+
+}
diff --git a/target/classes/com/yb/config/XzConfig.class b/target/classes/com/yb/config/XzConfig.class
new file mode 100644
index 0000000..fb8661e
--- /dev/null
+++ b/target/classes/com/yb/config/XzConfig.class
Binary files differ
diff --git a/target/classes/com/yb/controller/XzController.class b/target/classes/com/yb/controller/XzController.class
index f644fef..837e329 100644
--- a/target/classes/com/yb/controller/XzController.class
+++ b/target/classes/com/yb/controller/XzController.class
Binary files differ
diff --git a/target/classes/com/yb/service/XzService.class b/target/classes/com/yb/service/XzService.class
new file mode 100644
index 0000000..c4b0540
--- /dev/null
+++ b/target/classes/com/yb/service/XzService.class
Binary files differ
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 35d77d9..28b9e11 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,8 +1,10 @@
 com\yb\controller\WebSocketController.class
 com\yb\message\WebsocketConfiguration.class
+com\yb\config\XzConfig.class
 com\yb\util\EntityHttpUtil.class
 com\yb\OllamaAiApplication.class
 com\yb\entity\ResponseEntity.class
+com\yb\service\XzService.class
 com\yb\entity\ReqEntity.class
 com\yb\helper\RsaHelper.class
 com\yb\util\OkHttpUtil.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 01fd359..cb91be1 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,12 +1,15 @@
-E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\entity\ReqEntity.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\WebSocketController.java
-E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\util\EntityHttpUtil.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\service\XzService.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\message\WebSocketStompConfig.java
-E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\OllamaAiApplication.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\config\XzConfig.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\util\OkHttpUtil.java
-E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\XzController.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\helper\RsaHelper.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\message\WebSocketServer.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\config\R.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\entity\ResponseEntity.java
 E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\message\WebsocketConfiguration.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\entity\ReqEntity.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\util\EntityHttpUtil.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\XzController2.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\OllamaAiApplication.java
+E:\project\AI澶фā鍨媆鏂版櫤瀵规帴\ollama_ai\src\main\java\com\yb\controller\XzController.java
diff --git a/target/ollama-ai-0.0.1-SNAPSHOT.jar b/target/ollama-ai-0.0.1-SNAPSHOT.jar
index 7e710b4..bd4924a 100644
--- a/target/ollama-ai-0.0.1-SNAPSHOT.jar
+++ b/target/ollama-ai-0.0.1-SNAPSHOT.jar
Binary files differ
diff --git a/target/ollama-ai-0.0.1-SNAPSHOT.jar.original b/target/ollama-ai-0.0.1-SNAPSHOT.jar.original
index 44d2c09..139e7bf 100644
--- a/target/ollama-ai-0.0.1-SNAPSHOT.jar.original
+++ b/target/ollama-ai-0.0.1-SNAPSHOT.jar.original
Binary files differ

--
Gitblit v1.9.3