From cc3a00f52f356c893d9f21798e9e941bb9533d10 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期四, 05 九月 2024 19:57:26 +0800 Subject: [PATCH] 接口配置,添加agent意图接口 --- src/main/java/com/yb/controller/XzController.java | 164 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 107 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/yb/controller/XzController.java b/src/main/java/com/yb/controller/XzController.java index 1dea396..e2e73e6 100644 --- a/src/main/java/com/yb/controller/XzController.java +++ b/src/main/java/com/yb/controller/XzController.java @@ -1,95 +1,145 @@ 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.service.XzService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; +import java.util.*; -@Tag(name="鏂版櫤鎺ュ彛") + +@Tag(name = "鏂版櫤鎺ュ彛") @RestController @RequestMapping("/api/v1") +@Api(tags = "涓変釜鎰忓浘") public class XzController { @Autowired WebSocketController webSocketController; + @Autowired + private XzService xzService; + @Autowired + private XzConfig xzConfig; + + @ApiOperation("鏄剧ず鍦扮偣") @PostMapping("/poiMap") @Operation(summary = "鏄剧ず鍦扮偣") - public R poiMap(@Parameter String place,@Parameter String mid){ - System.out.println("rec message:"+place+" mid:"+mid); - HashMap<String,Object> hash = new HashMap<>(); - hash.put("func","poiMap"); - hash.put("mid","mid"); + public R poiMap(@RequestParam Map<String, String> allParams) throws Exception { + String place = allParams.get("place"); + String mid = allParams.get("mid"); + if (place == null || mid == null) { + return R.error("鏁版嵁浼犻�掗敊璇�"); + } + HashMap<String, Object> hash = xzService.getFuncMap("poiMap", mid); ReqEntity reqEntity = new ReqEntity(); - reqEntity.setPlace(place); - reqEntity.setX("120.9671"); - reqEntity.setY("13.5748"); - hash.put("poi",reqEntity); - + 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(filed)); + hash.put("poi", reqEntity); String message = JSON.toJSONString(hash); webSocketController.sendAllMessage(message); - return R.ok(hash); } - + @ApiOperation("鍛ㄨ竟灞炴�ф煡璇�") @PostMapping("/aroundPoi") - @Operation(summary = "鍛ㄨ竟鏌ヨ") - public R aroundPoi(@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); - + @Operation(summary = "鍛ㄨ竟灞炴�ф煡璇�") + public R aroundPoi(@RequestParam Map<String, String> allParams) throws Exception { + 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); + } + 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 = 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 = 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++) { + 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(filed)); + 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); } - - /*@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); - } -*/ + @ApiOperation("鍏冧俊鎭煡璇�") @PostMapping("/queryMeta") @Operation(summary = "鍏冧俊鎭煡璇�") - public R queryMeta(@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<>(); + 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 = xzService.getFuncMap("queryMeta", mid); +// 缁熻鏌ヨ鎺ュ彛鎷兼帴 + String filed = "sjnr"; + 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"); + 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]; - hash.put("meta",list); + 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); } + + } -- Gitblit v1.9.3