From 3f50254c68361dfc54f0f6e07df7a0b44ef203c8 Mon Sep 17 00:00:00 2001 From: 张洋洋 <10611411+yang-yang-z@user.noreply.gitee.com> Date: 星期三, 12 二月 2025 13:55:41 +0800 Subject: [PATCH] [add]根据坐标提取管线管点 --- src/main/java/com/se/simu/utils/EntityLibraryUtils.java | 79 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/se/simu/utils/EntityLibraryUtils.java b/src/main/java/com/se/simu/utils/EntityLibraryUtils.java index 2b73b52..0bbeb30 100644 --- a/src/main/java/com/se/simu/utils/EntityLibraryUtils.java +++ b/src/main/java/com/se/simu/utils/EntityLibraryUtils.java @@ -45,6 +45,50 @@ return null; } + public static String getLoginPublicKey() { + JSONObject jsonObject = new JSONObject(); + String json = jsonObject.toJSONString(); + // 鍙戦�丣SON鏍煎紡鐨凱OST璇锋眰 + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + HttpEntity<String> request = new HttpEntity<>(json, headers); + RestTemplate restTemplate = new RestTemplate(); + ResponseEntity<String> responseEntity = restTemplate.postForEntity("http://106.120.22.26:8024/account-service/security/publickey", request, String.class); + if (responseEntity.getStatusCode().is2xxSuccessful()) { + String body = responseEntity.getBody(); + return JSONObject.parseObject(body).getString("data"); + } + return null; + } + + /** + * 鐧诲綍瀹炰綋搴� + * + * @return 鍙傛暟鍐呰鎯� + */ + public static String login() throws Exception { + String publicKey = getLoginPublicKey(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("userid", "admin"); + jsonObject.put("password", encrypt("admin", publicKey)); + RestTemplate restTemplate = new RestTemplate(); + // 鍙戦�丣SON鏍煎紡鐨凱OST璇锋眰 + StringHttpMessageConverter converter = new StringHttpMessageConverter(StandardCharsets.UTF_8); + converter.setSupportedMediaTypes(MediaType.parseMediaTypes("text/plain;charset=UTF-8")); + restTemplate.getMessageConverters().add(0, converter); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.add("Access-Control-Allow-Origin", "*"); + String json = jsonObject.toJSONString(); + HttpEntity<String> request = new HttpEntity<>(json, headers); + ResponseEntity<String> responseEntity = restTemplate.exchange("http://106.120.22.26:8024/account-service/security/login", HttpMethod.POST, request, String.class); + if (responseEntity.getStatusCode().is2xxSuccessful()) { + String body = responseEntity.getBody(); + return JSONObject.parseObject(body).getJSONObject("data").getString("token"); + } + return null; + } + public static String encrypt(String str, String publicKey) throws Exception { //Base64缂栫爜鐨勫叕閽� byte[] decoded = Base64.decodeBase64(publicKey); @@ -90,7 +134,36 @@ * @param dtos 鍥涗釜鍧愭爣鐐� * @return 妗嗛�夊唴閮ㄧ绾� */ - public static JSONArray getPointInfo(List<GridDto> dtos) { + public static JSONArray getPointInfo(List<GridDto> dtos, String token) { + JSONArray paramArray = new JSONArray(); + for (GridDto dto : dtos + ) { + paramArray.add(ProjectionToGeographicUtil.get4548Point(dto.getLon(), dto.getLat())); + } + paramArray.add(ProjectionToGeographicUtil.get4548Point(dtos.get(0).getLon(), dtos.get(0).getLat())); + JSONObject jsonObject = getModule("layerQueryPointParams.json"); + jsonObject.getJSONObject("geometry").getJSONArray("coordinates").add(paramArray); + jsonObject.put("token", token); + RestTemplate restTemplate = new RestTemplate(); + // 鍙戦�丣SON鏍煎紡鐨凱OST璇锋眰 + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + String json = jsonObject.toJSONString(); + HttpEntity<String> request = new HttpEntity<>(json, headers); + ResponseEntity<String> responseEntity = restTemplate.postForEntity("http://106.120.22.26:8024/geo-service/entitydbdata/layer/query", request, String.class); + if (responseEntity.getStatusCode().is2xxSuccessful()) { + String body = responseEntity.getBody(); + return JSONObject.parseObject(body).getJSONObject("data").getJSONArray("items"); + } + return null; + } + /** + * 绠$嚎鍒楄〃 + * + * @param dtos 鍥涗釜鍧愭爣鐐� + * @return 妗嗛�夊唴閮ㄧ绾� + */ + public static JSONArray getLineInfo(List<GridDto> dtos, String token) { JSONArray paramArray = new JSONArray(); for (GridDto dto : dtos ) { @@ -99,6 +172,7 @@ paramArray.add(ProjectionToGeographicUtil.get4548Point(dtos.get(0).getLon(), dtos.get(0).getLat())); JSONObject jsonObject = getModule("layerQueryParams.json"); jsonObject.getJSONObject("geometry").getJSONArray("coordinates").add(paramArray); + jsonObject.put("token", token); RestTemplate restTemplate = new RestTemplate(); // 鍙戦�丣SON鏍煎紡鐨凱OST璇锋眰 HttpHeaders headers = new HttpHeaders(); @@ -119,9 +193,10 @@ * @param param 鏌ヨ鍙傛暟 * @return 鍙傛暟鍐呰鎯� */ - public static JSONArray getPointDetail(String param) { + public static JSONArray getLineDetail(String param,String token) { JSONObject jsonObject = getModule("layerQueryDetailParams.json"); jsonObject.put("where", param); + jsonObject.put("token",token); RestTemplate restTemplate = new RestTemplate(); // 鍙戦�丣SON鏍煎紡鐨凱OST璇锋眰 StringHttpMessageConverter converter = new StringHttpMessageConverter(StandardCharsets.UTF_8); -- Gitblit v1.9.3