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
11952736
Commit
11952736
authored
Feb 09, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rtc返回去subData扁平化
parent
5b9cb41e
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
89 additions
and
58 deletions
+89
-58
core/src/main/java/com/wecloud/im/enums/CallTypeEnum.java
+40
-0
core/src/main/java/com/wecloud/im/friend/service/FriendEventSender.java
+0
-1
core/src/main/java/com/wecloud/im/param/rtc/CreateRtcChannelParam.java
+2
-2
core/src/main/java/com/wecloud/rtc/entity/response/RtcCallResponse.java
+10
-2
core/src/main/java/com/wecloud/rtc/entity/response/RtcCandidateForwardResponse.java
+1
-1
core/src/main/java/com/wecloud/rtc/entity/response/RtcClientJoinResponse.java
+1
-1
core/src/main/java/com/wecloud/rtc/entity/response/RtcClientLeaveResponse.java
+1
-1
core/src/main/java/com/wecloud/rtc/entity/response/RtcClientRejectResponse.java
+1
-1
core/src/main/java/com/wecloud/rtc/entity/response/RtcDataBase.java
+6
-1
core/src/main/java/com/wecloud/rtc/entity/response/RtcSdpForwardResponse.java
+1
-1
core/src/main/java/com/wecloud/rtc/service/impl/RtcServiceImpl.java
+8
-2
core/src/main/java/com/wecloud/rtc/service/impl/WsRtcWriteImpl.java
+18
-45
No files found.
core/src/main/java/com/wecloud/im/enums/CallTypeEnum.java
0 → 100644
View file @
11952736
package
com
.
wecloud
.
im
.
enums
;
import
io.geekidea.springbootplus.framework.common.enums.BaseEnum
;
/**
* @Author wenzhida
* @Date 2022/2/9 17:25
* @Description 呼叫类型枚举
*/
public
enum
CallTypeEnum
implements
BaseEnum
{
/**
* 1 - video
*/
VIDEO
(
1
,
"video"
),
/**
* 2 - voice
*/
VOICE
(
2
,
"voice"
);
CallTypeEnum
(
int
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
private
final
Integer
code
;
private
final
String
desc
;
@Override
public
Integer
getCode
()
{
return
this
.
code
;
}
@Override
public
String
getDesc
()
{
return
this
.
desc
;
}
}
core/src/main/java/com/wecloud/im/friend/service/FriendEventSender.java
View file @
11952736
...
...
@@ -97,7 +97,6 @@ public class FriendEventSender {
PushVO
pushVO
=
new
PushVO
();
pushVO
.
setTitle
(
FRIEND_APPROVE_TITLE
);
pushVO
.
setSubTitle
(
isAgree
?
FRIEND_APPROVE_TITLE_AGREE
:
FRIEND_APPROVE_TITLE_REJECT
);
// systemPush.push(pushVO, receiveClient, app);
PushDTO
pushDTO
=
mqSender
.
buildPushDto
(
pushVO
,
receiveClient
,
app
);
mqSender
.
synSend
(
MqConstant
.
Topic
.
IM_MSG_TOPIC
,
MqConstant
.
Tag
.
IM_MSG_TAG
,
pushDTO
);
}
...
...
core/src/main/java/com/wecloud/im/param/rtc/CreateRtcChannelParam.java
View file @
11952736
...
...
@@ -23,8 +23,8 @@ public class CreateRtcChannelParam implements Serializable {
@ApiModelProperty
(
value
=
"客户端自定义数据"
,
required
=
false
)
private
String
attrs
;
@ApiModelProperty
(
value
=
"类型:
video或
voice"
,
required
=
true
)
private
String
t
ype
;
@ApiModelProperty
(
value
=
"类型:
1-video或2-
voice"
,
required
=
true
)
private
Integer
callT
ype
;
@ApiModelProperty
(
value
=
"绑定的会话id,可选"
,
required
=
false
)
private
Long
conversationId
;
...
...
core/src/main/java/com/wecloud/rtc/entity/response/RtcCallResponse.java
View file @
11952736
...
...
@@ -7,9 +7,17 @@ import java.io.Serializable;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
RtcCallResponse
extends
Rtc
Sub
DataBase
implements
Serializable
{
public
class
RtcCallResponse
extends
RtcDataBase
implements
Serializable
{
private
String
type
;
/**
* 类型: "video" 或 "voice"
* @see com.wecloud.im.enums.CallTypeEnum
*/
private
Integer
callType
;
/**
* 会话id
*/
private
Long
conversationId
;
}
core/src/main/java/com/wecloud/rtc/entity/response/RtcCandidateForwardResponse.java
View file @
11952736
...
...
@@ -7,7 +7,7 @@ import java.io.Serializable;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
RtcCandidateForwardResponse
extends
Rtc
Sub
DataBase
implements
Serializable
{
public
class
RtcCandidateForwardResponse
extends
RtcDataBase
implements
Serializable
{
/**
* 转发的候选者数据
...
...
core/src/main/java/com/wecloud/rtc/entity/response/RtcClientJoinResponse.java
View file @
11952736
...
...
@@ -7,6 +7,6 @@ import java.io.Serializable;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
RtcClientJoinResponse
extends
Rtc
Sub
DataBase
implements
Serializable
{
public
class
RtcClientJoinResponse
extends
RtcDataBase
implements
Serializable
{
}
core/src/main/java/com/wecloud/rtc/entity/response/RtcClientLeaveResponse.java
View file @
11952736
...
...
@@ -7,6 +7,6 @@ import java.io.Serializable;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
RtcClientLeaveResponse
extends
Rtc
Sub
DataBase
implements
Serializable
{
public
class
RtcClientLeaveResponse
extends
RtcDataBase
implements
Serializable
{
}
core/src/main/java/com/wecloud/rtc/entity/response/RtcClientRejectResponse.java
View file @
11952736
...
...
@@ -7,6 +7,6 @@ import java.io.Serializable;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
RtcClientRejectResponse
extends
Rtc
Sub
DataBase
implements
Serializable
{
public
class
RtcClientRejectResponse
extends
RtcDataBase
implements
Serializable
{
}
core/src/main/java/com/wecloud/rtc/entity/response/Rtc
Sub
DataBase.java
→
core/src/main/java/com/wecloud/rtc/entity/response/RtcDataBase.java
View file @
11952736
...
...
@@ -5,7 +5,12 @@ import lombok.Data;
import
java.io.Serializable
;
@Data
public
class
RtcSubDataBase
implements
Serializable
{
public
class
RtcDataBase
implements
Serializable
{
/**
* 子指令
*/
private
Integer
subCmd
;
private
Long
channelId
;
private
String
clientId
;
...
...
core/src/main/java/com/wecloud/rtc/entity/response/RtcSdpForwardResponse.java
View file @
11952736
...
...
@@ -7,7 +7,7 @@ import java.io.Serializable;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
RtcSdpForwardResponse
extends
Rtc
Sub
DataBase
implements
Serializable
{
public
class
RtcSdpForwardResponse
extends
RtcDataBase
implements
Serializable
{
/**
* channelId : 1234263457652
...
...
core/src/main/java/com/wecloud/rtc/service/impl/RtcServiceImpl.java
View file @
11952736
...
...
@@ -3,6 +3,8 @@ package com.wecloud.rtc.service.impl;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.enums.CallTypeEnum
;
import
com.wecloud.im.enums.FriendStateEnum
;
import
com.wecloud.im.param.rtc.CandidateForwardParam
;
import
com.wecloud.im.param.rtc.CreateRtcChannelParam
;
import
com.wecloud.im.param.rtc.CreateRtcChannelResult
;
...
...
@@ -23,8 +25,10 @@ import com.wecloud.rtc.entity.response.RtcSdpForwardResponse;
import
com.wecloud.rtc.service.MangerRtcCacheService
;
import
com.wecloud.rtc.service.RtcService
;
import
com.wecloud.rtc.service.WsRtcWrite
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
com.wecloud.utils.SnowflakeUtil
;
import
io.geekidea.springbootplus.framework.common.enums.BaseEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -79,7 +83,9 @@ public class RtcServiceImpl extends UserStateListener implements RtcService {
public
ApiResult
<
CreateRtcChannelResult
>
createAndCall
(
CreateRtcChannelParam
createRtcChannelParam
)
throws
JsonProcessingException
{
ImClient
client
=
imClientService
.
getCurentClient
();
Long
rtcChannelId
=
SnowflakeUtil
.
getId
();
if
(
BaseEnum
.
valueOf
(
CallTypeEnum
.
class
,
createRtcChannelParam
.
getCallType
())
==
null
)
{
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
// 判断发起方必须在线
boolean
onlineStatus
=
userStateCacheManager
.
isOnline
(
client
.
getId
());
if
(!
onlineStatus
)
{
...
...
@@ -95,7 +101,7 @@ public class RtcServiceImpl extends UserStateListener implements RtcService {
// ws向接收方发送通知
RtcCallResponse
rtcCallResponse
=
new
RtcCallResponse
();
rtcCallResponse
.
set
Type
(
createRtcChannelParam
.
get
Type
());
rtcCallResponse
.
set
CallType
(
createRtcChannelParam
.
getCall
Type
());
// rtcCallResponse.setConversationId(createRtcChannelParam.getConversationId());
rtcCallResponse
.
setChannelId
(
rtcChannelId
);
rtcCallResponse
.
setClientId
(
client
.
getClientId
());
...
...
core/src/main/java/com/wecloud/rtc/service/impl/WsRtcWriteImpl.java
View file @
11952736
...
...
@@ -9,7 +9,6 @@ import com.wecloud.rtc.entity.response.RtcCandidateForwardResponse;
import
com.wecloud.rtc.entity.response.RtcClientJoinResponse
;
import
com.wecloud.rtc.entity.response.RtcClientLeaveResponse
;
import
com.wecloud.rtc.entity.response.RtcClientRejectResponse
;
import
com.wecloud.rtc.entity.response.RtcResponseBase
;
import
com.wecloud.rtc.entity.response.RtcSdpForwardResponse
;
import
com.wecloud.rtc.service.WsRtcWrite
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
...
...
@@ -25,19 +24,15 @@ public class WsRtcWriteImpl implements WsRtcWrite {
@Override
public
void
rtcCall
(
RtcCallResponse
rtcCallResponse
,
Long
toClientId
)
{
RtcResponseBase
<
RtcCallResponse
>
rtcResponseBase
=
new
RtcResponseBase
<>();
rtcResponseBase
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
RTC_CALL
.
getCmdCode
());
rtcResponseBase
.
setSubData
(
rtcCallResponse
);
// rtcResponseBase.setAttrs(rtcCallResponse.get);
rtcCallResponse
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
RTC_CALL
.
getCmdCode
());
// 向接收方推送
WsResponse
<
Rtc
ResponseBase
<
RtcCallResponse
>
>
responseModel
=
new
WsResponse
<>();
WsResponse
<
Rtc
CallResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
SINGLE_RTC_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
rtc
ResponseBa
se
);
responseModel
.
setData
(
rtc
CallRespon
se
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toClientId
);
...
...
@@ -45,19 +40,15 @@ public class WsRtcWriteImpl implements WsRtcWrite {
@Override
public
void
clientJoin
(
RtcClientJoinResponse
rtcClientJoinResponse
,
Long
toClientId
)
{
RtcResponseBase
<
RtcClientJoinResponse
>
rtcResponseBase
=
new
RtcResponseBase
<>();
rtcResponseBase
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CLIENT_JOIN
.
getCmdCode
());
rtcResponseBase
.
setSubData
(
rtcClientJoinResponse
);
// rtcResponseBase.setAttrs(rtcCallResponse.get);
rtcClientJoinResponse
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CLIENT_JOIN
.
getCmdCode
());
// 向接收方推送
WsResponse
<
Rtc
ResponseBase
<
RtcClientJoinResponse
>
>
responseModel
=
new
WsResponse
<>();
WsResponse
<
Rtc
ClientJoinResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
SINGLE_RTC_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
rtc
ResponseBa
se
);
responseModel
.
setData
(
rtc
ClientJoinRespon
se
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toClientId
);
...
...
@@ -66,20 +57,15 @@ public class WsRtcWriteImpl implements WsRtcWrite {
@Override
public
void
clientLeave
(
RtcClientLeaveResponse
rtcClientLeaveResponse
,
Long
toClientId
)
{
RtcResponseBase
<
RtcClientLeaveResponse
>
rtcResponseBase
=
new
RtcResponseBase
<>();
rtcResponseBase
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CLIENT_LEAVE
.
getCmdCode
());
rtcResponseBase
.
setSubData
(
rtcClientLeaveResponse
);
// rtcResponseBase.setAttrs(rtcCallResponse.get);
rtcClientLeaveResponse
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CLIENT_LEAVE
.
getCmdCode
());
// 向接收方推送
WsResponse
<
Rtc
ResponseBase
<
RtcClientLeaveResponse
>
>
responseModel
=
new
WsResponse
<>();
WsResponse
<
Rtc
ClientLeaveResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
SINGLE_RTC_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
rtc
ResponseBa
se
);
responseModel
.
setData
(
rtc
ClientLeaveRespon
se
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toClientId
);
...
...
@@ -87,60 +73,47 @@ public class WsRtcWriteImpl implements WsRtcWrite {
@Override
public
void
clientReject
(
RtcClientRejectResponse
rtcClientRejectResponse
,
Long
toClientId
)
{
RtcResponseBase
<
RtcClientRejectResponse
>
rtcResponseBase
=
new
RtcResponseBase
<>();
rtcResponseBase
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CLIENT_REJECT
.
getCmdCode
());
rtcResponseBase
.
setSubData
(
rtcClientRejectResponse
);
// rtcResponseBase.setAttrs(rtcCallResponse.get);
rtcClientRejectResponse
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CLIENT_REJECT
.
getCmdCode
());
// 向接收方推送
WsResponse
<
Rtc
ResponseBase
<
RtcClientRejectResponse
>
>
responseModel
=
new
WsResponse
<>();
WsResponse
<
Rtc
ClientRejectResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
SINGLE_RTC_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
rtc
ResponseBa
se
);
responseModel
.
setData
(
rtc
ClientRejectRespon
se
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toClientId
);
}
@Override
public
void
sdpForward
(
RtcSdpForwardResponse
rtcSdpForwardResponse
,
Long
toClientId
)
{
RtcResponseBase
<
RtcSdpForwardResponse
>
rtcResponseBase
=
new
RtcResponseBase
<>();
rtcResponseBase
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
SDP_FORWARD
.
getCmdCode
());
rtcResponseBase
.
setSubData
(
rtcSdpForwardResponse
);
// rtcResponseBase.setAttrs(rtcCallResponse.get);
rtcSdpForwardResponse
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
SDP_FORWARD
.
getCmdCode
());
// 向接收方推送
WsResponse
<
Rtc
ResponseBase
<
RtcSdpForwardResponse
>
>
responseModel
=
new
WsResponse
<>();
WsResponse
<
Rtc
SdpForwardResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
SINGLE_RTC_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
rtc
ResponseBa
se
);
responseModel
.
setData
(
rtc
SdpForwardRespon
se
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toClientId
);
}
@Override
public
void
candidateForward
(
RtcCandidateForwardResponse
rtcCandidateForwardResponse
,
Long
toClientId
)
{
RtcResponseBase
<
RtcCandidateForwardResponse
>
rtcResponseBase
=
new
RtcResponseBase
<>();
rtcResponseBase
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CANDIDATE_FORWARD
.
getCmdCode
());
rtcResponseBase
.
setSubData
(
rtcCandidateForwardResponse
);
// rtcResponseBase.setAttrs(rtcCallResponse.get);
rtcCandidateForwardResponse
.
setSubCmd
(
WsRtcResponseSubCmdEnum
.
CANDIDATE_FORWARD
.
getCmdCode
());
// 向接收方推送
WsResponse
<
Rtc
ResponseBase
<
RtcCandidateForwardResponse
>
>
responseModel
=
new
WsResponse
<>();
WsResponse
<
Rtc
CandidateForwardResponse
>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
SINGLE_RTC_MSG
.
getCmdCode
());
ApiResult
<
Boolean
>
result
=
ApiResult
.
result
(
ApiCode
.
SUCCESS
);
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setData
(
rtc
ResponseBa
se
);
responseModel
.
setData
(
rtc
CandidateForwardRespon
se
);
responseModel
.
setReqId
(
null
);
channelSender
.
sendMsg
(
responseModel
,
toClientId
);
}
}
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