From 5440387a9f8124c72053b6e5cab701dbd9629bdf Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Thu, 28 Dec 2023 02:46:49 +0800 Subject: [PATCH] fix: @Inner support init params --- .../monitor/controller/OperLogController.java | 2 ++ .../cloud/kicc/system/service/ConfigService.java | 11 +++++++++++ .../system/service/impl/ConfigServiceImpl.java | 15 ++++++++++++--- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/kicc-platform/kicc-platform-biz/kicc-monitor-biz/src/main/java/com/cloud/kicc/monitor/controller/OperLogController.java b/kicc-platform/kicc-platform-biz/kicc-monitor-biz/src/main/java/com/cloud/kicc/monitor/controller/OperLogController.java index b4608f75..fb39a1ce 100644 --- a/kicc-platform/kicc-platform-biz/kicc-monitor-biz/src/main/java/com/cloud/kicc/monitor/controller/OperLogController.java +++ b/kicc-platform/kicc-platform-biz/kicc-monitor-biz/src/main/java/com/cloud/kicc/monitor/controller/OperLogController.java @@ -53,6 +53,8 @@ public class OperLogController { @Inner @PostMapping("/save") public R save(@Valid @RequestBody OperLog operLog) { + // todo: 使用 @Inner 目前处于匿名用户 会导致基础数据为空 目前状态待处理! + // 可以使用 com.cloud.kicc.system.service.ConfigService.getValueByKey 进行系统配置的默认数据处理 return R.ok(operLogService.save(operLog)); } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/ConfigService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/ConfigService.java index b43a8f82..8cee9748 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/ConfigService.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/ConfigService.java @@ -13,6 +13,17 @@ import com.cloud.kicc.system.api.entity.Config; */ public interface ConfigService extends IService { + /** + * 获取配置参数缓存 + * @param key 参数键 + * @param tenantId 租户id在SecurityContextHolder处于匿名用户时使用 + * @return String 参数值 + */ + String getValueByKey(String key, String tenantId); + + /** + * 获取配置参数缓存 + */ String getValueByKey(String key); } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ConfigServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ConfigServiceImpl.java index 9ff250fc..1bf6b730 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ConfigServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ConfigServiceImpl.java @@ -1,5 +1,6 @@ package com.cloud.kicc.system.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.cloud.kicc.system.api.entity.Config; @@ -25,15 +26,23 @@ public class ConfigServiceImpl extends ServiceImpl impleme private final CacheManager cacheManager; - /** 获取配置参数缓存 */ @Override - public String getValueByKey(String key) { + public String getValueByKey(String key, String tenantId) { Cache cache = cacheManager.getCache(CacheConstants.CONFIG_PARAM); if (cache != null && cache.get(key) != null) { return (String) cache.get(key).get(); } else { - Config config = baseMapper.selectOne(new LambdaQueryWrapper().eq(Config::getKey, key)); + Config config = baseMapper.selectOne(new LambdaQueryWrapper() + .eq(Config::getKey, key) + .eq(StrUtil.isNotBlank(tenantId), Config::getTenantId, tenantId) + ); return config.getValue(); } } + + @Override + public String getValueByKey(String key) { + return getValueByKey(key, null); + } + }