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
45ba90b0
Commit
45ba90b0
authored
Apr 08, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、修复返回null消息的bug
2、action请求返回reqId 3、参数名统一为data 删除requestParam
parent
89a22df1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
181 additions
and
165 deletions
+181
-165
core/src/main/java/com/wecloud/dispatch/general/GeneralMessageHandler.java
+14
-19
core/src/main/java/com/wecloud/dispatch/util/ActionRequestHolder.java
+4
-0
core/src/main/java/com/wecloud/im/action/BlacklistAction.java
+7
-12
core/src/main/java/com/wecloud/im/action/ClientAction.java
+19
-20
core/src/main/java/com/wecloud/im/action/ConversationAction.java
+40
-41
core/src/main/java/com/wecloud/im/action/ConversationMembersAction.java
+8
-7
core/src/main/java/com/wecloud/im/action/InboxAction.java
+18
-16
core/src/main/java/com/wecloud/im/action/MultiMeetAction.java
+33
-24
core/src/main/java/com/wecloud/im/action/RtcAction.java
+28
-20
core/src/main/java/com/wecloud/im/ws/model/WsResponse.java
+10
-6
No files found.
core/src/main/java/com/wecloud/dispatch/general/GeneralMessageHandler.java
View file @
45ba90b0
package
com
.
wecloud
.
dispatch
.
general
;
import
com.wecloud.dispatch.common.BaseRequest
;
import
com.wecloud.dispatch.extend.ActionMessage
;
import
com.wecloud.dispatch.extend.ArgumentBox
;
import
com.wecloud.dispatch.extend.impl.DefaultArgumentBox
;
import
com.wecloud.dispatch.general.config.GeneralActionDispatcher
;
import
com.wecloud.dispatch.general.extend.ActionMessageResolver
;
import
com.wecloud.im.exception.VerificationCodeException
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.utils.JsonUtils
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.exception.DaoException
;
import
io.geekidea.springbootplus.framework.common.exception.SpringBootPlusException
;
...
...
@@ -20,14 +8,20 @@ import io.netty.channel.ChannelHandlerContext;
import
io.netty.channel.socket.nio.NioSocketChannel
;
import
lombok.extern.slf4j.Slf4j
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.lang.Nullable
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.HandlerExecutionChain
;
import
org.springframework.web.servlet.ModelAndView
;
import
com.wecloud.dispatch.common.BaseRequest
;
import
com.wecloud.dispatch.extend.ActionMessage
;
import
com.wecloud.dispatch.extend.ArgumentBox
;
import
com.wecloud.dispatch.extend.impl.DefaultArgumentBox
;
import
com.wecloud.dispatch.general.config.GeneralActionDispatcher
;
import
com.wecloud.dispatch.general.extend.ActionMessageResolver
;
import
com.wecloud.im.exception.VerificationCodeException
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.utils.JsonUtils
;
/**
...
...
@@ -100,7 +94,8 @@ public class GeneralMessageHandler {
res
=
WsResponse
.
result
(
ApiCode
.
SYSTEM_EXCEPTION
);
}
}
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
am
.
getSenderChannel
(),
res
);
if
(
res
!=
null
)
{
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
am
.
getSenderChannel
(),
res
);
}
}
}
core/src/main/java/com/wecloud/dispatch/util/ActionRequestHolder.java
View file @
45ba90b0
...
...
@@ -19,6 +19,10 @@ public class ActionRequestHolder {
return
THREAD_LOCAL
.
get
();
}
public
static
String
getReqId
()
{
return
getActionRequest
().
getData
().
getReqId
();
}
/**
* 设置请求信息到当前线程中
*
...
...
core/src/main/java/com/wecloud/im/action/BlacklistAction.java
View file @
45ba90b0
...
...
@@ -4,18 +4,13 @@ import io.geekidea.springbootplus.framework.core.pagination.Paging;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLog
;
import
io.geekidea.springbootplus.framework.log.enums.OperationLogType
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.ImClientBlacklistPageParam
;
...
...
@@ -23,7 +18,6 @@ import com.wecloud.im.param.ImClientBlacklistQueryVo;
import
com.wecloud.im.param.add.ImClientBlacklistUpdate
;
import
com.wecloud.im.service.ImClientBlacklistService
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.model.request.PushVO
;
/**
* ws 黑名单
...
...
@@ -45,8 +39,8 @@ public class BlacklistAction {
*/
@ActionMapping
(
"/add"
)
@ApiOperation
(
value
=
"拉入黑名单"
)
public
WsResponse
<
Boolean
>
addImClientBlacklist
(
@RequestParam
(
value
=
"data"
)
ImClientBlacklistUpdate
clientBlacklistUpdate
)
{
imClientBlacklistService
.
addImClientBlacklist
(
clientBlacklistUpdate
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
addImClientBlacklist
(
ImClientBlacklistUpdate
data
)
{
imClientBlacklistService
.
addImClientBlacklist
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -56,20 +50,21 @@ public class BlacklistAction {
*/
@ActionMapping
(
"/delete"
)
@ApiOperation
(
value
=
"移出黑名单"
)
public
WsResponse
<
Boolean
>
deleteImClientBlacklist
(
@RequestParam
(
value
=
"data"
)
ImClientBlacklistUpdate
clientBlacklistUpdate
)
{
imClientBlacklistService
.
removeImClientBlacklist
(
clientBlacklistUpdate
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
deleteImClientBlacklist
(
ImClientBlacklistUpdate
data
)
{
imClientBlacklistService
.
removeImClientBlacklist
(
data
);
return
WsResponse
.
ok
();
}
/**
* 黑名单分页列表
* @return
*/
@ActionMapping
(
"/getPageList"
)
@OperationLog
(
name
=
"黑名单分页列表"
,
type
=
OperationLogType
.
PAGE
)
@ApiOperation
(
value
=
"黑名单分页列表"
)
public
WsResponse
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageList
(
@RequestParam
(
value
=
"data"
)
ImClientBlacklistPageParam
clientBlacklistUpdate
)
{
public
WsResponse
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageList
(
ImClientBlacklistPageParam
data
)
{
Paging
<
ImClientBlacklistQueryVo
>
blacklist
=
imClientBlacklistService
.
getImClientBlacklistPageList
(
clientBlacklistUpdate
);
imClientBlacklistService
.
getImClientBlacklistPageList
(
data
);
return
WsResponse
.
ok
(
blacklist
);
}
}
core/src/main/java/com/wecloud/im/action/ClientAction.java
View file @
45ba90b0
...
...
@@ -9,7 +9,6 @@ import java.util.List;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
...
...
@@ -69,8 +68,8 @@ public class ClientAction {
@ActionMapping
(
"/infoList"
)
@ApiOperation
(
value
=
"根据id获取Client的头像昵称"
)
public
WsResponse
<
List
<
GetInfoListVo
>>
getInfoList
(
@RequestParam
(
value
=
"data"
)
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
return
WsResponse
.
ok
(
imClientService
.
getInfoList
(
getClientInfoParam
));
public
WsResponse
<
List
<
GetInfoListVo
>>
getInfoList
(
GetClientInfoParam
data
)
throws
Exception
{
return
WsResponse
.
ok
(
imClientService
.
getInfoList
(
data
));
}
/**
...
...
@@ -78,34 +77,34 @@ public class ClientAction {
*/
@ActionMapping
(
"/clientInfo"
)
@ApiOperation
(
value
=
"查询用户信息 用户可能是好友、陌生人、被拉黑名单的人"
)
public
WsResponse
<
ClientInfoVo
>
getClientInfo
(
@RequestParam
(
value
=
"data"
)
ClientInfoParam
clientInfoParam
)
{
ClientInfoVo
clientInfoVo
=
imClientService
.
getClientInfo
(
clientInfoParam
);
public
WsResponse
<
ClientInfoVo
>
getClientInfo
(
ClientInfoParam
data
)
{
ClientInfoVo
clientInfoVo
=
imClientService
.
getClientInfo
(
data
);
return
WsResponse
.
ok
(
clientInfoVo
);
}
@ActionMapping
(
"/updateHeadAndNickname"
)
@ApiOperation
(
value
=
"添加或修改头像和昵称"
)
public
WsResponse
<
Boolean
>
updateHeadAndNickname
(
@RequestParam
(
value
=
"data"
)
ImClientHeadPortraitAndNicknameUpdate
clientHeadPortraitAndNicknameUpdate
)
throws
Exception
{
log
.
info
(
"添加或修改头像和昵称入参 {}"
,
JSON
.
toJSONString
(
clientHeadPortraitAndNicknameUpdate
));
boolean
flag
=
imClientService
.
updateHeadAndNickname
(
clientHeadPortraitAndNicknameUpdate
);
public
WsResponse
<
Boolean
>
updateHeadAndNickname
(
ImClientHeadPortraitAndNicknameUpdate
data
)
throws
Exception
{
log
.
info
(
"添加或修改头像和昵称入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
updateHeadAndNickname
(
data
);
return
WsResponse
.
ok
(
flag
);
}
@ActionMapping
(
"/updateHeadPortrait"
)
@ApiOperation
(
value
=
"添加或修改头像"
)
public
WsResponse
<
Boolean
>
updateHeadPortrait
(
@RequestParam
(
value
=
"data"
)
ImClientHeadPortraitAdd
clientHeadPortraitAdd
)
throws
Exception
{
log
.
info
(
"添加或修改头像入参 {}"
,
JSON
.
toJSONString
(
clientHeadPortraitAdd
));
boolean
flag
=
imClientService
.
updateHeadPortrait
(
clientHeadPortraitAdd
);
public
WsResponse
<
Boolean
>
updateHeadPortrait
(
ImClientHeadPortraitAdd
data
)
throws
Exception
{
log
.
info
(
"添加或修改头像入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
updateHeadPortrait
(
data
);
return
WsResponse
.
ok
(
flag
);
}
@ActionMapping
(
"/updateNickname"
)
@ApiOperation
(
value
=
"添加或修改主昵称"
)
public
WsResponse
<
Boolean
>
updateNickname
(
@RequestParam
(
value
=
"data"
)
ImClientNicknameAdd
clientNicknameAdd
)
throws
Exception
{
log
.
info
(
"添加或修改主昵称入参 {}"
,
JSON
.
toJSONString
(
clientNicknameAdd
));
boolean
flag
=
imClientService
.
updateNickname
(
clientNicknameAdd
);
public
WsResponse
<
Boolean
>
updateNickname
(
ImClientNicknameAdd
data
)
throws
Exception
{
log
.
info
(
"添加或修改主昵称入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
updateNickname
(
data
);
return
WsResponse
.
ok
(
flag
);
}
...
...
@@ -118,9 +117,9 @@ public class ClientAction {
*/
@ActionMapping
(
"/logout"
)
@ApiOperation
(
value
=
"退出登陆 清除推送token等"
)
public
WsResponse
<
Boolean
>
logout
(
@RequestParam
(
value
=
"data"
)
LogoutParam
param
)
{
log
.
info
(
"退出登陆入参 {}"
,
JSON
.
toJSONString
(
param
));
boolean
flag
=
imClientService
.
logout
(
param
);
public
WsResponse
<
Boolean
>
logout
(
LogoutParam
data
)
{
log
.
info
(
"退出登陆入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
logout
(
data
);
return
WsResponse
.
ok
(
flag
);
}
...
...
@@ -132,13 +131,13 @@ public class ClientAction {
@ActionMapping
(
"/onlineStatus"
)
@ApiOperation
(
value
=
"获取用户在线状态(批量)"
)
public
WsResponse
<
List
<
ImOnlineStatusVo
>>
getOnlineStatus
(
@RequestParam
(
value
=
"data"
)
GetOnlineStatusParam
getOnlineStatusParam
)
{
GetOnlineStatusParam
data
)
{
// shiro线程中获取当前token
ImClient
imClient
=
contextService
.
getImClientIfNotNullOrThrow
();
ImApplication
imApplication
=
contextService
.
getImApplicationIfNotNullOrThrow
(
imClient
.
getFkAppid
());
Array
List
<
ImOnlineStatusVo
>
imOnlineStatusVos
=
new
ArrayList
<>();
for
(
String
clientId
:
getOnlineStatusParam
.
getClientIds
())
{
List
<
ImOnlineStatusVo
>
imOnlineStatusVos
=
new
ArrayList
<>();
for
(
String
clientId
:
data
.
getClientIds
())
{
ImOnlineStatusVo
imOnlineStatusVo
=
new
ImOnlineStatusVo
();
// todo 需要改成批量
...
...
core/src/main/java/com/wecloud/im/action/ConversationAction.java
View file @
45ba90b0
package
com
.
wecloud
.
im
.
action
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
...
...
@@ -54,9 +53,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/saveOrUpdateName"
)
@ApiOperation
(
value
=
"添加或修改会话名称"
,
notes
=
"权限:目前只有创建者有权限操作"
)
public
WsResponse
<
Boolean
>
saveOrUpdateName
(
@RequestParam
(
value
=
"data"
)
ImConversationNameUpdate
conversationNameUpdate
)
{
log
.
info
(
"添加或修改会话名称入参 {}"
,
JSON
.
toJSONString
(
conversationNameUpdate
));
imConversationService
.
saveOrUpdateName
(
conversationNameUpdate
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
saveOrUpdateName
(
ImConversationNameUpdate
data
)
{
log
.
info
(
"添加或修改会话名称入参 {}"
,
JSON
.
toJSONString
(
data
));
imConversationService
.
saveOrUpdateName
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -66,8 +65,8 @@ public class ConversationAction {
*/
@ActionMapping
(
"/saveOrUpdateAttr"
)
@ApiOperation
(
value
=
"添加或修改会话拓展字段"
,
notes
=
"权限:所有client都权限操作"
)
public
WsResponse
<
Boolean
>
saveOrUpdateAttr
(
@RequestParam
(
value
=
"data"
)
ImConversationAttrUpdate
imConversationAttrUpdate
)
{
imConversationService
.
saveOrUpdateAttr
(
imConversationAttrUpdate
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
saveOrUpdateAttr
(
ImConversationAttrUpdate
data
)
{
imConversationService
.
saveOrUpdateAttr
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -77,9 +76,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/leave"
)
@ApiOperation
(
value
=
"client退出会话"
,
notes
=
"若是创建者退出,[创建者]权限将会转移给按加入会话时间排序的下一个client"
)
public
WsResponse
<
Boolean
>
leaveConversation
(
@RequestParam
(
value
=
"data"
)
ImClientLeaveConversation
imClientToConversation
)
{
log
.
info
(
"client退出会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
imConversationService
.
leaveConversation
(
imClientToConversation
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
leaveConversation
(
ImClientLeaveConversation
data
)
{
log
.
info
(
"client退出会话入参 {}"
,
JSON
.
toJSONString
(
data
));
imConversationService
.
leaveConversation
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -89,9 +88,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/delClient"
)
@ApiOperation
(
value
=
"将client从会话移除"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
delClientToConversation
(
@RequestParam
(
value
=
"data"
)
ImClientToConversation
imClientToConversation
)
throws
Exception
{
log
.
info
(
"将client从会话移除入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
return
WsResponse
.
ok
(
imConversationService
.
delClientToConversation
(
imClientToConversation
));
public
WsResponse
<
Boolean
>
delClientToConversation
(
ImClientToConversation
data
)
throws
Exception
{
log
.
info
(
"将client从会话移除入参 {}"
,
JSON
.
toJSONString
(
data
));
return
WsResponse
.
ok
(
imConversationService
.
delClientToConversation
(
data
));
}
/**
...
...
@@ -99,9 +98,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/disband"
)
@ApiOperation
(
value
=
"解散群聊"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
disband
(
@RequestParam
(
value
=
"data"
)
DisbandConversationParam
param
)
throws
Exception
{
log
.
info
(
"解散群聊入参 {}"
,
JSON
.
toJSONString
(
param
));
imConversationService
.
disband
(
param
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
disband
(
DisbandConversationParam
data
)
throws
Exception
{
log
.
info
(
"解散群聊入参 {}"
,
JSON
.
toJSONString
(
data
));
imConversationService
.
disband
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -111,9 +110,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/addClient"
)
@ApiOperation
(
value
=
"将用户添加进会话"
,
notes
=
"权限:会话中所有client都有权限操作"
)
public
WsResponse
<
Boolean
>
addClientToConversation
(
@RequestParam
(
value
=
"data"
)
ImClientToConversation
imClientToConversation
)
throws
Exception
{
log
.
info
(
"将用户添加进会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
imConversationService
.
addClientToConversation
(
imClientToConversation
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
addClientToConversation
(
ImClientToConversation
data
)
throws
Exception
{
log
.
info
(
"将用户添加进会话入参 {}"
,
JSON
.
toJSONString
(
data
));
imConversationService
.
addClientToConversation
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -122,9 +121,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/create"
)
@ApiOperation
(
value
=
"创建会话"
,
notes
=
"后台可配置:两个客户端如果已经创建过会话,是否重复创建会话"
)
public
WsResponse
<
ImConversationCreateVo
>
createImConversation
(
@RequestParam
(
value
=
"data"
)
ImConversationCreate
imConversationCreate
)
throws
Exception
{
log
.
info
(
"创建会话入参 {}"
,
JSON
.
toJSONString
(
imConversationCreate
));
ImConversationCreateVo
vo
=
imConversationService
.
createImConversation
(
imConversationCreate
);
public
WsResponse
<
ImConversationCreateVo
>
createImConversation
(
ImConversationCreate
data
)
throws
Exception
{
log
.
info
(
"创建会话入参 {}"
,
JSON
.
toJSONString
(
data
));
ImConversationCreateVo
vo
=
imConversationService
.
createImConversation
(
data
);
return
WsResponse
.
ok
(
vo
);
}
...
...
@@ -133,9 +132,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/transferOwner"
)
@ApiOperation
(
value
=
"群主转让"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
transferOwner
(
@RequestParam
(
value
=
"data"
)
TransferOwnerParam
param
)
{
log
.
info
(
"群主转让入参 {}"
,
JSON
.
toJSONString
(
param
));
Boolean
result
=
imConversationService
.
transferOwner
(
param
);
public
WsResponse
<
Boolean
>
transferOwner
(
TransferOwnerParam
data
)
{
log
.
info
(
"群主转让入参 {}"
,
JSON
.
toJSONString
(
data
));
Boolean
result
=
imConversationService
.
transferOwner
(
data
);
return
WsResponse
.
ok
(
result
);
}
...
...
@@ -144,12 +143,12 @@ public class ConversationAction {
*/
@ActionMapping
(
"/setAdmins"
)
@ApiOperation
(
value
=
"设置群管理员"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
setAdmins
(
@
RequestParam
(
value
=
"data"
)
@Validated
SetAdminsParam
param
)
{
log
.
info
(
"设置群管理员入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
public
WsResponse
<
Boolean
>
setAdmins
(
@
Validated
SetAdminsParam
data
)
{
log
.
info
(
"设置群管理员入参 {}"
,
JSON
.
toJSONString
(
data
));
if
(
CollectionUtils
.
isEmpty
(
data
.
getClientIds
()))
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
Boolean
result
=
imConversationService
.
setAdmins
(
param
);
Boolean
result
=
imConversationService
.
setAdmins
(
data
);
return
WsResponse
.
ok
(
result
);
}
...
...
@@ -158,9 +157,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/mutedGroup"
)
@ApiOperation
(
value
=
"群禁言、取消群禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
public
WsResponse
<
Boolean
>
mutedGroup
(
@
RequestParam
(
value
=
"data"
)
@Validated
MutedGroupParam
param
)
{
log
.
info
(
"群禁言、取消群禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
Boolean
result
=
imConversationService
.
mutedGroup
(
param
);
public
WsResponse
<
Boolean
>
mutedGroup
(
@
Validated
MutedGroupParam
data
)
{
log
.
info
(
"群禁言、取消群禁言入参 {}"
,
JSON
.
toJSONString
(
data
));
Boolean
result
=
imConversationService
.
mutedGroup
(
data
);
return
WsResponse
.
ok
(
result
);
}
...
...
@@ -169,12 +168,12 @@ public class ConversationAction {
*/
@ActionMapping
(
"/mutedGroupMember"
)
@ApiOperation
(
value
=
"选择禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
public
WsResponse
<
Boolean
>
mutedGroupMember
(
@
RequestParam
(
value
=
"data"
)
@Validated
MutedGroupMemberParam
param
)
{
log
.
info
(
"选择禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
public
WsResponse
<
Boolean
>
mutedGroupMember
(
@
Validated
MutedGroupMemberParam
data
)
{
log
.
info
(
"选择禁言入参 {}"
,
JSON
.
toJSONString
(
data
));
if
(
CollectionUtils
.
isEmpty
(
data
.
getClientIds
()))
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
Boolean
result
=
imConversationService
.
mutedGroupMember
(
param
);
Boolean
result
=
imConversationService
.
mutedGroupMember
(
data
);
return
WsResponse
.
ok
(
result
);
}
...
...
@@ -193,8 +192,8 @@ public class ConversationAction {
*/
@ActionMapping
(
"/info"
)
@ApiOperation
(
value
=
"根据会话id查询指定会话信息"
,
notes
=
"根据会话id查询指定会话信息 与每个会话的未读条数"
)
public
WsResponse
<
ConversationVo
>
info
(
@
RequestParam
(
value
=
"data"
)
@Validated
ImConversationQueryParam
param
)
throws
Exception
{
ConversationVo
conversationVo
=
imConversationService
.
infoImConversationAndMsgCount
(
param
);
public
WsResponse
<
ConversationVo
>
info
(
@
Validated
ImConversationQueryParam
data
)
throws
Exception
{
ConversationVo
conversationVo
=
imConversationService
.
infoImConversationAndMsgCount
(
data
);
return
WsResponse
.
ok
(
conversationVo
);
}
...
...
@@ -203,9 +202,9 @@ public class ConversationAction {
*/
@ActionMapping
(
"/displayUpdate"
)
@ApiOperation
(
value
=
"批量修改单向隐藏或显示会话"
,
notes
=
"拉取会话列表不展示已隐藏状态的会话,云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录"
)
public
ApiResult
<
Boolean
>
updateDisplayConversation
(
@RequestParam
(
value
=
"data"
)
ImConversationDisplayUpdate
imConversationDisplayUpdate
)
throws
Exception
{
public
WsResponse
<
Map
<
String
,
Boolean
>>
updateDisplayConversation
(
ImConversationDisplayUpdate
data
)
throws
Exception
{
imConversationService
.
updateDisplayConversation
(
imConversationDisplayUpdate
);
return
ApiResult
.
result
(
true
);
imConversationService
.
updateDisplayConversation
(
data
);
return
WsResponse
.
ok
(
);
}
}
core/src/main/java/com/wecloud/im/action/ConversationMembersAction.java
View file @
45ba90b0
...
...
@@ -5,11 +5,11 @@ import io.swagger.annotations.ApiOperation;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
...
...
@@ -34,11 +34,12 @@ public class ConversationMembersAction {
/**
* 添加或修改会话成员备注
* @return
*/
@ActionMapping
(
"/updateClientRemarkName"
)
@ApiOperation
(
value
=
"添加或修改会话成员备注"
,
notes
=
"权限:目前只有client成员自己有权限操作"
)
public
WsResponse
<
Boolean
>
saveOrUpdateClientRemarkName
(
@RequestParam
(
value
=
"data"
)
ImConvMemeClientRemarkNameParam
convMemeClientRemarkNameParam
)
throws
Exception
{
imConversationMembersService
.
saveOrUpdateClientRemarkName
(
convMemeClientRemarkNameParam
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
saveOrUpdateClientRemarkName
(
ImConvMemeClientRemarkNameParam
data
)
throws
Exception
{
imConversationMembersService
.
saveOrUpdateClientRemarkName
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -48,8 +49,8 @@ public class ConversationMembersAction {
*/
@ActionMapping
(
"/updateAttr"
)
@ApiOperation
(
value
=
"添加或修改会话成员拓展字段"
,
notes
=
"权限:目前只有client成员自己有权限操作"
)
public
WsResponse
<
Boolean
>
saveOrUpdateAttr
(
@RequestParam
(
value
=
"data"
)
ImConversationMemAttrUpdate
conversationMemAttrUpdate
)
throws
Exception
{
boolean
r
=
imConversationMembersService
.
saveOrUpdateAttr
(
conversationMemAttrUpdate
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
saveOrUpdateAttr
(
ImConversationMemAttrUpdate
data
)
throws
Exception
{
boolean
r
=
imConversationMembersService
.
saveOrUpdateAttr
(
data
);
if
(
r
)
{
return
WsResponse
.
ok
();
}
else
{
...
...
@@ -63,7 +64,7 @@ public class ConversationMembersAction {
*/
@ActionMapping
(
"/getList"
)
@ApiOperation
(
value
=
"获取会话中成员表列表"
)
public
WsResponse
<
List
<
ConversationMemberVo
>>
getImConversationMembersList
(
@
RequestParam
(
value
=
"data"
)
@Validated
ListConversationMembersParam
listConversationMembersParam
)
throws
Exception
{
return
WsResponse
.
ok
(
imConversationMembersService
.
getImConversationMembersList
(
listConversationMembersParam
));
public
WsResponse
<
List
<
ConversationMemberVo
>>
getImConversationMembersList
(
@
Validated
ListConversationMembersParam
data
)
throws
Exception
{
return
WsResponse
.
ok
(
imConversationMembersService
.
getImConversationMembersList
(
data
));
}
}
core/src/main/java/com/wecloud/im/action/InboxAction.java
View file @
45ba90b0
package
com
.
wecloud
.
im
.
action
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.UpdateMsgReadStatusByConversationParam
;
import
com.wecloud.im.service.ImInboxService
;
import
com.wecloud.im.ws.model.WsResponse
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.ImMsgReceivedStatusUpdate
;
import
com.wecloud.im.param.MsgReadStatusUpdateParam
;
import
com.wecloud.im.param.UpdateMsgReadStatusByConversationParam
;
import
com.wecloud.im.service.ImInboxService
;
import
com.wecloud.im.ws.model.WsResponse
;
/**
* @Author luozh
...
...
@@ -36,8 +38,8 @@ public class InboxAction {
*/
@ActionMapping
(
"/msgReceivedUpdate"
)
@ApiOperation
(
value
=
"消息修改为已接收状态"
)
public
WsResponse
<
Boolean
>
updateImMsgReceived
(
@RequestParam
(
value
=
"data"
)
@Validated
ImMsgReceivedStatusUpdate
imMsgReceivedUpdate
)
throws
Exception
{
imInboxService
.
updateImMsgReceived
(
imMsgReceivedUpdate
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
updateImMsgReceived
(
@Validated
ImMsgReceivedStatusUpdate
data
)
throws
Exception
{
imInboxService
.
updateImMsgReceived
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -46,11 +48,11 @@ public class InboxAction {
*/
@ActionMapping
(
"/msgReadUpdate"
)
@ApiOperation
(
value
=
"消息修改为已读状态"
)
public
WsResponse
<
Boolean
>
updateInMsgReadUpdate
(
@RequestParam
(
value
=
"data"
)
MsgReadStatusUpdateParam
msgReadStatusUpdateParam
)
throws
Exception
{
if
(
CollectionUtils
.
isEmpty
(
msgReadStatusUpdateParam
.
getMsgIds
()))
{
public
WsResponse
<
Map
<
String
,
Boolean
>>
updateInMsgReadUpdate
(
MsgReadStatusUpdateParam
data
)
throws
Exception
{
if
(
CollectionUtils
.
isEmpty
(
data
.
getMsgIds
()))
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
);
}
imInboxService
.
updateImMsgRead
(
msgReadStatusUpdateParam
);
imInboxService
.
updateImMsgRead
(
data
);
return
WsResponse
.
ok
();
}
...
...
@@ -59,10 +61,10 @@ public class InboxAction {
*/
@ActionMapping
(
"/updateMsgReadStatusByConversation"
)
@ApiOperation
(
value
=
"会话消息修改为已读状态"
)
public
WsResponse
<
Boolean
>
updateMsgReadStatusByConversation
(
@RequestParam
(
value
=
"data"
)
UpdateMsgReadStatusByConversationParam
param
)
throws
Exception
{
if
(
param
.
getConversationId
()
==
null
)
{
public
WsResponse
<
Boolean
>
updateMsgReadStatusByConversation
(
UpdateMsgReadStatusByConversationParam
data
)
throws
Exception
{
if
(
data
.
getConversationId
()
==
null
)
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
);
}
return
WsResponse
.
ok
(
imInboxService
.
updateMsgReadStatusByConversation
(
param
));
return
WsResponse
.
ok
(
imInboxService
.
updateMsgReadStatusByConversation
(
data
));
}
}
core/src/main/java/com/wecloud/im/action/MultiMeetAction.java
View file @
45ba90b0
package
com
.
wecloud
.
im
.
action
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.*
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.multimeet.service.MultiMeetService
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.AgreeToMultiMeetParam
;
import
com.wecloud.im.param.HeartbeatMultiMeetParam
;
import
com.wecloud.im.param.InviteToMultiMeetParam
;
import
com.wecloud.im.param.LeaveFromMultiMeetParam
;
import
com.wecloud.im.param.NotAnsweredMultiMeetParam
;
import
com.wecloud.im.param.RejectToMultiMeetParam
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.multimeet.service.MultiMeetService
;
@Slf4j
@Component
...
...
@@ -26,54 +34,55 @@ public class MultiMeetAction {
/**
* 邀请客户端加入
* @return
*/
@ActionMapping
(
"/invite"
)
@ApiOperation
(
value
=
"邀请加入多人音视频会议"
,
notes
=
"邀请加入多人音视频会议"
)
public
WsResponse
<
Boolean
>
invite
(
@RequestParam
(
value
=
"data"
)
@Validated
InviteToMultiMeetParam
param
)
{
log
.
info
(
"邀请加入多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getToClients
()))
{
public
WsResponse
<
Map
<
String
,
Boolean
>>
invite
(
@Validated
InviteToMultiMeetParam
data
)
{
log
.
info
(
"邀请加入多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
data
));
if
(
CollectionUtils
.
isEmpty
(
data
.
getToClients
()))
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
);
}
multiMeetService
.
invite
(
param
);
multiMeetService
.
invite
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/reject"
)
@ApiOperation
(
value
=
"拒接进入会议"
,
notes
=
"拒接进入会议"
)
public
WsResponse
<
Boolean
>
reject
(
@RequestParam
(
value
=
"data"
)
RejectToMultiMeetParam
param
)
{
log
.
info
(
"拒绝加入多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
param
));
multiMeetService
.
reject
(
param
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
reject
(
RejectToMultiMeetParam
data
)
{
log
.
info
(
"拒绝加入多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
data
));
multiMeetService
.
reject
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/agree"
)
@ApiOperation
(
value
=
"同意进入会议"
,
notes
=
"同意进入会议"
)
public
WsResponse
<
Boolean
>
agree
(
@RequestParam
(
value
=
"data"
)
AgreeToMultiMeetParam
param
)
{
log
.
info
(
"同意进入多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
param
));
multiMeetService
.
agree
(
param
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
agree
(
AgreeToMultiMeetParam
data
)
{
log
.
info
(
"同意进入多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
data
));
multiMeetService
.
agree
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/leave"
)
@ApiOperation
(
value
=
"主动挂断(离开会议)"
,
notes
=
"主动挂断(离开会议)"
)
public
WsResponse
<
Boolean
>
leave
(
@RequestParam
(
value
=
"data"
)
LeaveFromMultiMeetParam
param
)
{
log
.
info
(
"主动挂断多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
param
));
multiMeetService
.
leave
(
param
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
leave
(
LeaveFromMultiMeetParam
data
)
{
log
.
info
(
"主动挂断多人音视频会议入参 {}"
,
JSON
.
toJSONString
(
data
));
multiMeetService
.
leave
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/notAnswered"
)
@ApiOperation
(
value
=
"未接听"
,
notes
=
"未接听"
)
public
WsResponse
<
Boolean
>
notAnswered
(
@RequestParam
(
value
=
"data"
)
NotAnsweredMultiMeetParam
param
)
{
log
.
info
(
"多人音视频会议未接听入参 {}"
,
JSON
.
toJSONString
(
param
));
multiMeetService
.
notAnswered
(
param
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
notAnswered
(
NotAnsweredMultiMeetParam
data
)
{
log
.
info
(
"多人音视频会议未接听入参 {}"
,
JSON
.
toJSONString
(
data
));
multiMeetService
.
notAnswered
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/heartbeat"
)
@ApiOperation
(
value
=
"发送心跳"
,
notes
=
"发送心跳"
)
public
WsResponse
<
Boolean
>
heartbeat
(
@RequestParam
(
value
=
"data"
)
HeartbeatMultiMeetParam
param
)
{
multiMeetService
.
heartbeat
(
param
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
heartbeat
(
HeartbeatMultiMeetParam
data
)
{
multiMeetService
.
heartbeat
(
data
);
return
WsResponse
.
ok
();
}
}
core/src/main/java/com/wecloud/im/action/RtcAction.java
View file @
45ba90b0
package
com
.
wecloud
.
im
.
action
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.enums.CallTypeEnum
;
import
com.wecloud.im.param.rtc.*
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.rtc.service.RtcService
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.enums.BaseEnum
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.enums.CallTypeEnum
;
import
com.wecloud.im.param.rtc.CandidateForwardParam
;
import
com.wecloud.im.param.rtc.CreateRtcChannelParam
;
import
com.wecloud.im.param.rtc.CreateRtcChannelResult
;
import
com.wecloud.im.param.rtc.JoinRtcChannelParam
;
import
com.wecloud.im.param.rtc.LeaveRtcChannelParam
;
import
com.wecloud.im.param.rtc.RejectRtcChannelParam
;
import
com.wecloud.im.param.rtc.SdpForwardParam
;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.rtc.service.RtcService
;
@Slf4j
@Component
...
...
@@ -29,46 +37,46 @@ public class RtcAction {
*/
@ActionMapping
(
"/createAndCall"
)
@ApiOperation
(
value
=
"创建频道,并邀请客户端加入"
,
notes
=
"创建频道,并邀请客户端加入"
)
public
WsResponse
<
CreateRtcChannelResult
>
createAndCall
(
@RequestParam
(
value
=
"data"
)
CreateRtcChannelParam
createRtcChannelParam
)
{
if
(
BaseEnum
.
valueOf
(
CallTypeEnum
.
class
,
createRtcChannelParam
.
getCallType
())
==
null
)
{
public
WsResponse
<
CreateRtcChannelResult
>
createAndCall
(
CreateRtcChannelParam
data
)
{
if
(
BaseEnum
.
valueOf
(
CallTypeEnum
.
class
,
data
.
getCallType
())
==
null
)
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
);
}
return
WsResponse
.
ok
(
rtcService
.
createAndCall
(
createRtcChannelParam
));
return
WsResponse
.
ok
(
rtcService
.
createAndCall
(
data
));
}
@ActionMapping
(
"/join"
)
@ApiOperation
(
value
=
"同意进入频道"
,
notes
=
""
)
public
WsResponse
<
Boolean
>
join
(
@RequestParam
(
value
=
"data"
)
JoinRtcChannelParam
joinRtcChannelParam
)
{
rtcService
.
join
(
joinRtcChannelParam
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
join
(
JoinRtcChannelParam
data
)
{
rtcService
.
join
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/reject"
)
@ApiOperation
(
value
=
"拒接进入频道"
,
notes
=
""
)
public
WsResponse
<
Boolean
>
reject
(
@RequestParam
(
value
=
"data"
)
RejectRtcChannelParam
rejectRtcChannelParam
)
{
rtcService
.
reject
(
rejectRtcChannelParam
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
reject
(
RejectRtcChannelParam
data
)
{
rtcService
.
reject
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/leave"
)
@ApiOperation
(
value
=
"主动挂断(离开频道)"
,
notes
=
""
)
public
WsResponse
<
Boolean
>
leave
(
@RequestParam
(
value
=
"data"
)
LeaveRtcChannelParam
leaveRtcChannelParam
)
{
rtcService
.
leave
(
leaveRtcChannelParam
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
leave
(
LeaveRtcChannelParam
data
)
{
rtcService
.
leave
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/sdpForward"
)
@ApiOperation
(
value
=
"SDP数据转发"
,
notes
=
""
)
public
WsResponse
<
Boolean
>
sdpForward
(
@RequestParam
(
value
=
"data"
)
SdpForwardParam
sdpForwardParam
)
{
rtcService
.
sdpForward
(
sdpForwardParam
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
sdpForward
(
SdpForwardParam
data
)
{
rtcService
.
sdpForward
(
data
);
return
WsResponse
.
ok
();
}
@ActionMapping
(
"/candidateForward"
)
@ApiOperation
(
value
=
"candidate候选者数据转发"
,
notes
=
""
)
public
WsResponse
<
Boolean
>
candidateForward
(
@RequestParam
(
value
=
"data"
)
CandidateForwardParam
candidateForwardParam
)
{
rtcService
.
candidateForward
(
candidateForwardParam
);
public
WsResponse
<
Map
<
String
,
Boolean
>>
candidateForward
(
CandidateForwardParam
data
)
{
rtcService
.
candidateForward
(
data
);
return
WsResponse
.
ok
();
}
}
core/src/main/java/com/wecloud/im/ws/model/WsResponse.java
View file @
45ba90b0
package
com
.
wecloud
.
im
.
ws
.
model
;
import
com.wecloud.im.ws.enums.WsResponseCmdEnum
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.config.il8n.I18nMessageUtil
;
import
io.geekidea.springbootplus.framework.config.il8n.LanguageEnum
;
...
...
@@ -9,6 +8,11 @@ import lombok.experimental.Accessors;
import
java.io.IOException
;
import
java.io.Serializable
;
import
java.util.Collections
;
import
java.util.Map
;
import
com.wecloud.dispatch.util.ActionRequestHolder
;
import
com.wecloud.im.ws.enums.WsResponseCmdEnum
;
/**
* @Description websocket服务端响应消息和下方消息的封装对象
...
...
@@ -67,20 +71,20 @@ public class WsResponse<T> implements Serializable {
message
=
success
;
}
WsResponse
<
T
>
response
=
new
WsResponse
<>();
response
.
setCmd
(
cmd
).
setCode
(
apiCode
.
getCode
()).
setMsg
(
message
).
setData
(
data
);
response
.
setCmd
(
cmd
).
setCode
(
apiCode
.
getCode
()).
setMsg
(
message
).
setData
(
data
)
.
setReqId
(
ActionRequestHolder
.
getReqId
())
;
return
response
;
}
public
static
WsResponse
<
Boolean
>
ok
()
{
return
ok
(
true
);
public
static
WsResponse
<
Map
<
String
,
Boolean
>
>
ok
()
{
return
ok
(
Collections
.
emptyMap
()
);
}
public
static
<
T
>
WsResponse
<
T
>
ok
(
T
data
)
{
return
result
(
ApiCode
.
SUCCESS
,
data
);
}
public
static
WsResponse
<
Boolean
>
fail
()
{
return
fail
(
""
);
public
static
WsResponse
<
Map
<
String
,
Boolean
>
>
fail
()
{
return
ok
(
Collections
.
emptyMap
()
);
}
public
static
WsResponse
<
Boolean
>
fail
(
String
message
)
{
...
...
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