From 223e200a69aff78811cd93de72f6053532f97d3c Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 18 三月 2026 12:47:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/system/controller/ConfigController.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/system/controller/ConfigController.java b/src/main/java/com/zy/system/controller/ConfigController.java
index 8051546..6bf27b8 100644
--- a/src/main/java/com/zy/system/controller/ConfigController.java
+++ b/src/main/java/com/zy/system/controller/ConfigController.java
@@ -31,12 +31,7 @@
     @RequestMapping(value = "/config/refreshCache")
     @ManagerAuth
     public R refreshCache(){
-        HashMap<String, String> systemConfigMap = new HashMap<>();
-        List<Config> configList = configService.list(new QueryWrapper<>());
-        for (Config config : configList) {
-            systemConfigMap.put(config.getCode(), config.getValue());
-        }
-        redisUtil.set(RedisKeyType.SYSTEM_CONFIG_MAP.key, systemConfigMap);
+        refreshCacheData();
         return R.ok();
     }
 
@@ -85,6 +80,7 @@
     @RequestMapping(value = "/config/updateBatch")
     @ManagerAuth
     public R updateBatch(@RequestBody List<ConfigUpdateBatchParam> params){
+        boolean updated = false;
         for (ConfigUpdateBatchParam param : params) {
             String code = param.getCode();
             String value = param.getValue();
@@ -92,9 +88,20 @@
             if (config == null) {
                 continue;
             }
+            if (Short.valueOf((short) 2).equals(config.getType()) && !checkJson(value)) {
+                return R.error(config.getCode() + " json瑙f瀽澶辫触");
+            }
+            if (Objects.equals(config.getValue(), value)) {
+                continue;
+            }
 
             config.setValue(value);
             configService.updateById(config);
+            updated = true;
+        }
+        if (updated) {
+            Parameter.reset();
+            refreshCacheData();
         }
         return R.ok();
     }
@@ -229,4 +236,13 @@
         return parse != null;
     }
 
+    private void refreshCacheData() {
+        HashMap<String, String> systemConfigMap = new HashMap<>();
+        List<Config> configList = configService.list(new QueryWrapper<>());
+        for (Config config : configList) {
+            systemConfigMap.put(config.getCode(), config.getValue());
+        }
+        redisUtil.set(RedisKeyType.SYSTEM_CONFIG_MAP.key, systemConfigMap);
+    }
+
 }

--
Gitblit v1.9.1