From 768a0d980107bdfbd57bbaa2b5a1694514ae87c9 Mon Sep 17 00:00:00 2001 From: Du YinHong <1836695061@qq.com> Date: Mon, 24 Aug 2026 14:39:03 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=9B=B4=E6=8E=A5=E4=BD=BF=E7=94=A8hutool?= =?UTF-8?q?=E8=87=AA=E5=B8=A6=E7=9A=84=20Convert=20=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/impl/DictTypeTranslationImpl.java | 34 +++---------------- 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java index a772ff362..5312f1d92 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java @@ -1,5 +1,6 @@ package org.dromara.common.translation.core.impl; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; import org.dromara.common.core.service.DictService; import org.dromara.common.core.utils.StreamUtils; @@ -8,7 +9,6 @@ import org.dromara.common.translation.annotation.TranslationType; import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.core.TranslationInterface; -import java.math.BigDecimal; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; @@ -34,9 +34,8 @@ public class DictTypeTranslationImpl implements TranslationInterface { */ @Override public String translation(Object key, String other) { - if (StringUtils.isNotBlank(other)) { - String dictValue = convertToString(key); - return dictValue != null ? dictService.getDictLabel(other, dictValue) : null; + if (Convert.toStr(key) instanceof String dictValue && StringUtils.isNotBlank(other)) { + return dictService.getDictLabel(other, dictValue); } return null; } @@ -56,8 +55,7 @@ public class DictTypeTranslationImpl implements TranslationInterface { Map dictMap = dictService.getAllDictByDictType(other); Map result = new LinkedHashMap<>(keys.size()); for (Object key : keys) { - String dictValue = convertToString(key); - if (dictValue != null) { + if (Convert.toStr(key) instanceof String dictValue) { result.put(key, StreamUtils.join( StreamUtils.filter(Arrays.asList(dictValue.split(",")), StringUtils::isNotBlank), value -> dictMap.get(value.trim()) @@ -66,28 +64,4 @@ public class DictTypeTranslationImpl implements TranslationInterface { } return result; } - - /** - * 类型转换为String - * @param key 转换对象 - * @return string值 - */ - private String convertToString(Object key) { - if (key instanceof String s) { - return s; - } else if (key == null) { - return null; - } else if (key instanceof BigDecimal bd) { - // 规范化数值 - return bd.stripTrailingZeros().toPlainString(); - } else if (key instanceof Integer || key instanceof Long || key instanceof Short || key instanceof Byte) { - return key.toString(); - } else if (key instanceof Double || key instanceof Float) { - // 浮点也用 BigDecimal 规范化 - return new BigDecimal(key.toString()).stripTrailingZeros().toPlainString(); - } else { - // 其他类型按需处理,或干脆返回 null - return key.toString(); - } - } }