//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转换为WKT格式
|
//// WKTWriter wktWriter = new WKTWriter();
|
//
|
// // 将缓冲区Geometry转换为WKT格式
|
//// 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);
|
// }
|
//}
|