From f44135f835bf62319f9bb8a32e4592a707e5e8c1 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期日, 27 四月 2025 11:09:55 +0800
Subject: [PATCH] SSO登录逻辑再修改

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/config/CaffeineCacheConfiguration.java |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/config/CaffeineCacheConfiguration.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/config/CaffeineCacheConfiguration.java
index d50a4e1..1c85166 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/config/CaffeineCacheConfiguration.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/config/CaffeineCacheConfiguration.java
@@ -1,7 +1,9 @@
 package com.dy.sso.config;
 
 
+import com.dy.common.util.NumUtil;
 import com.github.benmanes.caffeine.cache.Caffeine;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.CacheManager;
 import org.springframework.cache.caffeine.CaffeineCacheManager;
 import org.springframework.context.annotation.Bean;
@@ -10,6 +12,15 @@
 
 @Configuration
 public class CaffeineCacheConfiguration {
+    private static final int cacheInitialCapacityDefault = 10 ;
+    private static final int cacheMaximumSizeDefault = 10000 ;
+    private static final int cacheDurationDefault = 720 ;
+
+    @Value("${pipIrr.sso.cacheMaximumSize}")
+    private String cacheMaximumSize ;
+
+    @Value("${pipIrr.sso.cacheDuration}")
+    private String cacheDuration ;
     /*
       initialCapacity=[integer]: 鍒濆鐨勭紦瀛樼┖闂村ぇ灏�
       maximumSize=[long]: 缂撳瓨鐨勬渶澶ф潯鏁�
@@ -28,11 +39,23 @@
      */
     @Bean
     public CacheManager cacheManager() {
+        int cacheMaximumSizeInt;
+        int cacheDurationInt;
+        if(NumUtil.isPlusIntNumber(cacheMaximumSize)){
+            cacheMaximumSizeInt = Integer.parseInt(cacheMaximumSize) ;
+        }else{
+            cacheMaximumSizeInt = cacheMaximumSizeDefault ;
+        }
+        if(NumUtil.isPlusIntNumber(cacheDuration)){
+            cacheDurationInt = Integer.parseInt(cacheDuration) ;
+        }else{
+            cacheDurationInt = cacheDurationDefault ;
+        }
         CaffeineCacheManager cacheManager = new CaffeineCacheManager();
         cacheManager.setCaffeine(Caffeine.newBuilder()
-                .initialCapacity(10)
-                .maximumSize(10000)
-                .expireAfterAccess(30, TimeUnit.MINUTES));
+                .initialCapacity(cacheInitialCapacityDefault)
+                .maximumSize(cacheMaximumSizeInt)
+                .expireAfterAccess(cacheDurationInt, TimeUnit.MINUTES));
 
         return cacheManager;
     }

--
Gitblit v1.8.0