需求:字典中有字典类型,字典值名,字典值,根据字典类型和字典值确定字典名。
所以提取字典中的字典类型和字典值拼接为key,字典值名作为value保存到map集合中。
集合方在缓存中,提供静态方法。
@Component
public class CacheUtils {
//存储字典code和name的值
public static Map<String,String> dictMap =new HashMap<String,String>();
@Resource
private SysDictDataDao sysDictDataDao;
@PostConstruct
public void init(){
//查询字典数据
List<SysDictDataEntity> list = sysDictDataDao.selectList(new QueryWrapper<>());
//将dict_code字段值和value字段值拼接作为facilityTypeMap的key,将name字段作为facilityTypeMap的value
dictMap = list.stream().collect(Collectors.toMap(t -> t.getDict_code() + t.getValue(), SysDictDataEntity::getName, (k1, k2) -> k2));
}
//传入字典类型和字典值数字构成key,获得字典值中文
public static String getName(String dictcode ,String value){
return dictMap.get(dictcode+value);
}
}