mybatis Ipage 分页返回 实体转vo

发布时间 2023-06-30 14:43:51作者: 何苦->
log.info("[ActivityInfoServiceImpl][importGainNowRewardRules],分页查询方法,开始,activityInfoVO={}", JSON.toJSONString(activityInfoVO));
		if (null == activityInfoVO.getCurrent()) {
			activityInfoVO.setCurrent(1);
		}
		if (null == activityInfoVO.getSize()) {
			activityInfoVO.setSize(10);
		}
		Page<ActivityInfo> activityInfoPage = new Page<>();
		activityInfoPage.setCurrent(activityInfoVO.getCurrent());
		activityInfoPage.setSize(activityInfoVO.getSize());
		IPage<ActivityInfo> page = activityInfoMapper.selectPage(activityInfoPage, Wrappers
			.<ActivityInfo>lambdaQuery()
			.le(ActivityInfo::getStartTime, nowDateTime)
			.ge(ActivityInfo::getEndTime, nowDateTime)
			.and(i -> i.isNull(ActivityInfo::getState).or().ne(ActivityInfo::getState, EnumActivityState.PAUSE.code())));
		List<ActivityInfoVO> activityInfoVOS = new ArrayList<>();
		if (CollUtil.isNotEmpty(page.getRecords())) {
			for (ActivityInfo record : page.getRecords()) {
				ActivityInfoVO infoVO = new ActivityInfoVO();
				infoVO.setId(record.getId());
				ActivityInfoVO detail = detail(infoVO);
				activityInfoVOS.add(detail);
			}
		}
		IPage<ActivityInfoVO> bpage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
		bpage.setRecords(activityInfoVOS);
		bpage.setCurrent(page.getCurrent());
		bpage.setSize(page.getSize());
		bpage.setTotal(page.getTotal());
		return bpage;