From 2db1366514503d6edf4883a0b469c2fb776221bf Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Tue, 1 Apr 2025 14:32:31 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=201=E3=80=81=E4=BF=AE=E6=94=B9map?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=99=A8=E8=BD=AC=E6=8D=A2=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/utils/MapstructUtils.java | 64 +++++++++++-------- .../system/dubbo/RemoteClientServiceImpl.java | 6 +- 2 files changed, 41 insertions(+), 29 deletions(-) diff --git a/dk-common/common-core/src/main/java/org/dromara/common/core/utils/MapstructUtils.java b/dk-common/common-core/src/main/java/org/dromara/common/core/utils/MapstructUtils.java index a3fcb8e..8046c36 100644 --- a/dk-common/common-core/src/main/java/org/dromara/common/core/utils/MapstructUtils.java +++ b/dk-common/common-core/src/main/java/org/dromara/common/core/utils/MapstructUtils.java @@ -1,12 +1,14 @@ package org.dromara.common.core.utils; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import io.github.linpeilie.Converter; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -19,7 +21,7 @@ import java.util.Map; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class MapstructUtils { - private final static Converter CONVERTER = SpringUtils.getBean(Converter.class); +// private final static Converter CONVERTER = SpringUtils.getBean(Converter.class); /** * 将 T 类型对象,转换为 desc 类型的对象并返回 @@ -35,7 +37,7 @@ public class MapstructUtils { if (ObjectUtil.isNull(desc)) { return null; } - return CONVERTER.convert(source, desc); + return Convert.convert(desc,source); } /** @@ -45,15 +47,15 @@ public class MapstructUtils { * @param desc 转换后的对象 * @return desc */ - public static V convert(T source, V desc) { - if (ObjectUtil.isNull(source)) { - return null; - } - if (ObjectUtil.isNull(desc)) { - return null; - } - return CONVERTER.convert(source, desc); - } +// public static V convert(T source, V desc) { +// if (ObjectUtil.isNull(source)) { +// return null; +// } +// if (ObjectUtil.isNull(desc)) { +// return null; +// } +// return CONVERTER.convert(source, desc); +// } /** * 将 T 类型的集合,转换为 desc 类型的集合并返回 @@ -69,24 +71,30 @@ public class MapstructUtils { if (CollUtil.isEmpty(sourceList)) { return CollUtil.newArrayList(); } - return CONVERTER.convert(sourceList, desc); - } - /** - * 将 Map 转换为 beanClass 类型的集合并返回 - * - * @param map 数据来源 - * @param beanClass bean类 - * @return bean对象 - */ - public static T convert(Map map, Class beanClass) { - if (MapUtil.isEmpty(map)) { - return null; - } - if (ObjectUtil.isNull(beanClass)) { - return null; - } - return CONVERTER.convert(map, beanClass); + // 创建一个新的列表,用于保存转换后的对象 + List resultList = new ArrayList<>(); + + sourceList.forEach(source -> Convert.convert(desc,source)); + + return resultList; } +// /** +// * 将 Map 转换为 beanClass 类型的集合并返回 +// * +// * @param map 数据来源 +// * @param beanClass bean类 +// * @return bean对象 +// */ +// public static T convert(Map map, Class beanClass) { +// if (MapUtil.isEmpty(map)) { +// return null; +// } +// if (ObjectUtil.isNull(beanClass)) { +// return null; +// } +// return CONVERTER.convert(map, beanClass); +// } + } diff --git a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteClientServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteClientServiceImpl.java index b03dce2..313fb70 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteClientServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteClientServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.system.dubbo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.convert.Convert; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; import org.dromara.common.core.utils.MapstructUtils; @@ -26,8 +28,10 @@ public class RemoteClientServiceImpl implements RemoteClientService { */ @Override public RemoteClientVo queryByClientId(String clientId) { + RemoteClientVo remoteClientVo = new RemoteClientVo(); SysClientVo vo = sysClientService.queryByClientId(clientId); - return MapstructUtils.convert(vo, RemoteClientVo.class); + BeanUtil.copyProperties(vo, remoteClientVo); + return remoteClientVo; } }