Commit 1792ed2e by Future

成员状态变更

parent 3f116f1c
...@@ -30,9 +30,14 @@ public enum MultiRtcMemberStateEnum implements BaseEnum { ...@@ -30,9 +30,14 @@ public enum MultiRtcMemberStateEnum implements BaseEnum {
NOT_ANSWERED(4, "未接听"), NOT_ANSWERED(4, "未接听"),
/** /**
* 5 - 已断开 * 5 - 已断开(断网断线)
*/ */
DISCONNECT(5, "已断开"); DISCONNECT(5, "已断开"),
/**
* 6 - 主动退出
*/
LEAVE(6, "主动退出");
MultiRtcMemberStateEnum(int code, String desc) { MultiRtcMemberStateEnum(int code, String desc) {
this.code = code; this.code = code;
......
package com.wecloud.multimeet.service.impl; package com.wecloud.multimeet.service.impl;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.wecloud.im.entity.ImClient; import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.entity.ImMultiRtcRoom; import com.wecloud.im.entity.ImMultiRtcRoom;
import com.wecloud.im.entity.ImMultiRtcRoomMember; import com.wecloud.im.entity.ImMultiRtcRoomMember;
import com.wecloud.im.enums.MultiRtcMemberStateEnum; import com.wecloud.im.enums.MultiRtcMemberStateEnum;
...@@ -15,7 +12,6 @@ import com.wecloud.im.param.AgreeToMultiMeetParam; ...@@ -15,7 +12,6 @@ import com.wecloud.im.param.AgreeToMultiMeetParam;
import com.wecloud.im.param.InviteToMultiMeetParam; import com.wecloud.im.param.InviteToMultiMeetParam;
import com.wecloud.im.param.LeaveFromMultiMeetParam; import com.wecloud.im.param.LeaveFromMultiMeetParam;
import com.wecloud.im.param.RejectToMultiMeetParam; import com.wecloud.im.param.RejectToMultiMeetParam;
import com.wecloud.im.param.rtc.CreateRtcChannelResult;
import com.wecloud.im.service.ImClientService; import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImMultiRtcRoomMemberService; import com.wecloud.im.service.ImMultiRtcRoomMemberService;
import com.wecloud.im.service.ImMultiRtcRoomService; import com.wecloud.im.service.ImMultiRtcRoomService;
...@@ -35,6 +31,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -35,6 +31,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/** /**
* @Author wenzhida * @Author wenzhida
* @Date 2022/3/7 18:43 * @Date 2022/3/7 18:43
...@@ -152,6 +151,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -152,6 +151,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
@Override @Override
public void reject(RejectToMultiMeetParam param) { public void reject(RejectToMultiMeetParam param) {
ImClient currentClient = imClientService.getCurrentClient(); ImClient currentClient = imClientService.getCurrentClient();
this.changeRoomMemberState(currentClient, param.getRoomId(), MultiRtcMemberStateEnum.REJECTED.getCode());
List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list( List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list(
new QueryWrapper<ImMultiRtcRoomMember>().lambda() new QueryWrapper<ImMultiRtcRoomMember>().lambda()
.eq(ImMultiRtcRoomMember::getRoomId, param.getRoomId()) .eq(ImMultiRtcRoomMember::getRoomId, param.getRoomId())
...@@ -178,6 +178,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -178,6 +178,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
@Override @Override
public void agree(AgreeToMultiMeetParam param) { public void agree(AgreeToMultiMeetParam param) {
ImClient currentClient = imClientService.getCurrentClient(); ImClient currentClient = imClientService.getCurrentClient();
this.changeRoomMemberState(currentClient, param.getRoomId(), MultiRtcMemberStateEnum.ANSWERED.getCode());
List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list( List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list(
new QueryWrapper<ImMultiRtcRoomMember>().lambda() new QueryWrapper<ImMultiRtcRoomMember>().lambda()
.eq(ImMultiRtcRoomMember::getRoomId, param.getRoomId()) .eq(ImMultiRtcRoomMember::getRoomId, param.getRoomId())
...@@ -204,6 +205,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -204,6 +205,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
@Override @Override
public void leave(LeaveFromMultiMeetParam param) { public void leave(LeaveFromMultiMeetParam param) {
ImClient currentClient = imClientService.getCurrentClient(); ImClient currentClient = imClientService.getCurrentClient();
this.changeRoomMemberState(currentClient, param.getRoomId(), MultiRtcMemberStateEnum.LEAVE.getCode());
List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list( List<ImMultiRtcRoomMember> rtcRoomMemberList = imMultiRtcRoomMemberService.list(
new QueryWrapper<ImMultiRtcRoomMember>().lambda() new QueryWrapper<ImMultiRtcRoomMember>().lambda()
.eq(ImMultiRtcRoomMember::getRoomId, param.getRoomId()) .eq(ImMultiRtcRoomMember::getRoomId, param.getRoomId())
...@@ -226,4 +228,18 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -226,4 +228,18 @@ public class MultiMeetServiceImpl implements MultiMeetService {
} }
} }
/**
* 改变会议成员状态
*
* @param currentClient
* @param roomId
* @param state
*/
private void changeRoomMemberState(ImClient currentClient, String roomId, Integer state) {
imMultiRtcRoomMemberService.update(new UpdateWrapper<ImMultiRtcRoomMember>().lambda()
.eq(ImMultiRtcRoomMember::getRoomId, roomId)
.eq(ImMultiRtcRoomMember::getFkClientId, currentClient.getId())
.set(ImMultiRtcRoomMember::getState, state));
}
} }
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