From 3417cf014a65765e02696c1d121ce58b2b4a8aed Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 08 四月 2025 15:55:36 +0800 Subject: [PATCH] 修改pom.xml --- src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 87 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java b/src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java index e6442cf..e3ffd4c 100644 --- a/src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java +++ b/src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java @@ -12,6 +12,7 @@ import com.se.simu.helper.CaffeineHelper; import com.se.simu.service.ProjectRelatedService; import com.se.simu.utils.CustomWebClient; +import com.se.simu.utils.EntityLibraryUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; @@ -88,15 +89,20 @@ @Override public Object loginEntity(LoginParams loginParams) { // 鍒ゆ柇redis涓紦瀛樻槸鍚﹀瓨鍦紙杩囨湡锛� - boolean isExists = Objects.nonNull(CaffeineHelper.getMd5(CacheConstants.USER_CACHE_KEY + "entity_db_response")); - if (isExists) { + boolean isExists = Objects.isNull(CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token")); + if (!isExists) { return JSONObject.parseObject((String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_response")); + } else { + // 娓呴櫎鎵�鏈夌紦瀛� + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "entity_db_response"); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "EntityPublicKey"); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "rsa_data_set"); } - // 璁剧疆璇锋眰浣� // 鑾峰彇绉侀挜鍜屽叕閽ワ紝闀垮害蹇呴』鏄�16銆�24鎴�32 String publicKey = (String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "rsa_data_set"); // 鍋囪浠嶳edis涓幏鍙栧埌鐢ㄦ埛鍚�,鍒ゆ柇 - if (!StringUtils.isNotBlank(publicKey)) { + if (!StringUtils.isNotBlank(publicKey) && Objects.isNull(publicKey)) { // 缂撳瓨涓病鏈夌敤鎴峰悕,鍒欒繘琛岀櫥褰� getPublicKey(); log.info("璋冪敤浜嗙櫥褰曡幏鍙栫敤鎴峰悕鏂规硶 $= "); @@ -131,6 +137,7 @@ // 鐧诲綍鎴愬姛鍚�,鑾峰彇data String data = JSONObject.parseObject(response).getString("data"); String token = JSONObject.parseObject(data).getString("token"); + log.info("token = " + token); // 璁剧疆data鍒癛edis涓� CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "entity_db_response"); CaffeineHelper.put(CacheConstants.USER_CACHE_KEY + "entity_db_response", response); @@ -215,10 +222,16 @@ */ @Override public Object getEntityPublicKey() { - // 鍒ゆ柇涓紦瀛樻槸鍚﹀瓨鍦紙杩囨湡锛� - boolean isExists = Objects.nonNull(CaffeineHelper.getMd5(CacheConstants.USER_CACHE_KEY + "EntityPublicKey")); - if (isExists) { + // 鍒ゆ柇redis涓紦瀛樻槸鍚﹀瓨鍦紙杩囨湡锛� + boolean isExists = Objects.isNull(CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "EntityPublicKey")); + if (!isExists) { return JSONObject.parseObject((String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "EntityPublicKey")); + } else { + // 娓呴櫎鎵�鏈夌紦瀛� + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "entity_db_response"); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "EntityPublicKey"); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "rsa_data_set"); } HashMap<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); @@ -290,7 +303,20 @@ public Object getEntityTypeInfo(EntityTypeInfo entityTypeInfo) { HashMap<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); - String token = (String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + String token; + // 鍒ゆ柇redis涓紦瀛樻槸鍚﹀瓨鍦紙杩囨湡锛� + boolean isExists = Objects.isNull(CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token")); + if (!isExists) { + token = (String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + } else { + try { + token = EntityLibraryUtils.login(); + CaffeineHelper.remove(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + CaffeineHelper.put(CacheConstants.USER_CACHE_KEY + "entity_db_token", token); + }catch (Exception e){ + return "鐧诲綍澶辫触锛�"; + } + } log.info("token = " + token); // 娣诲姞form鍙傛暟 HashMap<String, Object> params = new HashMap<>(); @@ -299,7 +325,59 @@ params.put("containCount", true); params.put("count", Objects.nonNull(entityTypeInfo.getCount()) ? entityTypeInfo.getCount() : 20); params.put("dbid", Objects.nonNull(entityTypeInfo.getDbid()) ? entityTypeInfo.getDbid() : "85257774fdb64e5f99f6778696cad02a"); - params.put("layerid", "f6ff4412-4886-4c4b-83f7-13de24ee8353"); + params.put("layerid", Objects.nonNull(entityTypeInfo.getLayerid()) ? entityTypeInfo.getLayerid() : "8208c5be-adc1-4e7b-b952-37362e0bef32"); + params.put("like", ""); + params.put("querytype", "entity"); + + CompletableFuture<String> postResponse = CustomWebClient.postAsFuture(queryUrl, params, headers, String.class); + // 寮傛澶勭悊鍝嶅簲 + postResponse.thenAccept(response -> { + log.info("response: {}", response); + if (response.contains("code")) { + try { + JSONObject postResponseJson = JSONObject.parseObject(response); + int statusCode = postResponseJson.getIntValue("code"); + log.info("statusCode = " + statusCode); + String data = postResponseJson.getString("data"); + log.info("getEntityTypeInfo = " + data); + } catch (Exception e) { + log.info("Failed to parse JSON: " + e.getMessage()); + } + } else { + log.info("No 'code' field in the response: " + response); + } + }); + return JSONObject.parseObject(postResponse.join()); + } + + + @Override + public Object getEntityPipeInfo(EntityTypeInfo entityTypeInfo) { + HashMap<String, String> headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + String token; + // 鍒ゆ柇redis涓紦瀛樻槸鍚﹀瓨鍦紙杩囨湡锛� + boolean isExists = Objects.isNull(CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token")); + if (!isExists) { + token = (String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + } else { + // 鑾峰彇token + LoginParams loginParams = new LoginParams(); + loginParams.setUserid("admin"); + loginParams.setPassword("admin"); + loginEntity(loginParams); + token = (String) CaffeineHelper.get(CacheConstants.USER_CACHE_KEY + "entity_db_token"); + } + log.info("token = " + token); + // 娣诲姞form鍙傛暟 + HashMap<String, Object> params = new HashMap<>(); + // e7e2af87096c45e0a14c0a4855cb0b90 + params.put("token", token); + params.put("start", Objects.nonNull(entityTypeInfo.getStart()) ? entityTypeInfo.getStart() : 1); + params.put("containCount", true); + params.put("count", Objects.nonNull(entityTypeInfo.getCount()) ? entityTypeInfo.getCount() : 20); + params.put("dbid", Objects.nonNull(entityTypeInfo.getDbid()) ? entityTypeInfo.getDbid() : "85257774fdb64e5f99f6778696cad02a"); + params.put("layerid", Objects.nonNull(entityTypeInfo.getLayerid()) ? entityTypeInfo.getLayerid() : "1e677d48-8dff-4975-b9a0-c16500193629"); params.put("like", ""); params.put("querytype", "entity"); -- Gitblit v1.9.3