Commit d6934d29 by Future

未接听接口添加

parent 5e4ed11b
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.wecloud.im.param.AgreeToMultiMeetParam; 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.NotAnsweredMultiMeetParam;
import com.wecloud.im.param.RejectToMultiMeetParam; import com.wecloud.im.param.RejectToMultiMeetParam;
import com.wecloud.multimeet.service.MultiMeetService; import com.wecloud.multimeet.service.MultiMeetService;
import io.geekidea.springbootplus.framework.common.api.ApiCode; import io.geekidea.springbootplus.framework.common.api.ApiCode;
...@@ -72,5 +73,13 @@ public class ImMultiMeetController extends BaseController { ...@@ -72,5 +73,13 @@ public class ImMultiMeetController extends BaseController {
return ApiResult.ok(); return ApiResult.ok();
} }
@PostMapping("/notAnswered")
@ApiOperation(value = "未接听", notes = "未接听")
public ApiResult<Boolean> notAnswered(@RequestBody NotAnsweredMultiMeetParam param) {
log.info("多人音视频会议未接听入参 {}", JSON.toJSONString(param));
multiMeetService.notAnswered(param);
return ApiResult.ok();
}
} }
package com.wecloud.im.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author wenzhida
* @Date 2022/3/24 11:06
* @Description 未接听入参
*/
@Data
@ApiModel(value = "未接听入参")
public class NotAnsweredMultiMeetParam implements Serializable {
private static final long serialVersionUID = 7439324829502466053L;
@ApiModelProperty(value = "会话id,可选", required = false)
private Long conversationId;
@ApiModelProperty(value = "多人会议房间id", required = true)
private String roomId;
}
...@@ -3,6 +3,7 @@ package com.wecloud.multimeet.service; ...@@ -3,6 +3,7 @@ package com.wecloud.multimeet.service;
import com.wecloud.im.param.AgreeToMultiMeetParam; 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.NotAnsweredMultiMeetParam;
import com.wecloud.im.param.RejectToMultiMeetParam; import com.wecloud.im.param.RejectToMultiMeetParam;
/** /**
...@@ -37,4 +38,10 @@ public interface MultiMeetService { ...@@ -37,4 +38,10 @@ public interface MultiMeetService {
*/ */
void leave(LeaveFromMultiMeetParam param); void leave(LeaveFromMultiMeetParam param);
/**
* 拒绝接听
* @param param
*/
void notAnswered(NotAnsweredMultiMeetParam param);
} }
...@@ -10,6 +10,7 @@ import com.wecloud.im.enums.MultiRtcRoomStateEnum; ...@@ -10,6 +10,7 @@ import com.wecloud.im.enums.MultiRtcRoomStateEnum;
import com.wecloud.im.param.AgreeToMultiMeetParam; 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.NotAnsweredMultiMeetParam;
import com.wecloud.im.param.RejectToMultiMeetParam; import com.wecloud.im.param.RejectToMultiMeetParam;
import com.wecloud.im.service.ImClientService; import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImMultiRtcRoomMemberService; import com.wecloud.im.service.ImMultiRtcRoomMemberService;
...@@ -131,6 +132,17 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -131,6 +132,17 @@ public class MultiMeetServiceImpl implements MultiMeetService {
roomMemberDto.setState(MultiRtcMemberStateEnum.CALLING.getCode()); roomMemberDto.setState(MultiRtcMemberStateEnum.CALLING.getCode());
members.add(roomMemberDto); 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.setCreateTime(new Date());
roomMember.setUpdateTime(new Date());
roomMembersToSave.add(roomMember);
imMultiRtcRoomMemberService.saveBatch(roomMembersToSave); imMultiRtcRoomMemberService.saveBatch(roomMembersToSave);
for (RoomMemberDto member : members) { for (RoomMemberDto member : members) {
// ws向接收方发送通知 // ws向接收方发送通知
...@@ -153,6 +165,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -153,6 +165,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
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())
.in(ImMultiRtcRoomMember::getState, Lists.newArrayList(MultiRtcMemberStateEnum.ANSWERED.getCode()), MultiRtcMemberStateEnum.CALLING.getCode())
.ne(ImMultiRtcRoomMember::getClientId, currentClient.getClientId()) .ne(ImMultiRtcRoomMember::getClientId, currentClient.getClientId())
); );
for (ImMultiRtcRoomMember imMultiRtcRoomMember : rtcRoomMemberList) { for (ImMultiRtcRoomMember imMultiRtcRoomMember : rtcRoomMemberList) {
...@@ -189,6 +202,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -189,6 +202,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
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())
.in(ImMultiRtcRoomMember::getState, Lists.newArrayList(MultiRtcMemberStateEnum.ANSWERED.getCode()), MultiRtcMemberStateEnum.CALLING.getCode())
.ne(ImMultiRtcRoomMember::getClientId, currentClient.getClientId()) .ne(ImMultiRtcRoomMember::getClientId, currentClient.getClientId())
); );
for (ImMultiRtcRoomMember imMultiRtcRoomMember : rtcRoomMemberList) { for (ImMultiRtcRoomMember imMultiRtcRoomMember : rtcRoomMemberList) {
...@@ -216,6 +230,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -216,6 +230,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
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())
.in(ImMultiRtcRoomMember::getState, Lists.newArrayList(MultiRtcMemberStateEnum.ANSWERED.getCode()), MultiRtcMemberStateEnum.CALLING.getCode())
.ne(ImMultiRtcRoomMember::getClientId, currentClient.getClientId()) .ne(ImMultiRtcRoomMember::getClientId, currentClient.getClientId())
); );
for (ImMultiRtcRoomMember imMultiRtcRoomMember : rtcRoomMemberList) { for (ImMultiRtcRoomMember imMultiRtcRoomMember : rtcRoomMemberList) {
...@@ -235,4 +250,10 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -235,4 +250,10 @@ public class MultiMeetServiceImpl implements MultiMeetService {
} }
} }
@Override
public void notAnswered(NotAnsweredMultiMeetParam param) {
ImClient currentClient = imClientService.getCurrentClient();
imMultiRtcRoomMemberService.changeRoomMemberState(currentClient, param.getRoomId(), MultiRtcMemberStateEnum.NOT_ANSWERED.getCode());
}
} }
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