Commit 5bdfd44c by Future

多人音视频邀请调整

parent ff9cdce9
......@@ -75,6 +75,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
}
List<RoomMemberDto> members = Lists.newArrayList();
ImMultiRtcRoom rtcRoom = imMultiRtcRoomService.getCachedMultiRtcRoom(currentClient.getFkAppid(), param.getRoomId());
List<ImMultiRtcRoomMember> roomMembersToSave = Lists.newArrayList();
if (rtcRoom == null) {
rtcRoom = new ImMultiRtcRoom();
rtcRoom.setId(SnowflakeUtil.getId());
......@@ -84,7 +85,21 @@ public class MultiMeetServiceImpl implements MultiMeetService {
rtcRoom.setCreateTime(new Date());
rtcRoom.setUpdateTime(new Date());
imMultiRtcRoomService.save(rtcRoom);
// 将邀请人存入房间成员
ImMultiRtcRoomMember roomMember = new ImMultiRtcRoomMember();
roomMember.setId(SnowflakeUtil.getId());
roomMember.setFkRtcRoomId(rtcRoom.getId());
roomMember.setRoomId(param.getRoomId());
roomMember.setFkClientId(currentClient.getId());
roomMember.setClientId(currentClient.getClientId());
roomMember.setState(MultiRtcMemberStateEnum.ANSWERED.getCode());
roomMember.setCallTime(new Date());
roomMember.setHeartbeatTime(new Date());
roomMember.setCreateTime(new Date());
roomMember.setUpdateTime(new Date());
roomMembersToSave.add(roomMember);
} else {
// 取得历史成员列表
List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list(
new QueryWrapper<ImMultiRtcRoomMember>().lambda()
.eq(ImMultiRtcRoomMember::getFkRtcRoomId, rtcRoom.getId())
......@@ -98,7 +113,6 @@ public class MultiMeetServiceImpl implements MultiMeetService {
members.add(roomMemberDto);
}
}
List<ImMultiRtcRoomMember> roomMembersToSave = Lists.newArrayList();
for (String toClientId : param.getToClients()) {
ImClient toClient = imClientService.getCacheImClient(currentClient.getFkAppid(), toClientId);
if (toClient == null) {
......@@ -108,7 +122,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
// 占线 通知邀请方
List<ImMultiRtcRoomMember> busyMember = imMultiRtcRoomMemberService.list(new QueryWrapper<ImMultiRtcRoomMember>().lambda()
.eq(ImMultiRtcRoomMember::getClientId, toClientId)
.in(ImMultiRtcRoomMember::getState, Lists.newArrayList(MultiRtcMemberStateEnum.ANSWERED.getCode(), MultiRtcMemberStateEnum.CALLING.getCode())));
.in(ImMultiRtcRoomMember::getState, Lists.newArrayList(MultiRtcMemberStateEnum.ANSWERED.getCode())));
if (CollectionUtils.isNotEmpty(busyMember)) {
MultiMeetBusyResponse multiMeetBusyResponse = new MultiMeetBusyResponse();
multiMeetBusyResponse.setConversationId(param.getConversationId());
......@@ -146,19 +160,6 @@ public class MultiMeetServiceImpl implements MultiMeetService {
roomMemberDto.setState(MultiRtcMemberStateEnum.CALLING.getCode());
members.add(roomMemberDto);
}
// 将邀请人存入房间成员
ImMultiRtcRoomMember roomMember = new ImMultiRtcRoomMember();
roomMember.setId(SnowflakeUtil.getId());
roomMember.setFkRtcRoomId(rtcRoom.getId());
roomMember.setRoomId(param.getRoomId());
roomMember.setFkClientId(currentClient.getId());
roomMember.setClientId(currentClient.getClientId());
roomMember.setState(MultiRtcMemberStateEnum.ANSWERED.getCode());
roomMember.setCallTime(new Date());
roomMember.setHeartbeatTime(new Date());
roomMember.setCreateTime(new Date());
roomMember.setUpdateTime(new Date());
roomMembersToSave.add(roomMember);
imMultiRtcRoomMemberService.saveBatch(roomMembersToSave);
for (RoomMemberDto member : members) {
// ws向接收方发送通知
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment