先上工具类代码

/**
 * @Author: wusong
 * @since: 2022/7/18 14:10
 **/
public class WSPageBuilder {

	/**
	 * dto page to ws page
	 *
	 * @param dtoPage  dtoPage
	 * @param function wsPage
	 * @param <T>      提供类型
	 * @param <R>      返回类型
	 * @return
	 */
	public static <T, R> WSPage<R> toWsPage(IPage<T> dtoPage, Function<? super T, ? extends R> function) {
		WSPage<R> wsPage = new WSPage<>();
		wsPage.setCurrent(dtoPage.getCurrent());
		wsPage.setPages(dtoPage.getPages());
		wsPage.setSize(dtoPage.getSize());
		wsPage.setTotal(dtoPage.getTotal());

		List<R> record = dtoPage.getRecords()
				.stream()
				.map(function)
				.collect(Collectors.toList());

		wsPage.setRecords(record);

		return wsPage;
	}
}

使用demo

	Page<DataRepairPageDTO> page = abnormalRepairService.dataRepairPageQuery(condition);

		// 转换
	WSPage<DataRepairPageQueryResp> result = WSPageBuilder.toWsPage(page, AbnormalRepairConverter.INSTANCE::toFullDataRepairPageQueryResp);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐