diff --git a/backend/src/main/java/com/yfd/platform/utils/DictCodeToNameConverter.java b/backend/src/main/java/com/yfd/platform/utils/DictCodeToNameConverter.java index a7db357d..363d4f92 100644 --- a/backend/src/main/java/com/yfd/platform/utils/DictCodeToNameConverter.java +++ b/backend/src/main/java/com/yfd/platform/utils/DictCodeToNameConverter.java @@ -1,6 +1,7 @@ package com.yfd.platform.utils; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yfd.platform.common.MicroservicDynamicSQLMapper; import com.yfd.platform.system.domain.SysDictionary; import com.yfd.platform.system.domain.SysDictionaryItems; @@ -106,6 +107,46 @@ public class DictCodeToNameConverter { } } + /** + * 分页结果转换:将 Page 中所有记录的 code 字段转换为对应的 name 字段 + * + *
+     * 使用示例:
+     * Page<SdHbrvDic> page = hbrvDicService.queryPageList(...);
+     * dictCodeToNameConverter.convertCodeToName(page, CODE_TO_NAME_META_LIST);
+     * 
+ * + * @param page 分页对象 + * @param metadataList 元数据配置列表 + * @param VO 类型 + */ + public void convertCodeToName(Page page, List metadataList) { + if (page == null || page.getRecords() == null || page.getRecords().isEmpty()) { + return; + } + convertCodeToName(page.getRecords(), metadataList); + } + + /** + * 单个对象转换:将单个对象的 code 字段转换为对应的 name 字段 + * + *
+     * 使用示例:
+     * SdHbrvDic hbrvDic = hbrvDicService.getById(hbrvcd);
+     * dictCodeToNameConverter.convertCodeToName(hbrvDic, CODE_TO_NAME_META_LIST);
+     * 
+ * + * @param obj 单个对象 + * @param metadataList 元数据配置列表 + * @param VO 类型 + */ + public void convertCodeToName(T obj, List metadataList) { + if (obj == null || metadataList == null || metadataList.isEmpty()) { + return; + } + convertCodeToName(Collections.singletonList(obj), metadataList); + } + /** * 加载静态字典映射 *