优化参数&字典缓存操作
This commit is contained in:
		| @@ -56,12 +56,22 @@ public interface ISysConfigService | ||||
|      * @param configIds 需要删除的参数ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteConfigByIds(Long[] configIds); | ||||
|     public void deleteConfigByIds(Long[] configIds); | ||||
|  | ||||
|     /** | ||||
|      * 清空缓存数据 | ||||
|      * 加载参数缓存数据 | ||||
|      */ | ||||
|     public void clearCache(); | ||||
|     public void loadingConfigCache(); | ||||
|  | ||||
|     /** | ||||
|      * 清空参数缓存数据 | ||||
|      */ | ||||
|     public void clearConfigCache(); | ||||
|  | ||||
|     /** | ||||
|      * 重置参数缓存数据 | ||||
|      */ | ||||
|     public void resetConfigCache(); | ||||
|  | ||||
|     /** | ||||
|      * 校验参数键名是否唯一 | ||||
|   | ||||
| @@ -41,7 +41,7 @@ public interface ISysDictDataService | ||||
|      * @param dictCodes 需要删除的字典数据ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteDictDataByIds(Long[] dictCodes); | ||||
|     public void deleteDictDataByIds(Long[] dictCodes); | ||||
|  | ||||
|     /** | ||||
|      * 新增保存字典数据信息 | ||||
|   | ||||
| @@ -56,12 +56,22 @@ public interface ISysDictTypeService | ||||
|      * @param dictIds 需要删除的字典ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteDictTypeByIds(Long[] dictIds); | ||||
|     public void deleteDictTypeByIds(Long[] dictIds); | ||||
|  | ||||
|     /** | ||||
|      * 清空缓存数据 | ||||
|      * 加载字典缓存数据 | ||||
|      */ | ||||
|     public void clearCache(); | ||||
|     public void loadingDictCache(); | ||||
|  | ||||
|     /** | ||||
|      * 清空字典缓存数据 | ||||
|      */ | ||||
|     public void clearDictCache(); | ||||
|  | ||||
|     /** | ||||
|      * 重置字典缓存数据 | ||||
|      */ | ||||
|     public void resetDictCache(); | ||||
|  | ||||
|     /** | ||||
|      * 新增保存字典类型信息 | ||||
|   | ||||
| @@ -37,11 +37,7 @@ public class SysConfigServiceImpl implements ISysConfigService | ||||
|     @PostConstruct | ||||
|     public void init() | ||||
|     { | ||||
|         List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig()); | ||||
|         for (SysConfig config : configsList) | ||||
|         { | ||||
|             redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); | ||||
|         } | ||||
|         loadingConfigCache(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -137,7 +133,7 @@ public class SysConfigServiceImpl implements ISysConfigService | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteConfigByIds(Long[] configIds) | ||||
|     public void deleteConfigByIds(Long[] configIds) | ||||
|     { | ||||
|         for (Long configId : configIds) | ||||
|         { | ||||
| @@ -146,26 +142,44 @@ public class SysConfigServiceImpl implements ISysConfigService | ||||
|             { | ||||
|                 throw new CustomException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); | ||||
|             } | ||||
|             configMapper.deleteConfigById(configId); | ||||
|             redisCache.deleteObject(getCacheKey(config.getConfigKey())); | ||||
|         } | ||||
|         int count = configMapper.deleteConfigByIds(configIds); | ||||
|         if (count > 0) | ||||
|         { | ||||
|             Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*"); | ||||
|             redisCache.deleteObject(keys); | ||||
|         } | ||||
|         return count; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 清空缓存数据 | ||||
|      * 加载参数缓存数据 | ||||
|      */ | ||||
|     @Override | ||||
|     public void clearCache() | ||||
|     public void loadingConfigCache() | ||||
|     { | ||||
|         List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig()); | ||||
|         for (SysConfig config : configsList) | ||||
|         { | ||||
|             redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 清空参数缓存数据 | ||||
|      */ | ||||
|     @Override | ||||
|     public void clearConfigCache() | ||||
|     { | ||||
|         Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*"); | ||||
|         redisCache.deleteObject(keys); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 重置参数缓存数据 | ||||
|      */ | ||||
|     @Override | ||||
|     public void resetConfigCache() | ||||
|     { | ||||
|         clearConfigCache(); | ||||
|         loadingConfigCache(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 校验参数键名是否唯一 | ||||
|      *  | ||||
|   | ||||
| @@ -63,29 +63,31 @@ public class SysDictDataServiceImpl implements ISysDictDataService | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteDictDataByIds(Long[] dictCodes) | ||||
|     public void deleteDictDataByIds(Long[] dictCodes) | ||||
|     { | ||||
|         int row = dictDataMapper.deleteDictDataByIds(dictCodes); | ||||
|         if (row > 0) | ||||
|         for (Long dictCode : dictCodes) | ||||
|         { | ||||
|             DictUtils.clearDictCache(); | ||||
|             SysDictData data = selectDictDataById(dictCode); | ||||
|             dictDataMapper.deleteDictDataById(dictCode); | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); | ||||
|             DictUtils.setDictCache(data.getDictType(), dictDatas); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 新增保存字典数据信息 | ||||
|      *  | ||||
|      * @param dictData 字典数据信息 | ||||
|      * @param data 字典数据信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int insertDictData(SysDictData dictData) | ||||
|     public int insertDictData(SysDictData data) | ||||
|     { | ||||
|         int row = dictDataMapper.insertDictData(dictData); | ||||
|         int row = dictDataMapper.insertDictData(data); | ||||
|         if (row > 0) | ||||
|         { | ||||
|             DictUtils.clearDictCache(); | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); | ||||
|             DictUtils.setDictCache(data.getDictType(), dictDatas); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
| @@ -93,16 +95,17 @@ public class SysDictDataServiceImpl implements ISysDictDataService | ||||
|     /** | ||||
|      * 修改保存字典数据信息 | ||||
|      *  | ||||
|      * @param dictData 字典数据信息 | ||||
|      * @param data 字典数据信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int updateDictData(SysDictData dictData) | ||||
|     public int updateDictData(SysDictData data) | ||||
|     { | ||||
|         int row = dictDataMapper.updateDictData(dictData); | ||||
|         int row = dictDataMapper.updateDictData(data); | ||||
|         if (row > 0) | ||||
|         { | ||||
|             DictUtils.clearDictCache(); | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); | ||||
|             DictUtils.setDictCache(data.getDictType(), dictDatas); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|   | ||||
| @@ -35,12 +35,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | ||||
|     @PostConstruct | ||||
|     public void init() | ||||
|     { | ||||
|         List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll(); | ||||
|         for (SysDictType dictType : dictTypeList) | ||||
|         { | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType()); | ||||
|             DictUtils.setDictCache(dictType.getDictType(), dictDatas); | ||||
|         } | ||||
|         loadingDictCache(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -120,7 +115,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteDictTypeByIds(Long[] dictIds) | ||||
|     public void deleteDictTypeByIds(Long[] dictIds) | ||||
|     { | ||||
|         for (Long dictId : dictIds) | ||||
|         { | ||||
| @@ -129,37 +124,54 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | ||||
|             { | ||||
|                 throw new CustomException(String.format("%1$s已分配,不能删除", dictType.getDictName())); | ||||
|             } | ||||
|             dictTypeMapper.deleteDictTypeById(dictId); | ||||
|             DictUtils.removeDictCache(dictType.getDictType()); | ||||
|         } | ||||
|         int count = dictTypeMapper.deleteDictTypeByIds(dictIds); | ||||
|         if (count > 0) | ||||
|         { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return count; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 清空缓存数据 | ||||
|      * 加载字典缓存数据 | ||||
|      */ | ||||
|     @Override | ||||
|     public void clearCache() | ||||
|     public void loadingDictCache() | ||||
|     { | ||||
|         List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll(); | ||||
|         for (SysDictType dictType : dictTypeList) | ||||
|         { | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType()); | ||||
|             DictUtils.setDictCache(dictType.getDictType(), dictDatas); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 清空字典缓存数据 | ||||
|      */ | ||||
|     public void clearDictCache() | ||||
|     { | ||||
|         DictUtils.clearDictCache(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 重置字典缓存数据 | ||||
|      */ | ||||
|     public void resetDictCache() | ||||
|     { | ||||
|         clearDictCache(); | ||||
|         loadingDictCache(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 新增保存字典类型信息 | ||||
|      *  | ||||
|      * @param dictType 字典类型信息 | ||||
|      * @param dict 字典类型信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int insertDictType(SysDictType dictType) | ||||
|     public int insertDictType(SysDictType dict) | ||||
|     { | ||||
|         int row = dictTypeMapper.insertDictType(dictType); | ||||
|         int row = dictTypeMapper.insertDictType(dict); | ||||
|         if (row > 0) | ||||
|         { | ||||
|             DictUtils.clearDictCache(); | ||||
|             DictUtils.setDictCache(dict.getDictType(), null); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
| @@ -167,19 +179,20 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | ||||
|     /** | ||||
|      * 修改保存字典类型信息 | ||||
|      *  | ||||
|      * @param dictType 字典类型信息 | ||||
|      * @param dict 字典类型信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     @Transactional | ||||
|     public int updateDictType(SysDictType dictType) | ||||
|     public int updateDictType(SysDictType dict) | ||||
|     { | ||||
|         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId()); | ||||
|         dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType()); | ||||
|         int row = dictTypeMapper.updateDictType(dictType); | ||||
|         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); | ||||
|         dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); | ||||
|         int row = dictTypeMapper.updateDictType(dict); | ||||
|         if (row > 0) | ||||
|         { | ||||
|             DictUtils.clearDictCache(); | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType()); | ||||
|             DictUtils.setDictCache(dict.getDictType(), dictDatas); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user