From 5b05d4a1234568a5a8fda19d2595c90ea79fa41b Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期五, 12 八月 2022 12:17:28 +0800
Subject: [PATCH] 个人中心修改密码去除多余的user传递
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java | 79 ++++++++++++++++++++++++---------------
1 files changed, 49 insertions(+), 30 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 8705c41..9056eda 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,6 +1,9 @@
package com.ruoyi.system.service.impl;
+import java.util.Comparator;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -8,7 +11,7 @@
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;
@@ -35,12 +38,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 +74,12 @@
public List<SysDictData> selectDictDataByType(String dictType)
{
List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
- if (null!=dictDatas&&!dictDatas.isEmpty())
+ if (StringUtils.isNotEmpty(dictDatas))
{
return dictDatas;
}
dictDatas = dictDataMapper.selectDictDataByType(dictType);
- if (null!=dictDatas&&!dictDatas.isEmpty())
+ if (StringUtils.isNotEmpty(dictDatas))
{
DictUtils.setDictCache(dictType, dictDatas);
return dictDatas;
@@ -117,49 +115,69 @@
* 鎵归噺鍒犻櫎瀛楀吀绫诲瀷淇℃伅
*
* @param dictIds 闇�瑕佸垹闄ょ殑瀛楀吀ID
- * @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()
+ {
+ SysDictData dictData = new SysDictData();
+ dictData.setStatus("0");
+ Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
+ for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet())
+ {
+ DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
+ }
+ }
+
+ /**
+ * 娓呯┖瀛楀吀缂撳瓨鏁版嵁
+ */
+ @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 +185,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