|
@@ -1,5 +1,6 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -15,10 +16,13 @@ import com.ym.mec.biz.dal.entity.Organization;
|
|
|
import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomDetailVo;
|
|
|
import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomMemberVo;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
+import com.ym.mec.common.entity.HttpResponseResult;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.common.page.PageUtil;
|
|
|
import com.ym.mec.common.page.WrapperUtil;
|
|
|
+import com.ym.mec.dto.RoomMember;
|
|
|
+import com.ym.mec.web.KLXFeignService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.collections.MapUtils;
|
|
@@ -53,6 +57,9 @@ public class ImLiveBroadcastRoomMemberServiceImpl extends ServiceImpl<ImLiveBroa
|
|
|
@Autowired
|
|
|
private OrganizationDao organizationDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KLXFeignService klxFeignService;
|
|
|
+
|
|
|
@Override
|
|
|
public ImLiveBroadcastRoomMemberDao getDao() {
|
|
|
return this.baseMapper;
|
|
@@ -72,10 +79,22 @@ public class ImLiveBroadcastRoomMemberServiceImpl extends ServiceImpl<ImLiveBroa
|
|
|
@Override
|
|
|
public PageInfo<ImLiveBroadcastRoomMemberVo> queryRoomMember(Map<String, Object> param) {
|
|
|
Page<ImLiveBroadcastRoomMemberVo> pageInfo = PageUtil.getPageInfo(param);
|
|
|
+ IPage<ImLiveBroadcastRoomMemberVo> page ;
|
|
|
+ HttpResponseResult<List<RoomMember>> listHttpResponseResult = klxFeignService.queryRoomMember(param);
|
|
|
+ List<RoomMember> roomMembers = listHttpResponseResult.getData();
|
|
|
+ List<ImLiveBroadcastRoomMemberVo> records;
|
|
|
+ if (CollectionUtils.isNotEmpty(roomMembers)) {
|
|
|
+
|
|
|
+ //roomMembers 转 ImLiveBroadcastRoomMemberVo
|
|
|
+
|
|
|
+ pageInfo.setPages(1);
|
|
|
+ pageInfo.setSize(-1);
|
|
|
+ page = baseMapper.queryMemberPage(pageInfo, param);
|
|
|
+ } else {
|
|
|
+ page = baseMapper.queryMemberPage(pageInfo, param);
|
|
|
+ }
|
|
|
|
|
|
- IPage<ImLiveBroadcastRoomMemberVo> page = baseMapper.queryMemberPage(pageInfo, param);
|
|
|
-
|
|
|
- List<ImLiveBroadcastRoomMemberVo> records = page.getRecords();
|
|
|
+ records = page.getRecords();
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(records)) {
|
|
|
|
|
@@ -157,6 +176,21 @@ public class ImLiveBroadcastRoomMemberServiceImpl extends ServiceImpl<ImLiveBroa
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(roomMembers)) {
|
|
|
+
|
|
|
+ //roomMembers 转 ImLiveBroadcastRoomMemberVo
|
|
|
+ List<ImLiveBroadcastRoomMemberVo> imLiveBroadcastRoomMemberVos = JSON
|
|
|
+ .parseArray(JSON.toJSONString(roomMembers),ImLiveBroadcastRoomMemberVo.class);
|
|
|
+ records.addAll(imLiveBroadcastRoomMemberVos);
|
|
|
+ records.sort(Comparator.comparing(ImLiveBroadcastRoomMemberVo::getJoinTime));
|
|
|
+ long pages = page.getPages();
|
|
|
+ long rows = page.getSize();
|
|
|
+ List<ImLiveBroadcastRoomMemberVo> imLiveBroadcastRoomMemberVos1 = records.subList((int) (((pages-1)>=0?(pages-1):0) * rows), (int) rows);
|
|
|
+ page.setRecords(imLiveBroadcastRoomMemberVos1);
|
|
|
+ } else {
|
|
|
+ page = baseMapper.queryMemberPage(pageInfo, param);
|
|
|
+ }
|
|
|
+
|
|
|
return PageUtil.pageInfo(page);
|
|
|
}
|
|
|
|