Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
3f116f1c
Commit
3f116f1c
authored
Mar 16, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
多人音视频占线下发
parent
7763315e
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
79 additions
and
13 deletions
+79
-13
core/src/main/java/com/wecloud/im/ws/enums/WsMultiMeetResponseSubCmdEnum.java
+6
-1
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetAgreeResponse.java
+0
-4
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetBusyResponse.java
+33
-0
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetLeaveResponse.java
+0
-4
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetRejectResponse.java
+0
-4
core/src/main/java/com/wecloud/multimeet/service/WsMultiMeetWrite.java
+8
-0
core/src/main/java/com/wecloud/multimeet/service/impl/MultiMeetServiceImpl.java
+16
-0
core/src/main/java/com/wecloud/multimeet/service/impl/WsMultiMeetWriteImpl.java
+16
-0
No files found.
core/src/main/java/com/wecloud/im/ws/enums/WsMultiMeetResponseSubCmdEnum.java
View file @
3f116f1c
...
...
@@ -25,7 +25,12 @@ public enum WsMultiMeetResponseSubCmdEnum {
/**
* 主动离开
*/
LEAVE
(
4
);
LEAVE
(
4
),
/**
* 占线
*/
BUSY
(
5
);
private
final
int
cmdCode
;
...
...
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetAgreeResponse.java
View file @
3f116f1c
...
...
@@ -26,8 +26,4 @@ public class MultiMeetAgreeResponse extends MultiMeetDataBase implements Seriali
*/
private
String
roomId
;
/**
* 发起会议人clientId
*/
private
String
inviterClientId
;
}
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetBusyResponse.java
0 → 100644
View file @
3f116f1c
package
com
.
wecloud
.
multimeet
.
entity
.
response
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
/**
* @Author wenzhida
* @Date 2022/3/16 13:52
* @Description 占线响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
MultiMeetBusyResponse
extends
MultiMeetDataBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5692994062040333774L
;
/**
* 会话id
*/
private
Long
conversationId
;
/**
* 房间id
*/
private
String
roomId
;
/**
* 占线人clientId
*/
private
String
busyClientId
;
}
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetLeaveResponse.java
View file @
3f116f1c
...
...
@@ -26,8 +26,4 @@ public class MultiMeetLeaveResponse extends MultiMeetDataBase implements Seriali
*/
private
String
roomId
;
/**
* 发起会议人clientId
*/
private
String
inviterClientId
;
}
core/src/main/java/com/wecloud/multimeet/entity/response/MultiMeetRejectResponse.java
View file @
3f116f1c
...
...
@@ -24,8 +24,4 @@ public class MultiMeetRejectResponse extends MultiMeetDataBase implements Serial
*/
private
String
roomId
;
/**
* 发起会议人clientId
*/
private
String
inviterClientId
;
}
core/src/main/java/com/wecloud/multimeet/service/WsMultiMeetWrite.java
View file @
3f116f1c
package
com
.
wecloud
.
multimeet
.
service
;
import
com.wecloud.multimeet.entity.response.MultiMeetAgreeResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetBusyResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetInviteResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetLeaveResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetRejectResponse
;
...
...
@@ -40,4 +41,11 @@ public interface WsMultiMeetWrite {
*/
void
leave
(
MultiMeetLeaveResponse
multiMeetLeaveResponse
,
Long
toFkClientId
);
/**
* 被邀请方占线
* @param multiMeetBusyResponse
* @param toFkClientId
*/
void
busy
(
MultiMeetBusyResponse
multiMeetBusyResponse
,
Long
toFkClientId
);
}
core/src/main/java/com/wecloud/multimeet/service/impl/MultiMeetServiceImpl.java
View file @
3f116f1c
...
...
@@ -22,6 +22,7 @@ import com.wecloud.im.service.ImMultiRtcRoomService;
import
com.wecloud.im.ws.cache.UserStateCacheManager
;
import
com.wecloud.multimeet.entity.dto.RoomMemberDto
;
import
com.wecloud.multimeet.entity.response.MultiMeetAgreeResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetBusyResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetInviteResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetLeaveResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetRejectResponse
;
...
...
@@ -102,6 +103,21 @@ public class MultiMeetServiceImpl implements MultiMeetService {
log
.
info
(
"查无接收人信息 {}"
,
toClientId
);
continue
;
}
// 占线 通知邀请方
ImMultiRtcRoomMember
rtcRoomMember
=
imMultiRtcRoomMemberService
.
getOne
(
new
QueryWrapper
<
ImMultiRtcRoomMember
>().
lambda
()
.
eq
(
ImMultiRtcRoomMember:
:
getClientId
,
toClientId
)
.
eq
(
ImMultiRtcRoomMember:
:
getRoomId
,
param
.
getRoomId
()));
if
(
rtcRoomMember
!=
null
&&
MultiRtcMemberStateEnum
.
ANSWERED
.
getCode
().
equals
(
rtcRoomMember
.
getState
()))
{
MultiMeetBusyResponse
multiMeetBusyResponse
=
new
MultiMeetBusyResponse
();
multiMeetBusyResponse
.
setConversationId
(
param
.
getConversationId
());
multiMeetBusyResponse
.
setRoomId
(
param
.
getRoomId
());
multiMeetBusyResponse
.
setClientId
(
currentClient
.
getClientId
());
multiMeetBusyResponse
.
setBusyClientId
(
rtcRoomMember
.
getClientId
());
multiMeetBusyResponse
.
setTimestamp
(
System
.
currentTimeMillis
());
wsMultiMeetWrite
.
busy
(
multiMeetBusyResponse
,
rtcRoomMember
.
getFkClientId
());
continue
;
}
ImMultiRtcRoomMember
roomMember
=
new
ImMultiRtcRoomMember
();
roomMember
.
setId
(
SnowflakeUtil
.
getId
());
roomMember
.
setFkRtcRoomId
(
rtcRoom
.
getId
());
...
...
core/src/main/java/com/wecloud/multimeet/service/impl/WsMultiMeetWriteImpl.java
View file @
3f116f1c
...
...
@@ -5,6 +5,7 @@ import com.wecloud.im.ws.enums.WsResponseCmdEnum;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.multimeet.entity.response.MultiMeetAgreeResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetBusyResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetInviteResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetLeaveResponse
;
import
com.wecloud.multimeet.entity.response.MultiMeetRejectResponse
;
...
...
@@ -87,5 +88,20 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite {
}
@Override
public
void
busy
(
MultiMeetBusyResponse
multiMeetBusyResponse
,
Long
toFkClientId
)
{
multiMeetBusyResponse
.
setSubCmd
(
WsMultiMeetResponseSubCmdEnum
.
BUSY
.
getCmdCode
());
// 向接收方推送
WsResponse
<
MultiMeetBusyResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
MULTI_MEET_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
multiMeetBusyResponse
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toFkClientId
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment