Search in sources :

Example 11 with SysDictData

use of com.ruoyi.common.core.domain.entity.SysDictData in project RuoYi-Vue by yangzongzhuan.

the class SysDictTypeServiceImpl method loadingDictCache.

/**
 * 加载字典缓存数据
 */
@Override
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()));
    }
}
Also used : SysDictData(com.ruoyi.common.core.domain.entity.SysDictData) List(java.util.List) Map(java.util.Map)

Example 12 with SysDictData

use of com.ruoyi.common.core.domain.entity.SysDictData in project RuoYi-Vue by yangzongzhuan.

the class DictUtils method getDictLabel.

/**
 * 根据字典类型和字典值获取字典标签
 *
 * @param dictType 字典类型
 * @param dictValue 字典值
 * @param separator 分隔符
 * @return 字典标签
 */
public static String getDictLabel(String dictType, String dictValue, String separator) {
    StringBuilder propertyString = new StringBuilder();
    List<SysDictData> datas = getDictCache(dictType);
    if (StringUtils.isNotNull(datas)) {
        if (StringUtils.containsAny(separator, dictValue)) {
            for (SysDictData dict : datas) {
                for (String value : dictValue.split(separator)) {
                    if (value.equals(dict.getDictValue())) {
                        propertyString.append(dict.getDictLabel()).append(separator);
                        break;
                    }
                }
            }
        } else {
            for (SysDictData dict : datas) {
                if (dictValue.equals(dict.getDictValue())) {
                    return dict.getDictLabel();
                }
            }
        }
    }
    return StringUtils.stripEnd(propertyString.toString(), separator);
}
Also used : SysDictData(com.ruoyi.common.core.domain.entity.SysDictData)

Example 13 with SysDictData

use of com.ruoyi.common.core.domain.entity.SysDictData in project hocassian-media-matrix by hokaso.

the class DictUtils method getDictValue.

/**
 * 根据字典类型和字典标签获取字典值
 *
 * @param dictType 字典类型
 * @param dictLabel 字典标签
 * @param separator 分隔符
 * @return 字典值
 */
public static String getDictValue(String dictType, String dictLabel, String separator) {
    StringBuilder propertyString = new StringBuilder();
    List<SysDictData> datas = getDictCache(dictType);
    if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas)) {
        for (SysDictData dict : datas) {
            for (String label : dictLabel.split(separator)) {
                if (label.equals(dict.getDictLabel())) {
                    propertyString.append(dict.getDictValue() + separator);
                    break;
                }
            }
        }
    } else {
        for (SysDictData dict : datas) {
            if (dictLabel.equals(dict.getDictLabel())) {
                return dict.getDictValue();
            }
        }
    }
    return StringUtils.stripEnd(propertyString.toString(), separator);
}
Also used : SysDictData(com.ruoyi.common.core.domain.entity.SysDictData)

Example 14 with SysDictData

use of com.ruoyi.common.core.domain.entity.SysDictData in project hocassian-media-matrix by hokaso.

the class DictUtils method getDictLabel.

/**
 * 根据字典类型和字典值获取字典标签
 *
 * @param dictType 字典类型
 * @param dictValue 字典值
 * @param separator 分隔符
 * @return 字典标签
 */
public static String getDictLabel(String dictType, String dictValue, String separator) {
    StringBuilder propertyString = new StringBuilder();
    List<SysDictData> datas = getDictCache(dictType);
    if (StringUtils.containsAny(separator, dictValue) && StringUtils.isNotEmpty(datas)) {
        for (SysDictData dict : datas) {
            for (String value : dictValue.split(separator)) {
                if (value.equals(dict.getDictValue())) {
                    propertyString.append(dict.getDictLabel() + separator);
                    break;
                }
            }
        }
    } else {
        for (SysDictData dict : datas) {
            if (dictValue.equals(dict.getDictValue())) {
                return dict.getDictLabel();
            }
        }
    }
    return StringUtils.stripEnd(propertyString.toString(), separator);
}
Also used : SysDictData(com.ruoyi.common.core.domain.entity.SysDictData)

Example 15 with SysDictData

use of com.ruoyi.common.core.domain.entity.SysDictData in project RuoYi-Flowable-Plus by KonBAI-Q.

the class SysDictTypeServiceImpl method getDictLabel.

/**
 * 根据字典类型和字典值获取字典标签
 *
 * @param dictType  字典类型
 * @param dictValue 字典值
 * @param separator 分隔符
 * @return 字典标签
 */
@Override
public String getDictLabel(String dictType, String dictValue, String separator) {
    StringBuilder propertyString = new StringBuilder();
    List<SysDictData> datas = selectDictDataByType(dictType);
    if (StringUtils.containsAny(dictValue, separator) && CollUtil.isNotEmpty(datas)) {
        for (SysDictData dict : datas) {
            for (String value : dictValue.split(separator)) {
                if (value.equals(dict.getDictValue())) {
                    propertyString.append(dict.getDictLabel() + separator);
                    break;
                }
            }
        }
    } else {
        for (SysDictData dict : datas) {
            if (dictValue.equals(dict.getDictValue())) {
                return dict.getDictLabel();
            }
        }
    }
    return StringUtils.stripEnd(propertyString.toString(), separator);
}
Also used : SysDictData(com.ruoyi.common.core.domain.entity.SysDictData)

Aggregations

SysDictData (com.ruoyi.common.core.domain.entity.SysDictData)21 SysDictType (com.ruoyi.common.core.domain.entity.SysDictType)6 Transactional (org.springframework.transaction.annotation.Transactional)4 List (java.util.List)1 Map (java.util.Map)1 PostConstruct (javax.annotation.PostConstruct)1