pageInfo<DTO>
转成pageInfo<VO>
工具类
问题描述
当DTO层返回分页数据,需要将DTO转成VO返回给用户视图
解决方案
public static <VO, DTO> PageInfo<VO> dto2Vo (PageInfo<DTO> source,
Function<DTO,VO> convert){
if (source != null) {
Page<VO> dest = new Page<>(source.getPageNum(), source.getPageSize());
dest.setTotal(source.getTotal());
PageInfo<VO> result = new PageInfo<>(dest);
if (source.getList()!=null && !source.getList().isEmpty()){
ArrayList<VO> voList = new ArrayList<>();
for (DTO dto : source.getList()) {
voList.add(convert.apply(dto));
}
result.setList(voList);
}
return result;
}
return null;
}