From 13d8b973b6c5c2fe0b37e0ccdd882b2c808c87bb Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Wed, 4 Oct 2023 22:10:05 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90config=E3=80=91?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA=E6=9B=B4=E6=96=B0=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E9=85=8D=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/config/api/ConfigServiceApi.java | 23 +++++++++++++++++++ .../modular/service/SysConfigService.java | 5 ++-- .../service/impl/SysConfigServiceImpl.java | 13 +++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 kernel-d-config/config-api/src/main/java/cn/stylefeng/roses/kernel/config/api/ConfigServiceApi.java diff --git a/kernel-d-config/config-api/src/main/java/cn/stylefeng/roses/kernel/config/api/ConfigServiceApi.java b/kernel-d-config/config-api/src/main/java/cn/stylefeng/roses/kernel/config/api/ConfigServiceApi.java new file mode 100644 index 000000000..b99c2033c --- /dev/null +++ b/kernel-d-config/config-api/src/main/java/cn/stylefeng/roses/kernel/config/api/ConfigServiceApi.java @@ -0,0 +1,23 @@ +package cn.stylefeng.roses.kernel.config.api; + +/** + * 系统配置的操作API + * + * @author fengshuonan + * @since 2023/10/4 22:05 + */ +public interface ConfigServiceApi { + + /** + * 更新系统配置的值,通过配置的编码 + *

+ * 同时更新数据库的和缓存的配置 + * + * @param code 配置编码 + * @param value 配置值 + * @author fengshuonan + * @since 2023/10/4 22:05 + */ + void updateConfigByCode(String code, String value); + +} diff --git a/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/SysConfigService.java b/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/SysConfigService.java index 321047d6e..37a7d1256 100644 --- a/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/SysConfigService.java +++ b/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/SysConfigService.java @@ -24,6 +24,7 @@ */ package cn.stylefeng.roses.kernel.config.modular.service; +import cn.stylefeng.roses.kernel.config.api.ConfigServiceApi; import cn.stylefeng.roses.kernel.config.api.InitConfigApi; import cn.stylefeng.roses.kernel.config.api.pojo.ConfigInitRequest; import cn.stylefeng.roses.kernel.config.modular.entity.SysConfig; @@ -38,7 +39,7 @@ import com.baomidou.mybatisplus.extension.service.IService; * @author fengshuonan * @since 2020/4/14 11:14 */ -public interface SysConfigService extends IService, InitConfigApi { +public interface SysConfigService extends IService, InitConfigApi, ConfigServiceApi { /** * 添加系统参数配置 @@ -65,7 +66,7 @@ public interface SysConfigService extends IService, InitConfigApi { * @date 2023/07/03 21:29 */ void batchDelete(SysConfigParam sysConfigParam); - + /** * 删除系统参数配置 * diff --git a/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/impl/SysConfigServiceImpl.java b/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/impl/SysConfigServiceImpl.java index 4c624e9e3..0946211a0 100644 --- a/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/impl/SysConfigServiceImpl.java +++ b/kernel-d-config/config-business/src/main/java/cn/stylefeng/roses/kernel/config/modular/service/impl/SysConfigServiceImpl.java @@ -336,4 +336,17 @@ public class SysConfigServiceImpl extends ServiceImpl sysConfigLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + sysConfigLambdaUpdateWrapper.eq(SysConfig::getConfigCode, code); + sysConfigLambdaUpdateWrapper.set(SysConfig::getConfigValue, value); + this.update(sysConfigLambdaUpdateWrapper); + + // 更新缓存中的值 + ConfigContext.me().putConfig(code, value); + } + }