diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java index ba7bb2b..f8e169f 100644 --- a/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java +++ b/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java @@ -1,6 +1,9 @@ package com.ruoyi.project.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; @@ -135,11 +138,12 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService @Override public void loadingDictCache() { - List dictTypeList = dictTypeMapper.selectDictTypeAll(); - for (SysDictType dictType : dictTypeList) + SysDictData dictData = new SysDictData(); + dictData.setStatus("0"); + Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); + for (Map.Entry> entry : dictDataMap.entrySet()) { - List dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType()); - DictUtils.setDictCache(dictType.getDictType(), dictDatas); + DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); } }