From a006904724a07f0b10e967376c77a7a8c9d88364 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 30 九月 2021 11:18:41 +0800 Subject: [PATCH] fix --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java | 84 +++++++++++++++++++++++++----------------- 1 files changed, 50 insertions(+), 34 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index c38951b..4fb1559 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -1,19 +1,19 @@ package com.ruoyi.system.service.impl; -import java.util.List; -import javax.annotation.PostConstruct; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.entity.SysDictType; -import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.mapper.SysDictTypeMapper; import com.ruoyi.system.service.ISysDictTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.PostConstruct; +import java.util.List; /** * 瀛楀吀 涓氬姟灞傚鐞� @@ -35,12 +35,7 @@ @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(); } /** @@ -76,12 +71,12 @@ public List<SysDictData> selectDictDataByType(String dictType) { List<SysDictData> dictDatas = DictUtils.getDictCache(dictType); - if (StringUtils.isNotNull(dictDatas)) + if (StringUtils.isNotEmpty(dictDatas)) { return dictDatas; } dictDatas = dictDataMapper.selectDictDataByType(dictType); - if (StringUtils.isNotNull(dictDatas)) + if (StringUtils.isNotEmpty(dictDatas)) { DictUtils.setDictCache(dictType, dictDatas); return dictDatas; @@ -120,46 +115,66 @@ * @return 缁撴灉 */ @Override - public int deleteDictTypeByIds(Long[] dictIds) + public void deleteDictTypeByIds(Long[] dictIds) { for (Long dictId : dictIds) { SysDictType dictType = selectDictTypeById(dictId); if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) { - throw new CustomException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", dictType.getDictName())); + throw new ServiceException(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); + } + } + + /** + * 娓呯┖瀛楀吀缂撳瓨鏁版嵁 + */ + @Override + public void clearDictCache() { DictUtils.clearDictCache(); } /** + * 閲嶇疆瀛楀吀缂撳瓨鏁版嵁 + */ + @Override + 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 +182,20 @@ /** * 淇敼淇濆瓨瀛楀吀绫诲瀷淇℃伅 * - * @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; } -- Gitblit v1.9.3