|
@@ -7,10 +7,15 @@
|
|
|
*/
|
|
|
package com.ym.mec.common.page;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+
|
|
|
import java.io.Serializable;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.function.Function;
|
|
|
+
|
|
|
+import static java.util.stream.Collectors.toList;
|
|
|
|
|
|
/**
|
|
|
* 分页对象
|
|
@@ -161,4 +166,21 @@ public class PageInfo<T> implements Serializable {
|
|
|
this.footer = footer;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * <p>
|
|
|
+ * IPage 的泛型转换
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @param mapper 转换函数
|
|
|
+ * @param <R> 转换后的泛型
|
|
|
+ * @return 转换泛型后的 IPage
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ public <R> PageInfo<R> convert(Function<? super T, ? extends R> mapper) {
|
|
|
+ List<R> collect = this.getRows().stream().map(mapper).collect(toList());
|
|
|
+ ((PageInfo<R>) this).setRows(collect);
|
|
|
+ return (PageInfo<R>) this;
|
|
|
+ }
|
|
|
}
|