From af8f6fb713ec7991d259424399963ec84ea3b288 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期六, 25 四月 2026 09:16:25 +0800
Subject: [PATCH] lsh#

---
 asrs-schedule/src/main/java/com/vincent/rsf/schedule/system/service/impl/ConfigServiceImpl.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/asrs-schedule/src/main/java/com/vincent/rsf/schedule/system/service/impl/ConfigServiceImpl.java b/asrs-schedule/src/main/java/com/vincent/rsf/schedule/system/service/impl/ConfigServiceImpl.java
index 9299ff4..ca7dcae 100644
--- a/asrs-schedule/src/main/java/com/vincent/rsf/schedule/system/service/impl/ConfigServiceImpl.java
+++ b/asrs-schedule/src/main/java/com/vincent/rsf/schedule/system/service/impl/ConfigServiceImpl.java
@@ -12,6 +12,7 @@
 import com.vincent.rsf.schedule.system.enums.StatusType;
 import com.vincent.rsf.schedule.system.mapper.ConfigMapper;
 import com.vincent.rsf.schedule.system.service.ConfigService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import jakarta.annotation.PostConstruct;
@@ -23,6 +24,7 @@
 /**
  * Created by vincent on 8/30/2024
  */
+@Slf4j
 @Service("configService")
 public class ConfigServiceImpl extends ServiceImpl<ConfigMapper, Config> implements ConfigService {
 
@@ -34,6 +36,18 @@
         for (Config config : list) {
             CONFIG_CACHE.put(config.getFlag(), config);
         }
+    }
+
+    @Override
+    public void refreshCache() {
+        List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getStatus, StatusType.ENABLE.val));
+        Map<String, Config> newCache = new ConcurrentHashMap<>();
+        for (Config config : list) {
+            newCache.put(config.getFlag(), config);
+        }
+        CONFIG_CACHE.clear();
+        CONFIG_CACHE.putAll(newCache);
+        log.info("CONFIG_CACHE 宸插埛鏂帮紝鍏� {} 鏉¢厤缃�", newCache.size());
     }
 
     @Override
@@ -134,6 +148,11 @@
         if (!this.update(new LambdaUpdateWrapper<Config>().set(Config::getVal, config.getVal()).eq(Config::getFlag, config.getFlag()))) {
             throw new CoolException("淇敼澶辫触锛侊紒");
         }
+        // 鍚屾鏇存柊缂撳瓨
+        Config cached = CONFIG_CACHE.get(config.getFlag());
+        if (cached != null) {
+            cached.setVal(config.getVal());
+        }
         return R.ok();
     }
 

--
Gitblit v1.9.1