|
@@ -15,6 +15,11 @@ import com.ruoyi.system.domain.SysDictData;
|
|
|
@Component
|
|
|
public class DictUtils
|
|
|
{
|
|
|
+
|
|
|
+ * 分隔符
|
|
|
+ */
|
|
|
+ public static final String SEPARATOR = ",";
|
|
|
+
|
|
|
|
|
|
* 设置字典缓存
|
|
|
*
|
|
@@ -52,21 +57,59 @@ public class DictUtils
|
|
|
*/
|
|
|
public static String getDictLabel(String dictType, String dictValue)
|
|
|
{
|
|
|
- if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotEmpty(dictValue))
|
|
|
+ return getDictLabel(dictType, dictValue, SEPARATOR);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 根据字典类型和字典标签获取字典值
|
|
|
+ *
|
|
|
+ * @param dictType 字典类型
|
|
|
+ * @param dictLabel 字典标签
|
|
|
+ * @return 字典值
|
|
|
+ */
|
|
|
+ public static String getDictValue(String dictType, String dictLabel)
|
|
|
+ {
|
|
|
+ return getDictValue(dictType, dictLabel, SEPARATOR);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 根据字典类型和字典值获取字典标签
|
|
|
+ *
|
|
|
+ * @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))
|
|
|
{
|
|
|
- List<SysDictData> datas = getDictCache(dictType);
|
|
|
- if (StringUtils.isNotEmpty(datas))
|
|
|
+ for (SysDictData dict : datas)
|
|
|
{
|
|
|
- for (SysDictData dict : datas)
|
|
|
+ for (String value : dictValue.split(separator))
|
|
|
{
|
|
|
- if (dictValue.equals(dict.getDictValue()))
|
|
|
+ if (value.equals(dict.getDictValue()))
|
|
|
{
|
|
|
- return dict.getDictLabel();
|
|
|
+ propertyString.append(dict.getDictLabel() + separator);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return dictValue;
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for (SysDictData dict : datas)
|
|
|
+ {
|
|
|
+ if (dictValue.equals(dict.getDictValue()))
|
|
|
+ {
|
|
|
+ return dict.getDictLabel();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return StringUtils.stripEnd(propertyString.toString(), separator);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -74,25 +117,39 @@ public class DictUtils
|
|
|
*
|
|
|
* @param dictType 字典类型
|
|
|
* @param dictLabel 字典标签
|
|
|
+ * @param separator 分隔符
|
|
|
* @return 字典值
|
|
|
*/
|
|
|
- public static String getDictValue(String dictType, String dictLabel)
|
|
|
+ public static String getDictValue(String dictType, String dictLabel, String separator)
|
|
|
{
|
|
|
- if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotEmpty(dictLabel))
|
|
|
+ StringBuilder propertyString = new StringBuilder();
|
|
|
+ List<SysDictData> datas = getDictCache(dictType);
|
|
|
+
|
|
|
+ if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas))
|
|
|
{
|
|
|
- List<SysDictData> datas = getDictCache(dictType);
|
|
|
- if (StringUtils.isNotEmpty(datas))
|
|
|
+ for (SysDictData dict : datas)
|
|
|
{
|
|
|
- for (SysDictData dict : datas)
|
|
|
+ for (String label : dictLabel.split(separator))
|
|
|
{
|
|
|
- if (dictLabel.equals(dict.getDictLabel()))
|
|
|
+ if (label.equals(dict.getDictLabel()))
|
|
|
{
|
|
|
- return dict.getDictValue();
|
|
|
+ propertyString.append(dict.getDictValue() + separator);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return dictLabel;
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for (SysDictData dict : datas)
|
|
|
+ {
|
|
|
+ if (dictLabel.equals(dict.getDictLabel()))
|
|
|
+ {
|
|
|
+ return dict.getDictValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return StringUtils.stripEnd(propertyString.toString(), separator);
|
|
|
}
|
|
|
|
|
|
|