批量删除字典缓存刷新

This commit is contained in:
yawu_bear 2018-08-10 17:15:08 +08:00
parent 50add8ec34
commit a743ce4bfb
3 changed files with 45 additions and 16 deletions

View File

@ -55,4 +55,37 @@ public class DictUtils {
}
return dictList;
}
/**
* 增删改字典缓存刷新
*
* @param dictType
* @param row
*/
public static void flushDictList(String dictType, int row) {
if (row > 0) {
// 增删改成功修改缓存信息
List<DictData> dictList = dictDataMapper.selectDictDataByType(dictType);
CacheUtils.remove(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictType);
CacheUtils.put(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictType, dictList);
}
}
/**
* 缓存重置
*
* @param row
*/
public static void restAllDictList(int row) {
if (row > 0) {
// 增删改成功修改缓存信息
List<DictData> dictList = dictDataMapper.selectDictDataList(new DictData());
if (StringUtils.isNotEmpty(dictList)) {
for (DictData dictData : dictList) {
CacheUtils.removeAll(DictUtils.DICT_CACHE);
CacheUtils.put(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictData.getDictType(), dictList);
}
}
}
}
}

View File

@ -82,7 +82,11 @@ public class DictDataServiceImpl implements IDictDataService
@Override
public int deleteDictDataById(Long dictCode)
{
return dictDataMapper.deleteDictDataById(dictCode);
DictData dictData = dictDataMapper.selectDictDataById(dictCode);
String dictType = dictData.getDictType();
int row = dictDataMapper.deleteDictDataById(dictCode);
DictUtils.flushDictList(dictType, row);
return row;
}
/**
@ -94,7 +98,9 @@ public class DictDataServiceImpl implements IDictDataService
@Override
public int deleteDictDataByIds(String ids)
{
return dictDataMapper.deleteDictDataByIds(Convert.toStrArray(ids));
int row = dictDataMapper.deleteDictDataByIds(Convert.toStrArray(ids));
DictUtils.restAllDictList(row);
return row;
}
/**
@ -109,12 +115,7 @@ public class DictDataServiceImpl implements IDictDataService
dictData.setCreateBy(ShiroUtils.getLoginName());
String dictType = dictData.getDictType();
int row = dictDataMapper.insertDictData(dictData);
if(row > 0) {
// 新增成功修改缓存信息
List<DictData> dictList = dictDataMapper.selectDictDataByType(dictType);
CacheUtils.remove(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictType);
CacheUtils.put(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictType, dictList);
}
DictUtils.flushDictList(dictType, row);
return row;
}
@ -130,12 +131,7 @@ public class DictDataServiceImpl implements IDictDataService
dictData.setUpdateBy(ShiroUtils.getLoginName());
String dictType = dictData.getDictType();
int row = dictDataMapper.updateDictData(dictData);
if(row > 0) {
List<DictData> dictList = dictDataMapper.selectDictDataByType(dictType);
// 修改成功更新缓存信息
CacheUtils.remove(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictType);
CacheUtils.put(DictUtils.DICT_CACHE, DictUtils.DICT_CACHE_TYPE + dictType, dictList);
}
DictUtils.flushDictList(dictType, row);
return row;
}

View File

@ -5,9 +5,9 @@ spring:
driverClassName: com.mysql.jdbc.Driver
druid:
master: #主库
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true
url: jdbc:mysql://192.168.0.132:3306/rys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true
username: root
password: password
password: 123456
#slave: #从库
# open: true
# url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true