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); + } + }