From 2023de973e6adb490bba962b1d830fd8e4be9418 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 13 一月 2023 23:22:30 +0800 Subject: [PATCH] update 适配 新序列化注解 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java | 29 ++++++++++++++++++++++++----- 1 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java index ae84222..e1bafee 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java @@ -8,13 +8,13 @@ import cn.hutool.core.util.StrUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import net.sf.cglib.core.Converter; import org.springframework.cglib.beans.BeanCopier; import org.springframework.cglib.beans.BeanMap; +import org.springframework.cglib.core.Converter; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * bean娣辨嫹璐濆伐鍏�(鍩轰簬 cglib 鎬ц兘浼樺紓) @@ -79,11 +79,11 @@ if (CollUtil.isEmpty(sourceList)) { return CollUtil.newArrayList(); } - return sourceList.stream().map(source -> { + return StreamUtils.toList(sourceList, source -> { V target = ReflectUtil.newInstanceIfPossible(desc); copy(source, target); return target; - }).collect(Collectors.toList()); + }); } /** @@ -137,6 +137,25 @@ } /** + * map鎷疯礉鍒癿ap + * + * @param map 鏁版嵁鏉ユ簮 + * @param clazz 杩斿洖鐨勫璞$被鍨� + * @return map瀵硅薄 + */ + public static <T, V> Map<String, V> mapToMap(Map<String, T> map, Class<V> clazz) { + if (MapUtil.isEmpty(map)) { + return null; + } + if (ObjectUtil.isNull(clazz)) { + return null; + } + Map<String, V> copyMap = new LinkedHashMap<>(map.size()); + map.forEach((k, v) -> copyMap.put(k, copy(v, clazz))); + return copyMap; + } + + /** * BeanCopier灞炴�х紦瀛�<br> * 缂撳瓨鐢ㄤ簬闃叉澶氭鍙嶅皠閫犳垚鐨勬�ц兘闂 * @@ -175,7 +194,7 @@ private String genKey(Class<?> srcClass, Class<?> targetClass, Converter converter) { final StringBuilder key = StrUtil.builder() .append(srcClass.getName()).append('#').append(targetClass.getName()); - if(null != converter){ + if (null != converter) { key.append('#').append(converter.getClass().getName()); } return key.toString(); -- Gitblit v1.9.3