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