【7.2.3】字典翻译增加缓存

pull/30/head
hansson 2022-06-17 16:41:34 +08:00
parent f4378bbfe4
commit 7aedb62537
2 changed files with 24 additions and 1 deletions

View File

@ -69,6 +69,12 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>cache-api</artifactId>
<version>7.2.1</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>

View File

@ -27,6 +27,7 @@ package cn.stylefeng.roses.kernel.dict.modular.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
@ -73,6 +74,12 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
@Resource @Resource
private DictTypeService dictTypeService; private DictTypeService dictTypeService;
@Resource
private CacheOperatorApi<String> defaultStringMemoryCacheOperator;
private static String CACHE_PREFIX = "dict:";
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void add(DictRequest dictRequest) { public void add(DictRequest dictRequest) {
@ -94,6 +101,9 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
SysDict sysDict = this.querySysDict(dictRequest); SysDict sysDict = this.querySysDict(dictRequest);
sysDict.setDelFlag(YesOrNotEnum.Y.getCode()); sysDict.setDelFlag(YesOrNotEnum.Y.getCode());
this.updateById(sysDict); this.updateById(sysDict);
// 清除缓存中的字典值
defaultStringMemoryCacheOperator.remove(CACHE_PREFIX + sysDict.getDictTypeCode() + "|" + sysDict.getDictCode());
} }
@Override @Override
@ -112,6 +122,8 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
sysDict.setDictNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDict.getDictName())); sysDict.setDictNamePinyin(pinYinApi.parseEveryPinyinFirstLetter(sysDict.getDictName()));
this.updateById(sysDict); this.updateById(sysDict);
// 清除缓存中的字典值
defaultStringMemoryCacheOperator.remove(CACHE_PREFIX + sysDict.getDictTypeCode() + "|" + sysDict.getDictCode());
} }
@Override @Override
@ -157,6 +169,10 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
@Override @Override
public String getDictName(String dictTypeCode, String dictCode) { public String getDictName(String dictTypeCode, String dictCode) {
String dictName = defaultStringMemoryCacheOperator.get(CACHE_PREFIX + dictTypeCode + "|" + dictCode);
if(StrUtil.isNotEmpty(dictName)){
return dictName;
}
LambdaQueryWrapper<SysDict> sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDict> sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysDictLambdaQueryWrapper.eq(SysDict::getDictTypeCode, dictTypeCode); sysDictLambdaQueryWrapper.eq(SysDict::getDictTypeCode, dictTypeCode);
sysDictLambdaQueryWrapper.eq(SysDict::getDictCode, dictCode); sysDictLambdaQueryWrapper.eq(SysDict::getDictCode, dictCode);
@ -175,7 +191,8 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
return StrUtil.EMPTY; return StrUtil.EMPTY;
} }
String dictName = list.get(0).getDictName(); dictName = list.get(0).getDictName();
defaultStringMemoryCacheOperator.put(CACHE_PREFIX + dictTypeCode + "|" + dictCode, dictName);
if (dictName != null) { if (dictName != null) {
return dictName; return dictName;
} else { } else {