Kaynağa Gözat

Merge branch 'dev_20230222_live' into master_saas

liujunchi 2 yıl önce
ebeveyn
işleme
ed9c6cebcc

+ 22 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/page/PageInfo.java

@@ -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;
+    }
 }

+ 3 - 6
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherImLiveBroadcastRoomMemberController.java

@@ -78,13 +78,10 @@ public class TeacherImLiveBroadcastRoomMemberController extends BaseController {
         PageInfo<ImLiveBroadcastRoomMemberVo> roomMember = imLiveBroadcastRoomMemberService.queryRoomMember(
             param);
 
-        List<ImLiveBroadcastRoomMemberVo.ImLiveBroadcastRoomSimpleMemberVo> simpleMemberVos = roomMember.getRows().stream().map(
-            o -> o.getSimpleMemberVo(o)).collect(Collectors.toList());
+        PageInfo<ImLiveBroadcastRoomMemberVo.ImLiveBroadcastRoomSimpleMemberVo> convert = roomMember.convert(
+            o -> o.getSimpleMemberVo(o));
 
-
-        Page<ImLiveBroadcastRoomMemberVo.ImLiveBroadcastRoomSimpleMemberVo> pageInfo = PageUtil.getPageInfo(param);
-        pageInfo.setRecords(simpleMemberVos);
-        return succeed(PageUtil.pageInfo(pageInfo));
+        return succeed(convert);
     }
 }
 

+ 3 - 6
mec-web/src/main/java/com/ym/mec/web/controller/ImLiveBroadcastRoomMemberController.java

@@ -77,13 +77,10 @@ public class ImLiveBroadcastRoomMemberController extends BaseController {
         PageInfo<ImLiveBroadcastRoomMemberVo> roomMember = imLiveBroadcastRoomMemberService.queryRoomMember(
             param);
 
-        List<ImLiveBroadcastRoomMemberVo.ImLiveBroadcastRoomSimpleMemberVo> simpleMemberVos = roomMember.getRows().stream().map(
-            o -> o.getSimpleMemberVo(o)).collect(Collectors.toList());
+        PageInfo<ImLiveBroadcastRoomMemberVo.ImLiveBroadcastRoomSimpleMemberVo> convert = roomMember.convert(
+            o -> o.getSimpleMemberVo(o));
 
-
-        Page<ImLiveBroadcastRoomMemberVo.ImLiveBroadcastRoomSimpleMemberVo> pageInfo = PageUtil.getPageInfo(param);
-        pageInfo.setRecords(simpleMemberVos);
-        return succeed(PageUtil.pageInfo(pageInfo));
+        return succeed(convert);
     }
 }