Browse Source

[feat]

1、修改map转换器转换报错问题
master
杨威 3 months ago
parent
commit
2db1366514
  1. 64
      dk-common/common-core/src/main/java/org/dromara/common/core/utils/MapstructUtils.java
  2. 6
      dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteClientServiceImpl.java

64
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 <T, V> 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 <T, V> 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> T convert(Map<String, Object> map, Class<T> beanClass) {
if (MapUtil.isEmpty(map)) {
return null;
}
if (ObjectUtil.isNull(beanClass)) {
return null;
}
return CONVERTER.convert(map, beanClass);
// 创建一个新的列表,用于保存转换后的对象
List<V> resultList = new ArrayList<>();
sourceList.forEach(source -> Convert.convert(desc,source));
return resultList;
}
// /**
// * 将 Map 转换为 beanClass 类型的集合并返回
// *
// * @param map 数据来源
// * @param beanClass bean类
// * @return bean对象
// */
// public static <T> T convert(Map<String, Object> map, Class<T> beanClass) {
// if (MapUtil.isEmpty(map)) {
// return null;
// }
// if (ObjectUtil.isNull(beanClass)) {
// return null;
// }
// return CONVERTER.convert(map, beanClass);
// }
}

6
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;
}
}

Loading…
Cancel
Save