问题描述
当我在数据库查出了一个pageInfo在service层需要做一些数据的封装过滤,我在封装过程中导致了page类型的一些属性丢失,导致最终返回结果的pageInfo无法进行分页功能,page属性为错误的属性?
问题解决
废话不多说上代码:
/**
* 返回BpmProcessInstanceDTO方法抽取
*
* @param searchDTO 查询入参条件
* @param idSet 查询数据库的
* @return 流程实例id
*/
private Page<BpmProcessInstanceDTO> getBpmProcessInstanceDtoS(ProcessInstanceSearchDTO searchDTO, Set<String> idSet) {
List<BpmProcessInstanceEntity> bpmProcessInstanceEntities = processInstanceMapper.selectseaschprocessinstancedtodatalist(idSet, searchDTO);
Page<BpmProcessInstanceDTO> bpmProcessInstanceEntitiesPs = new Page<>();
BeanUtil.copyProperties(bpmProcessInstanceEntities, bpmProcessInstanceEntitiesPs);
for (BpmProcessInstanceEntity bpmProcessInstanceEntity : bpmProcessInstanceEntities) {
BpmProcessInstanceDTO bpmProcessInstanceDTO = getBpmProcessInstanceDTO(bpmProcessInstanceEntity);
bpmProcessInstanceEntitiesPs.add(bpmProcessInstanceDTO);
}
return bpmProcessInstanceEntitiesPs;
}
这里我用了import cn.hutool.core.bean.BeanUtil;的包利用BeanUtil.copyProperties(需要复制的page,复制的目标page)完成page属性复制.
这样可以把我们的page属性都复制过去完美解决属性丢失问题.