批量删除字典缓存刷新

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; 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 @Override
public int deleteDictDataById(Long dictCode) 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 @Override
public int deleteDictDataByIds(String ids) 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()); dictData.setCreateBy(ShiroUtils.getLoginName());
String dictType = dictData.getDictType(); String dictType = dictData.getDictType();
int row = dictDataMapper.insertDictData(dictData); int row = dictDataMapper.insertDictData(dictData);
if(row > 0) { DictUtils.flushDictList(dictType, row);
// 新增成功修改缓存信息
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);
}
return row; return row;
} }
@ -130,12 +131,7 @@ public class DictDataServiceImpl implements IDictDataService
dictData.setUpdateBy(ShiroUtils.getLoginName()); dictData.setUpdateBy(ShiroUtils.getLoginName());
String dictType = dictData.getDictType(); String dictType = dictData.getDictType();
int row = dictDataMapper.updateDictData(dictData); int row = dictDataMapper.updateDictData(dictData);
if(row > 0) { DictUtils.flushDictList(dictType, row);
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);
}
return row; return row;
} }

View File

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