From 462ccbb25093542375bf4dc165b904b86bf19c14 Mon Sep 17 00:00:00 2001 From: huk Date: Sat, 27 Sep 2025 11:26:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(system):=20=E6=B7=BB=E5=8A=A0=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E5=AD=97=E5=85=B8=E7=BC=93=E5=AD=98=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 GlobalConstants 中新增全局字典 Redis 键 - 更新 SysDictTypeServiceImpl 使用全局字典缓存键 - 在 SysDictDataMapper 中忽略租户上下文以支持默认租户查询 --- .../common/core/constant/GlobalConstants.java | 5 +++++ .../org/dromara/system/mapper/SysDictDataMapper.java | 12 +++++++----- .../system/service/impl/SysDictTypeServiceImpl.java | 3 ++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java index e35d3288c..00fe94be7 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java @@ -12,6 +12,11 @@ public interface GlobalConstants { */ String GLOBAL_REDIS_KEY = "global:"; + /** + * 全局字典 redis key + */ + String GLOBAL_DICT_KEY = GLOBAL_REDIS_KEY + "sys_dict"; + /** * 验证码 redis key */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java index 0fdee681f..aa18be473 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java @@ -3,6 +3,7 @@ package org.dromara.system.mapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysDictData; import org.dromara.system.domain.vo.SysDictDataVo; @@ -35,10 +36,11 @@ public interface SysDictDataMapper extends BaseMapperPlus selectDictDataByTypeWithDefaultTenantID(String dictType) { - return selectVoList( - new LambdaQueryWrapper() - .eq(SysDictData::getDictType, dictType) - .eq(SysDictData::getTenantId, TenantConstants.DEFAULT_TENANT_ID) - .orderByAsc(SysDictData::getDictSort)); + return + TenantHelper.ignore(() -> selectVoList( + new LambdaQueryWrapper() + .eq(SysDictData::getDictType, dictType) + .eq(SysDictData::getTenantId, TenantConstants.DEFAULT_TENANT_ID) + .orderByAsc(SysDictData::getDictSort))); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java index f31cfd08d..0ae6f4e5f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.CacheNames; +import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.domain.dto.DictDataDTO; import org.dromara.common.core.domain.dto.DictTypeDTO; import org.dromara.common.core.exception.ServiceException; @@ -110,7 +111,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService, DictService * @param dictType 字典类型 * @return 字典数据集合信息 */ - @Cacheable(cacheNames = CacheNames.SYS_DICT_TYPE_WITH_DEFAULT_TENANTID, key = "#dictType") + @Cacheable(cacheNames = GlobalConstants.GLOBAL_DICT_KEY, key = "#dictType") @Override public List selectDictDataByTypeWithDefaultTenantID(String dictType) { List dictDatas = dictDataMapper.selectDictDataByTypeWithDefaultTenantID(dictType);