Bläddra i källkod

修复 缓存不同步问题

18339543638 2 år sedan
förälder
incheckning
4bb1029ac8

+ 7 - 0
nb-common/config-common/src/main/java/com/nb/common/config/utils/ConfigUtil.java

@@ -39,4 +39,11 @@ public class ConfigUtil {
         SpringUtil.getBean(RedisUtils.class).del(keys.toArray(new String[0]));
     }
 
+    public static void removeConfigValue(String key) {
+        if (StrUtil.isBlank(key) || StrUtil.isBlank(key)) {
+            return;
+        }
+        SpringUtil.getBean(RedisUtils.class).del(getCacheKey(key));
+    }
+
 }

+ 3 - 0
nb-service/web-service/src/main/java/com/nb/web/service/system/service/impl/SysConfigServiceImpl.java

@@ -74,6 +74,7 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
         if (!this.checkUniqueConfigKey(req.getConfigKey(), req.getId())) {
             throw new CustomException("参数键名已存在");
         }
+        ConfigUtil.removeConfigValue(req.getConfigKey());
         SysConfig entity = BeanUtil.copyProperties(req, SysConfig.class);
         this.updateById(entity);
     }
@@ -82,6 +83,8 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
     @Transactional(rollbackFor = Exception.class)
     public void remove(String ids) {
         List<String> idList = Arrays.asList(ids.split(","));
+        List<SysConfig> sysConfigs = this.listByIds(idList);
+        sysConfigs.forEach(config->ConfigUtil.removeConfigValue(config.getConfigKey()));
         this.removeByIds(idList);
     }