|  | @@ -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)
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 加载字典缓存数据
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public void loadingDictCache()
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll();
 | 
	
		
			
				|  |  | +        for (SysDictType dictType : dictTypeList)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            DictUtils.clearDictCache();
 | 
	
		
			
				|  |  | +            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
 | 
	
		
			
				|  |  | +            DictUtils.setDictCache(dictType.getDictType(), dictDatas);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return count;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     * 清空缓存数据
 | 
	
		
			
				|  |  | +     * 清空字典缓存数据
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    @Override
 | 
	
		
			
				|  |  | -    public void clearCache()
 | 
	
		
			
				|  |  | +    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;
 | 
	
		
			
				|  |  |      }
 |