From 9d570d97c7b8e8abbeea9cb2ca09439db6744f3e Mon Sep 17 00:00:00 2001
From: xingjinshuang <xingjs@qq.com>
Date: 星期四, 26 十二月 2024 10:59:32 +0800
Subject: [PATCH] @xingjs@20241226@添加查询管线工具类,修改解决查询站点接口token存在无法获取的情况,解决后可正常获取token,并查询出需要的站点

---
 src/main/java/com/se/simu/controller/ProjectRelatedController.java    |    5 --
 src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java |   58 +++++++++++++++++++++++-----
 2 files changed, 47 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/se/simu/controller/ProjectRelatedController.java b/src/main/java/com/se/simu/controller/ProjectRelatedController.java
index 969be98..b5575bb 100644
--- a/src/main/java/com/se/simu/controller/ProjectRelatedController.java
+++ b/src/main/java/com/se/simu/controller/ProjectRelatedController.java
@@ -82,11 +82,6 @@
     @ApiOperation("3-鏌ヨ瀹炰綋搴撲笉鍚岀被鍨嬬殑淇℃伅")
     @GetMapping("/entity-type-info")
     public Object getEntityTypeInfo(EntityTypeInfo entityTypeInfo) {
-        getPublicKey();
-        LoginParams loginParams = new LoginParams();
-        loginParams.setUserid("admin");
-        loginParams.setPassword("admin");
-        loginEntity(loginParams);
         return projectRelatedService.getEntityTypeInfo(entityTypeInfo);
     }
 
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 9ab2252..b0352cc 100644
--- a/src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java
+++ b/src/main/java/com/se/simu/service/Impl/ProjectRelatedServiceImpl.java
@@ -88,15 +88,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 +136,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 +221,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 +302,19 @@
     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 {
+            // 鑾峰彇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<>();
@@ -299,7 +323,7 @@
         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() : "f6ff4412-4886-4c4b-83f7-13de24ee8353");
         params.put("like", "");
         params.put("querytype", "entity");
 
@@ -329,7 +353,19 @@
     public Object getEntityPipeInfo(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 {
+            // 鑾峰彇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<>();
@@ -339,7 +375,7 @@
         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", "1e677d48-8dff-4975-b9a0-c16500193629");
+        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