feat(system): 添加全局字典缓存支持
- 在 GlobalConstants 中新增全局字典 Redis 键 - 更新 SysDictTypeServiceImpl 使用全局字典缓存键 - 在 SysDictDataMapper 中忽略租户上下文以支持默认租户查询
This commit is contained in:
parent
4d6065d4da
commit
462ccbb250
@ -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
|
||||
*/
|
||||
|
@ -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<SysDictData, SysDictDa
|
||||
* @return 符合条件的字典数据列表
|
||||
*/
|
||||
default List<SysDictDataVo> selectDictDataByTypeWithDefaultTenantID(String dictType) {
|
||||
return selectVoList(
|
||||
new LambdaQueryWrapper<SysDictData>()
|
||||
.eq(SysDictData::getDictType, dictType)
|
||||
.eq(SysDictData::getTenantId, TenantConstants.DEFAULT_TENANT_ID)
|
||||
.orderByAsc(SysDictData::getDictSort));
|
||||
return
|
||||
TenantHelper.ignore(() -> selectVoList(
|
||||
new LambdaQueryWrapper<SysDictData>()
|
||||
.eq(SysDictData::getDictType, dictType)
|
||||
.eq(SysDictData::getTenantId, TenantConstants.DEFAULT_TENANT_ID)
|
||||
.orderByAsc(SysDictData::getDictSort)));
|
||||
}
|
||||
}
|
||||
|
@ -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<SysDictDataVo> selectDictDataByTypeWithDefaultTenantID(String dictType) {
|
||||
List<SysDictDataVo> dictDatas = dictDataMapper.selectDictDataByTypeWithDefaultTenantID(dictType);
|
||||
|
Loading…
x
Reference in New Issue
Block a user