Java tutorial
/** * Copyright © 2012-2013 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.lcw.one.modules.sys.utils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.lcw.one.common.utils.CacheUtils; import com.lcw.one.common.utils.SpringContextHolder; import com.lcw.one.modules.sys.dao.DictDao; import com.lcw.one.modules.sys.entity.Dict; import com.lcw.one.modules.sys.service.DictService; import org.apache.commons.lang3.StringUtils; import java.util.List; import java.util.Map; /** * * @author ThinkGem * @version 2013-5-29 */ public class DictUtils { private static DictService dictService = SpringContextHolder.getBean(DictService.class); public static final String CACHE_DICT_MAP = "dictMap"; public static String getDictLabel(String value, String type, String defaultValue) { if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(value)) { for (Dict dict : getDictList(type)) { if (type.equals(dict.getType()) && value.equals(dict.getValue())) { return dict.getLabel(); } } } return defaultValue; } public static String getDictValue(String label, String type, String defaultLabel) { if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(label)) { for (Dict dict : getDictList(type)) { if (type.equals(dict.getType()) && label.equals(dict.getLabel())) { return dict.getValue(); } } } return defaultLabel; } public static List<Dict> getDictList(String type) { @SuppressWarnings("unchecked") Map<String, List<Dict>> dictMap = (Map<String, List<Dict>>) CacheUtils.get(CACHE_DICT_MAP); if (dictMap == null) { dictMap = Maps.newHashMap(); for (Dict dict : dictService.findAllList()) { List<Dict> dictList = dictMap.get(dict.getType()); if (dictList != null) { dictList.add(dict); } else { dictMap.put(dict.getType(), Lists.newArrayList(dict)); } } CacheUtils.put(CACHE_DICT_MAP, dictMap); } List<Dict> dictList = dictMap.get(type); if (dictList == null) { dictList = Lists.newArrayList(); } return dictList; } }