mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	字典管理添加缓存读取
This commit is contained in:
		| @@ -20,7 +20,7 @@ export function getData(dictCode) { | |||||||
| // 根据字典类型查询字典数据信息 | // 根据字典类型查询字典数据信息 | ||||||
| export function getDicts(dictType) { | export function getDicts(dictType) { | ||||||
|   return request({ |   return request({ | ||||||
|     url: '/system/dict/data/dictType/' + dictType, |     url: '/system/dict/data/type/' + dictType, | ||||||
|     method: 'get' |     method: 'get' | ||||||
|   }) |   }) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -43,6 +43,14 @@ export function delType(dictId) { | |||||||
|   }) |   }) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // 清理参数缓存 | ||||||
|  | export function clearCache() { | ||||||
|  |   return request({ | ||||||
|  |     url: '/system/dict/type/clearCache', | ||||||
|  |     method: 'delete' | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
| // 导出字典类型 | // 导出字典类型 | ||||||
| export function exportType(query) { | export function exportType(query) { | ||||||
|   return request({ |   return request({ | ||||||
|   | |||||||
| @@ -352,7 +352,6 @@ export default { | |||||||
|     }, |     }, | ||||||
|     /** 清理缓存按钮操作 */ |     /** 清理缓存按钮操作 */ | ||||||
|     handleClearCache() { |     handleClearCache() { | ||||||
|       const queryParams = this.queryParams; |  | ||||||
|       clearCache().then(response => { |       clearCache().then(response => { | ||||||
|         if (response.code === 200) { |         if (response.code === 200) { | ||||||
|           this.msgSuccess("清理成功"); |           this.msgSuccess("清理成功"); | ||||||
|   | |||||||
| @@ -94,6 +94,15 @@ | |||||||
|           v-hasPermi="['system:dict:export']" |           v-hasPermi="['system:dict:export']" | ||||||
|         >导出</el-button> |         >导出</el-button> | ||||||
|       </el-col> |       </el-col> | ||||||
|  |       <el-col :span="1.5"> | ||||||
|  |         <el-button | ||||||
|  |           type="danger" | ||||||
|  |           icon="el-icon-refresh" | ||||||
|  |           size="mini" | ||||||
|  |           @click="handleClearCache" | ||||||
|  |           v-hasPermi="['system:dict:remove']" | ||||||
|  |         >清理缓存</el-button> | ||||||
|  |       </el-col> | ||||||
|     </el-row> |     </el-row> | ||||||
|  |  | ||||||
|     <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange"> |     <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange"> | ||||||
| @@ -173,7 +182,7 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
| import { listType, getType, delType, addType, updateType, exportType } from "@/api/system/dict/type"; | import { listType, getType, delType, addType, updateType, exportType, clearCache } from "@/api/system/dict/type"; | ||||||
|  |  | ||||||
| export default { | export default { | ||||||
|   name: "Dict", |   name: "Dict", | ||||||
| @@ -344,6 +353,16 @@ export default { | |||||||
|         }).then(response => { |         }).then(response => { | ||||||
|           this.download(response.msg); |           this.download(response.msg); | ||||||
|         }).catch(function() {}); |         }).catch(function() {}); | ||||||
|  |     }, | ||||||
|  |     /** 清理缓存按钮操作 */ | ||||||
|  |     handleClearCache() { | ||||||
|  |       clearCache().then(response => { | ||||||
|  |         if (response.code === 200) { | ||||||
|  |           this.msgSuccess("清理成功"); | ||||||
|  |         } else { | ||||||
|  |           this.msgError(response.msg); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -114,6 +114,11 @@ public class Constants | |||||||
|      */ |      */ | ||||||
|     public static final String SYS_CONFIG_KEY = "sys_config:"; |     public static final String SYS_CONFIG_KEY = "sys_config:"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 字典管理 cache key | ||||||
|  |      */ | ||||||
|  |     public static final String SYS_DICT_KEY = "sys_dict:"; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 资源映射路径 前缀 |      * 资源映射路径 前缀 | ||||||
|      */ |      */ | ||||||
|   | |||||||
							
								
								
									
										64
									
								
								ruoyi/src/main/java/com/ruoyi/common/utils/DictUtils.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								ruoyi/src/main/java/com/ruoyi/common/utils/DictUtils.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | |||||||
|  | package com.ruoyi.common.utils; | ||||||
|  |  | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.List; | ||||||
|  | import com.ruoyi.common.constant.Constants; | ||||||
|  | import com.ruoyi.common.utils.spring.SpringUtils; | ||||||
|  | import com.ruoyi.framework.redis.RedisCache; | ||||||
|  | import com.ruoyi.project.system.domain.SysDictData; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 字典工具类 | ||||||
|  |  *  | ||||||
|  |  * @author ruoyi | ||||||
|  |  */ | ||||||
|  | public class DictUtils | ||||||
|  | { | ||||||
|  |     /** | ||||||
|  |      * 设置字典缓存 | ||||||
|  |      *  | ||||||
|  |      * @param key 参数键 | ||||||
|  |      * @param dictDatas 字典数据列表 | ||||||
|  |      */ | ||||||
|  |     public static void setDictCache(String key, List<SysDictData> dictDatas) | ||||||
|  |     { | ||||||
|  |         SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取字典缓存 | ||||||
|  |      *  | ||||||
|  |      * @param key 参数键 | ||||||
|  |      * @return dictDatas 字典数据列表 | ||||||
|  |      */ | ||||||
|  |     public static List<SysDictData> getDictCache(String key) | ||||||
|  |     { | ||||||
|  |         Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); | ||||||
|  |         if (StringUtils.isNotNull(cacheObj)) | ||||||
|  |         { | ||||||
|  |             List<SysDictData> DictDatas = StringUtils.cast(cacheObj); | ||||||
|  |             return DictDatas; | ||||||
|  |         } | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 清空字典缓存 | ||||||
|  |      */ | ||||||
|  |     public static void clearDictCache() | ||||||
|  |     { | ||||||
|  |         Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*"); | ||||||
|  |         SpringUtils.getBean(RedisCache.class).deleteObject(keys); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设置cache key | ||||||
|  |      *  | ||||||
|  |      * @param configKey 参数键 | ||||||
|  |      * @return 缓存键key | ||||||
|  |      */ | ||||||
|  |     public static String getCacheKey(String configKey) | ||||||
|  |     { | ||||||
|  |         return Constants.SYS_DICT_KEY + configKey; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -450,4 +450,10 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils | |||||||
|         } |         } | ||||||
|         return sb.toString(); |         return sb.toString(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @SuppressWarnings("unchecked") | ||||||
|  |     public static <T> T cast(Object obj) | ||||||
|  |     { | ||||||
|  |         return (T) obj; | ||||||
|  |     } | ||||||
| } | } | ||||||
| @@ -21,6 +21,7 @@ import com.ruoyi.framework.web.domain.AjaxResult; | |||||||
| import com.ruoyi.framework.web.page.TableDataInfo; | import com.ruoyi.framework.web.page.TableDataInfo; | ||||||
| import com.ruoyi.project.system.domain.SysDictData; | import com.ruoyi.project.system.domain.SysDictData; | ||||||
| import com.ruoyi.project.system.service.ISysDictDataService; | import com.ruoyi.project.system.service.ISysDictDataService; | ||||||
|  | import com.ruoyi.project.system.service.ISysDictTypeService; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 数据字典信息 |  * 数据字典信息 | ||||||
| @@ -34,6 +35,9 @@ public class SysDictDataController extends BaseController | |||||||
|     @Autowired |     @Autowired | ||||||
|     private ISysDictDataService dictDataService; |     private ISysDictDataService dictDataService; | ||||||
|  |  | ||||||
|  |     @Autowired | ||||||
|  |     private ISysDictTypeService dictTypeService; | ||||||
|  |  | ||||||
|     @PreAuthorize("@ss.hasPermi('system:dict:list')") |     @PreAuthorize("@ss.hasPermi('system:dict:list')") | ||||||
|     @GetMapping("/list") |     @GetMapping("/list") | ||||||
|     public TableDataInfo list(SysDictData dictData) |     public TableDataInfo list(SysDictData dictData) | ||||||
| @@ -66,10 +70,10 @@ public class SysDictDataController extends BaseController | |||||||
|     /** |     /** | ||||||
|      * 根据字典类型查询字典数据信息 |      * 根据字典类型查询字典数据信息 | ||||||
|      */ |      */ | ||||||
|     @GetMapping(value = "/dictType/{dictType}") |     @GetMapping(value = "/type/{dictType}") | ||||||
|     public AjaxResult dictType(@PathVariable String dictType) |     public AjaxResult dictType(@PathVariable String dictType) | ||||||
|     { |     { | ||||||
|         return AjaxResult.success(dictDataService.selectDictDataByType(dictType)); |         return AjaxResult.success(dictTypeService.selectDictDataByType(dictType)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -107,6 +107,18 @@ public class SysDictTypeController extends BaseController | |||||||
|         return toAjax(dictTypeService.deleteDictTypeByIds(dictIds)); |         return toAjax(dictTypeService.deleteDictTypeByIds(dictIds)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 清空缓存 | ||||||
|  |      */ | ||||||
|  |     @PreAuthorize("@ss.hasPermi('system:dict:remove')") | ||||||
|  |     @Log(title = "字典类型", businessType = BusinessType.CLEAN) | ||||||
|  |     @DeleteMapping("/clearCache") | ||||||
|  |     public AjaxResult clearCache() | ||||||
|  |     { | ||||||
|  |         dictTypeService.clearCache(); | ||||||
|  |         return AjaxResult.success(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获取字典选择框列表 |      * 获取字典选择框列表 | ||||||
|      */ |      */ | ||||||
|   | |||||||
| @@ -18,14 +18,6 @@ public interface ISysDictDataService | |||||||
|      */ |      */ | ||||||
|     public List<SysDictData> selectDictDataList(SysDictData dictData); |     public List<SysDictData> selectDictDataList(SysDictData dictData); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 根据字典类型查询字典数据 |  | ||||||
|      *  |  | ||||||
|      * @param dictType 字典类型 |  | ||||||
|      * @return 字典数据集合信息 |  | ||||||
|      */ |  | ||||||
|     public List<SysDictData> selectDictDataByType(String dictType); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 根据字典类型和字典键值查询字典数据信息 |      * 根据字典类型和字典键值查询字典数据信息 | ||||||
|      *  |      *  | ||||||
| @@ -43,14 +35,6 @@ public interface ISysDictDataService | |||||||
|      */ |      */ | ||||||
|     public SysDictData selectDictDataById(Long dictCode); |     public SysDictData selectDictDataById(Long dictCode); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 通过字典ID删除字典数据信息 |  | ||||||
|      *  |  | ||||||
|      * @param dictCode 字典数据ID |  | ||||||
|      * @return 结果 |  | ||||||
|      */ |  | ||||||
|     public int deleteDictDataById(Long dictCode); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 批量删除字典数据信息 |      * 批量删除字典数据信息 | ||||||
|      *  |      *  | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| package com.ruoyi.project.system.service; | package com.ruoyi.project.system.service; | ||||||
|  |  | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | import com.ruoyi.project.system.domain.SysDictData; | ||||||
| import com.ruoyi.project.system.domain.SysDictType; | import com.ruoyi.project.system.domain.SysDictType; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -25,6 +26,14 @@ public interface ISysDictTypeService | |||||||
|      */ |      */ | ||||||
|     public List<SysDictType> selectDictTypeAll(); |     public List<SysDictType> selectDictTypeAll(); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 根据字典类型查询字典数据 | ||||||
|  |      *  | ||||||
|  |      * @param dictType 字典类型 | ||||||
|  |      * @return 字典数据集合信息 | ||||||
|  |      */ | ||||||
|  |     public List<SysDictData> selectDictDataByType(String dictType); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 根据字典类型ID查询信息 |      * 根据字典类型ID查询信息 | ||||||
|      *  |      *  | ||||||
| @@ -41,14 +50,6 @@ public interface ISysDictTypeService | |||||||
|      */ |      */ | ||||||
|     public SysDictType selectDictTypeByType(String dictType); |     public SysDictType selectDictTypeByType(String dictType); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 通过字典ID删除字典信息 |  | ||||||
|      *  |  | ||||||
|      * @param dictId 字典ID |  | ||||||
|      * @return 结果 |  | ||||||
|      */ |  | ||||||
|     public int deleteDictTypeById(Long dictId); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 批量删除字典信息 |      * 批量删除字典信息 | ||||||
|      *  |      *  | ||||||
| @@ -57,6 +58,11 @@ public interface ISysDictTypeService | |||||||
|      */ |      */ | ||||||
|     public int deleteDictTypeByIds(Long[] dictIds); |     public int deleteDictTypeByIds(Long[] dictIds); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 清空缓存数据 | ||||||
|  |      */ | ||||||
|  |     public void clearCache(); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 新增保存字典类型信息 |      * 新增保存字典类型信息 | ||||||
|      *  |      *  | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ package com.ruoyi.project.system.service.impl; | |||||||
| import java.util.List; | import java.util.List; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
|  | import com.ruoyi.common.utils.DictUtils; | ||||||
| import com.ruoyi.project.system.domain.SysDictData; | import com.ruoyi.project.system.domain.SysDictData; | ||||||
| import com.ruoyi.project.system.mapper.SysDictDataMapper; | import com.ruoyi.project.system.mapper.SysDictDataMapper; | ||||||
| import com.ruoyi.project.system.service.ISysDictDataService; | import com.ruoyi.project.system.service.ISysDictDataService; | ||||||
| @@ -30,18 +31,6 @@ public class SysDictDataServiceImpl implements ISysDictDataService | |||||||
|         return dictDataMapper.selectDictDataList(dictData); |         return dictDataMapper.selectDictDataList(dictData); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 根据字典类型查询字典数据 |  | ||||||
|      *  |  | ||||||
|      * @param dictType 字典类型 |  | ||||||
|      * @return 字典数据集合信息 |  | ||||||
|      */ |  | ||||||
|     @Override |  | ||||||
|     public List<SysDictData> selectDictDataByType(String dictType) |  | ||||||
|     { |  | ||||||
|         return dictDataMapper.selectDictDataByType(dictType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 根据字典类型和字典键值查询字典数据信息 |      * 根据字典类型和字典键值查询字典数据信息 | ||||||
|      *  |      *  | ||||||
| @@ -67,18 +56,6 @@ public class SysDictDataServiceImpl implements ISysDictDataService | |||||||
|         return dictDataMapper.selectDictDataById(dictCode); |         return dictDataMapper.selectDictDataById(dictCode); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 通过字典ID删除字典数据信息 |  | ||||||
|      *  |  | ||||||
|      * @param dictCode 字典数据ID |  | ||||||
|      * @return 结果 |  | ||||||
|      */ |  | ||||||
|     @Override |  | ||||||
|     public int deleteDictDataById(Long dictCode) |  | ||||||
|     { |  | ||||||
|         return dictDataMapper.deleteDictDataById(dictCode); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 批量删除字典数据信息 |      * 批量删除字典数据信息 | ||||||
|      *  |      *  | ||||||
| @@ -87,7 +64,12 @@ public class SysDictDataServiceImpl implements ISysDictDataService | |||||||
|      */ |      */ | ||||||
|     public int deleteDictDataByIds(Long[] dictCodes) |     public int deleteDictDataByIds(Long[] dictCodes) | ||||||
|     { |     { | ||||||
|         return dictDataMapper.deleteDictDataByIds(dictCodes); |         int row = dictDataMapper.deleteDictDataByIds(dictCodes); | ||||||
|  |         if (row > 0) | ||||||
|  |         { | ||||||
|  |             DictUtils.clearDictCache(); | ||||||
|  |         } | ||||||
|  |         return row; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -99,7 +81,12 @@ public class SysDictDataServiceImpl implements ISysDictDataService | |||||||
|     @Override |     @Override | ||||||
|     public int insertDictData(SysDictData dictData) |     public int insertDictData(SysDictData dictData) | ||||||
|     { |     { | ||||||
|         return dictDataMapper.insertDictData(dictData); |         int row = dictDataMapper.insertDictData(dictData); | ||||||
|  |         if (row > 0) | ||||||
|  |         { | ||||||
|  |             DictUtils.clearDictCache(); | ||||||
|  |         } | ||||||
|  |         return row; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -111,6 +98,11 @@ public class SysDictDataServiceImpl implements ISysDictDataService | |||||||
|     @Override |     @Override | ||||||
|     public int updateDictData(SysDictData dictData) |     public int updateDictData(SysDictData dictData) | ||||||
|     { |     { | ||||||
|         return dictDataMapper.updateDictData(dictData); |         int row = dictDataMapper.updateDictData(dictData); | ||||||
|  |         if (row > 0) | ||||||
|  |         { | ||||||
|  |             DictUtils.clearDictCache(); | ||||||
|  |         } | ||||||
|  |         return row; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,11 +1,15 @@ | |||||||
| package com.ruoyi.project.system.service.impl; | package com.ruoyi.project.system.service.impl; | ||||||
|  |  | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | import javax.annotation.PostConstruct; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||||
| import com.ruoyi.common.constant.UserConstants; | import com.ruoyi.common.constant.UserConstants; | ||||||
|  | import com.ruoyi.common.exception.CustomException; | ||||||
|  | import com.ruoyi.common.utils.DictUtils; | ||||||
| import com.ruoyi.common.utils.StringUtils; | import com.ruoyi.common.utils.StringUtils; | ||||||
|  | import com.ruoyi.project.system.domain.SysDictData; | ||||||
| import com.ruoyi.project.system.domain.SysDictType; | import com.ruoyi.project.system.domain.SysDictType; | ||||||
| import com.ruoyi.project.system.mapper.SysDictDataMapper; | import com.ruoyi.project.system.mapper.SysDictDataMapper; | ||||||
| import com.ruoyi.project.system.mapper.SysDictTypeMapper; | import com.ruoyi.project.system.mapper.SysDictTypeMapper; | ||||||
| @@ -25,6 +29,20 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | |||||||
|     @Autowired |     @Autowired | ||||||
|     private SysDictDataMapper dictDataMapper; |     private SysDictDataMapper dictDataMapper; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目启动时,初始化字典到缓存 | ||||||
|  |      */ | ||||||
|  |     @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); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 根据条件分页查询字典类型 |      * 根据条件分页查询字典类型 | ||||||
|      *  |      *  | ||||||
| @@ -48,6 +66,29 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | |||||||
|         return dictTypeMapper.selectDictTypeAll(); |         return dictTypeMapper.selectDictTypeAll(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 根据字典类型查询字典数据 | ||||||
|  |      *  | ||||||
|  |      * @param dictType 字典类型 | ||||||
|  |      * @return 字典数据集合信息 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public List<SysDictData> selectDictDataByType(String dictType) | ||||||
|  |     { | ||||||
|  |         List<SysDictData> dictDatas = DictUtils.getDictCache(dictType); | ||||||
|  |         if (StringUtils.isNotNull(dictDatas)) | ||||||
|  |         { | ||||||
|  |             return dictDatas; | ||||||
|  |         } | ||||||
|  |         dictDatas = dictDataMapper.selectDictDataByType(dictType); | ||||||
|  |         if (StringUtils.isNotNull(dictDatas)) | ||||||
|  |         { | ||||||
|  |             DictUtils.setDictCache(dictType, dictDatas); | ||||||
|  |             return dictDatas; | ||||||
|  |         } | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 根据字典类型ID查询信息 |      * 根据字典类型ID查询信息 | ||||||
|      *  |      *  | ||||||
| @@ -71,18 +112,6 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | |||||||
|         return dictTypeMapper.selectDictTypeByType(dictType); |         return dictTypeMapper.selectDictTypeByType(dictType); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 通过字典ID删除字典信息 |  | ||||||
|      *  |  | ||||||
|      * @param dictId 字典ID |  | ||||||
|      * @return 结果 |  | ||||||
|      */ |  | ||||||
|     @Override |  | ||||||
|     public int deleteDictTypeById(Long dictId) |  | ||||||
|     { |  | ||||||
|         return dictTypeMapper.deleteDictTypeById(dictId); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 批量删除字典类型信息 |      * 批量删除字典类型信息 | ||||||
|      *  |      *  | ||||||
| @@ -91,7 +120,28 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | |||||||
|      */ |      */ | ||||||
|     public int deleteDictTypeByIds(Long[] dictIds) |     public int deleteDictTypeByIds(Long[] dictIds) | ||||||
|     { |     { | ||||||
|         return dictTypeMapper.deleteDictTypeByIds(dictIds); |         for (Long dictId : dictIds) | ||||||
|  |         { | ||||||
|  |             SysDictType dictType = selectDictTypeById(dictId); | ||||||
|  |             if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) | ||||||
|  |             { | ||||||
|  |                 throw new CustomException(String.format("%1$s已分配,不能删除", dictType.getDictName())); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         int count = dictTypeMapper.deleteDictTypeByIds(dictIds); | ||||||
|  |         if (count > 0) | ||||||
|  |         { | ||||||
|  |             DictUtils.clearDictCache(); | ||||||
|  |         } | ||||||
|  |         return count; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 清空缓存数据 | ||||||
|  |      */ | ||||||
|  |     public void clearCache() | ||||||
|  |     { | ||||||
|  |         DictUtils.clearDictCache(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -103,7 +153,12 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | |||||||
|     @Override |     @Override | ||||||
|     public int insertDictType(SysDictType dictType) |     public int insertDictType(SysDictType dictType) | ||||||
|     { |     { | ||||||
|         return dictTypeMapper.insertDictType(dictType); |         int row = dictTypeMapper.insertDictType(dictType); | ||||||
|  |         if (row > 0) | ||||||
|  |         { | ||||||
|  |             DictUtils.clearDictCache(); | ||||||
|  |         } | ||||||
|  |         return row; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -118,7 +173,12 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | |||||||
|     { |     { | ||||||
|         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId()); |         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId()); | ||||||
|         dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType()); |         dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType()); | ||||||
|         return dictTypeMapper.updateDictType(dictType); |         int row = dictTypeMapper.updateDictType(dictType); | ||||||
|  |         if (row > 0) | ||||||
|  |         { | ||||||
|  |             DictUtils.clearDictCache(); | ||||||
|  |         } | ||||||
|  |         return row; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 RuoYi
					RuoYi