suerprisePlus
2024-08-30 fd87f0ef960c818fab96bad11e9c0286f8c800f5
src/main/java/com/yb/controller/XzController.java
@@ -22,10 +22,7 @@
import org.stringtemplate.v4.ST;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.*;
@Tag(name = "新智接口")
@@ -54,8 +51,13 @@
    @PostMapping("/poiMap")
    @Operation(summary = "显示地点")
    public R poiMap(@Parameter String place, @Parameter String mid) throws Exception {
        System.out.println("rec message:" + place + "  mid:" + mid);
    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);
@@ -65,7 +67,7 @@
        reqEntity.setX(obj.getString("lon"));
        reqEntity.setY(obj.getString("lat"));
        reqEntity.setPlace(obj.getString("enti_name"));
        System.out.println("rec message:" + reqEntity);
        System.out.println("rec poiMap:" + reqEntity);
        hash.put("poi", reqEntity);
        String message = JSON.toJSONString(hash);
        webSocketController.sendAllMessage(message);
@@ -74,11 +76,25 @@
    @PostMapping("/aroundPoi")
    @Operation(summary = "周边属性查询")
    public R aroundPoi(@Parameter String place, @Parameter String mid, @Parameter String type, @Parameter int radius) throws Exception {
        System.out.println("rec message:" + place + "  mid:" + mid + "  type:" + type + "  radius:" + radius);
    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"));
@@ -99,7 +115,7 @@
                arrayList.add(reqEntity);
            }
        }
        System.out.println("rec message:" + arrayList);
        System.out.println("rec aroundPoi:" + arrayList);
        hash.put("poi", arrayList);
        String message = JSON.toJSONString(hash);
        webSocketController.sendAllMessage(message);
@@ -108,8 +124,12 @@
    @PostMapping("/queryMeta")
    @Operation(summary = "元信息查询")
    public R queryMeta(@Parameter String mid) {
        System.out.println("queryMeta");
    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);
@@ -121,43 +141,48 @@
        staticField.put("field", "sjnr");
        staticField.put("outfield", "count_" + filed);
        jsonArray.add(staticField);
        HashMap<String, String> formData = new HashMap<>();
        formData.put("token", token);
        formData.put("containCount", "true");
        formData.put("layerid", layerId);
        formData.put("dbid", dbid);
        HashMap<String, String> formData = getHashMap();
        formData.put("statistics", jsonArray.toString());
        formData.put("groupby", filed);
        String filedString = entityHttpUtil.getPostMessage(queryEntity, formData);
        System.out.println("rec message:" + filedString);
        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();
        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 message:" + dataObj);
            System.out.println("rec queryMeta:" + dataObj);
            String[] filedValue = new String[2];
            for (String key : dataObj.keySet()) {
                if (key == filed) {
                    filedValue[0]= dataObj.getString(key);
                    filedValue[0] = dataObj.getString(key);
                } else {
                    filedValue[1]= dataObj.getString(key);
                    filedValue[1] = dataObj.getString(key);
                }
            }
            markDown+="| "+  filedValue[0]+" | "+filedValue[1]+" |\n";
            markDown += "| " + filedValue[0] + " | " + filedValue[1] + " |\n";
        }
        markMap.put("markdown",markDown);
        markMap.put("markdown", markDown);
        markArray.add(markMap);
        hash.put("markdown",markArray);
        hash.put("content","地理实体数据库");
        System.out.println("rec message:" + hash);
        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) {
@@ -197,13 +222,9 @@
        String query = "sjnr  like '%" + type + "%'" + "";
        String key = getPublickey();
        String encrypt = RsaHelper.encrypt(key, query);
        HashMap formData = new HashMap<>();
        formData.put("token", token);
        HashMap formData = getHashMap();
        formData.put("start", "1");
        formData.put("count", "0");
        formData.put("containCount", "true");
        formData.put("layerid", layerId);
        formData.put("dbid", dbid);
        formData.put("where", encrypt);
        formData.put("box", wkt);
        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
@@ -218,13 +239,9 @@
        String query = "enti_name like '%" + place + "%'" + "";
        String key = getPublickey();
        String encrypt = RsaHelper.encrypt(key, query);
        HashMap formData = new HashMap<>();
        formData.put("token", token);
        HashMap formData = getHashMap();
        formData.put("start", "1");
        formData.put("count", "0");
        formData.put("containCount", "true");
        formData.put("layerid", layerId);
        formData.put("dbid", dbid);
        formData.put("where", encrypt);
        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
        JSONObject jsonObject = JSON.parseObject(jsonString);