import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSON;
import com.mobanker.framework.contract.dto.ResponseEntityDto;
public class ResultUtil {
private static final Logger logger = LoggerFactory.getLogger(ResultUtil.class);
/**
* 获取包装类里的数据
*/
public static <T> T getData(ResponseEntityDto<T> responseEntityDto) throws RuntimeException {
if (responseEntityDto == null) {
throw new RuntimeException("接口返回值不能为空");
}
final String errCode = responseEntityDto.getError();
// 调用成功
if (SUCCESS_CODE.equals(errCode)) {
return responseEntityDto.getData();
}
//
else {
final String jsonString = JSON.toJSONString(responseEntityDto);
logger.error("接口调用失败:{}", jsonString);
throw new RuntimeException("接口调用失败:" + jsonString);
}
}
/**
* Map转化成实体类
* @param srcData
* Map数据
* @param desType
* Bean类型
* @return 实体类
*/
public static <T> T mapToBean(Map<String, String> srcData, Class<T> desType) {
if (srcData == null || desType == null) {
return null;
}
try {
T desData = desType.newInstance();
BeanUtils.populate(desData, srcData);
return desData;
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new RuntimeException(e);
}
}
/**
* Map集合转化成实体集合
*
* @param srcData
* Map数据集合
* @param desType
* Bean类型
* @return 实体集合
*/
public static <T> List<T> mapToBean(List<Map<String, String>> srcData, Class<T> desType) {
if (srcData == null || desType == null) {
return null;
}
final List<T> desData = new ArrayList<>();
for (Map<String, String> mapData : srcData) {
desData.add(mapToBean(mapData, desType));
}
return desData;
}
}
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSON;
import com.mobanker.framework.contract.dto.ResponseEntityDto;
public class ResultUtil {
private static final Logger logger = LoggerFactory.getLogger(ResultUtil.class);
/**
* 获取包装类里的数据
*/
public static <T> T getData(ResponseEntityDto<T> responseEntityDto) throws RuntimeException {
if (responseEntityDto == null) {
throw new RuntimeException("接口返回值不能为空");
}
final String errCode = responseEntityDto.getError();
// 调用成功
if (SUCCESS_CODE.equals(errCode)) {
return responseEntityDto.getData();
}
//
else {
final String jsonString = JSON.toJSONString(responseEntityDto);
logger.error("接口调用失败:{}", jsonString);
throw new RuntimeException("接口调用失败:" + jsonString);
}
}
/**
* Map转化成实体类
* @param srcData
* Map数据
* @param desType
* Bean类型
* @return 实体类
*/
public static <T> T mapToBean(Map<String, String> srcData, Class<T> desType) {
if (srcData == null || desType == null) {
return null;
}
try {
T desData = desType.newInstance();
BeanUtils.populate(desData, srcData);
return desData;
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new RuntimeException(e);
}
}
/**
* Map集合转化成实体集合
*
* @param srcData
* Map数据集合
* @param desType
* Bean类型
* @return 实体集合
*/
public static <T> List<T> mapToBean(List<Map<String, String>> srcData, Class<T> desType) {
if (srcData == null || desType == null) {
return null;
}
final List<T> desData = new ArrayList<>();
for (Map<String, String> mapData : srcData) {
desData.add(mapToBean(mapData, desType));
}
return desData;
}
}