Commit 4a50897a by Future

多人音视频-异常断线场景处理

parent 336c530b
...@@ -124,6 +124,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -124,6 +124,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
if (rtcRoomMember != null) { if (rtcRoomMember != null) {
// 该房间已邀请过一次,再次发起邀请 // 该房间已邀请过一次,再次发起邀请
rtcRoomMember.setState(MultiRtcMemberStateEnum.CALLING.getCode()); rtcRoomMember.setState(MultiRtcMemberStateEnum.CALLING.getCode());
rtcRoomMember.setCallTime(new Date());
imMultiRtcRoomMemberService.updateById(rtcRoomMember); imMultiRtcRoomMemberService.updateById(rtcRoomMember);
continue; continue;
} }
...@@ -134,6 +135,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -134,6 +135,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
roomMember.setFkClientId(toClient.getId()); roomMember.setFkClientId(toClient.getId());
roomMember.setClientId(toClient.getClientId()); roomMember.setClientId(toClient.getClientId());
roomMember.setState(MultiRtcMemberStateEnum.CALLING.getCode()); roomMember.setState(MultiRtcMemberStateEnum.CALLING.getCode());
roomMember.setCallTime(new Date());
roomMember.setCreateTime(new Date()); roomMember.setCreateTime(new Date());
roomMember.setUpdateTime(new Date()); roomMember.setUpdateTime(new Date());
roomMembersToSave.add(roomMember); roomMembersToSave.add(roomMember);
...@@ -151,6 +153,8 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -151,6 +153,8 @@ public class MultiMeetServiceImpl implements MultiMeetService {
roomMember.setFkClientId(currentClient.getId()); roomMember.setFkClientId(currentClient.getId());
roomMember.setClientId(currentClient.getClientId()); roomMember.setClientId(currentClient.getClientId());
roomMember.setState(MultiRtcMemberStateEnum.ANSWERED.getCode()); roomMember.setState(MultiRtcMemberStateEnum.ANSWERED.getCode());
roomMember.setCallTime(new Date());
roomMember.setHeartbeatTime(new Date());
roomMember.setCreateTime(new Date()); roomMember.setCreateTime(new Date());
roomMember.setUpdateTime(new Date()); roomMember.setUpdateTime(new Date());
roomMembersToSave.add(roomMember); roomMembersToSave.add(roomMember);
...@@ -298,11 +302,11 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -298,11 +302,11 @@ public class MultiMeetServiceImpl implements MultiMeetService {
@Override @Override
public void disconnect() { public void disconnect() {
// 20 秒之前的时间 // 20 秒之前的时间
Date tenSecondsBefore = DateUtils.addSeconds(new Date(), -20); Date beforeTime = DateUtils.addSeconds(new Date(), -20);
// 获取最后心跳时间为20秒之前 并且状态为接听中的会议成员 // 获取最后心跳时间为20秒之前 并且状态为接听中的会议成员
List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list( List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list(
new QueryWrapper<ImMultiRtcRoomMember>().lambda() new QueryWrapper<ImMultiRtcRoomMember>().lambda()
.lt(ImMultiRtcRoomMember::getCallTime, tenSecondsBefore) .lt(ImMultiRtcRoomMember::getCallTime, beforeTime)
.eq(ImMultiRtcRoomMember::getState, MultiRtcMemberStateEnum.ANSWERED.getCode()) .eq(ImMultiRtcRoomMember::getState, MultiRtcMemberStateEnum.ANSWERED.getCode())
); );
if (CollectionUtils.isEmpty(rtcRoomMemberList)) { if (CollectionUtils.isEmpty(rtcRoomMemberList)) {
......
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