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
9f0193f9
Commit
9f0193f9
authored
Apr 03, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、增加了ActionRequestHolder用于传递ActionRequest
2、调整对应的Action、Service代码
parent
0ce048a0
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
389 additions
and
129 deletions
+389
-129
core/src/main/java/com/wecloud/dispatch/ActionDispatcher.java
+11
-3
core/src/main/java/com/wecloud/dispatch/util/ActionRequestHolder.java
+37
-0
core/src/main/java/com/wecloud/im/action/BlacklistAction.java
+7
-8
core/src/main/java/com/wecloud/im/action/ClientAction.java
+18
-22
core/src/main/java/com/wecloud/im/action/ConversationAction.java
+210
-0
core/src/main/java/com/wecloud/im/controller/ImClientBlacklistController.java
+3
-3
core/src/main/java/com/wecloud/im/controller/ImClientController.java
+7
-7
core/src/main/java/com/wecloud/im/controller/ImConversationController.java
+25
-23
core/src/main/java/com/wecloud/im/externalaccess/service/UserService.java
+2
-2
core/src/main/java/com/wecloud/im/service/ContextService.java
+1
-1
core/src/main/java/com/wecloud/im/service/ImClientBlacklistService.java
+3
-3
core/src/main/java/com/wecloud/im/service/ImClientService.java
+9
-9
core/src/main/java/com/wecloud/im/service/ImConversationService.java
+15
-15
core/src/main/java/com/wecloud/im/service/impl/ContextServiceImpl.java
+4
-2
core/src/main/java/com/wecloud/im/service/impl/ImClientBlacklistServiceImpl.java
+6
-7
core/src/main/java/com/wecloud/im/service/impl/ImClientServiceImpl.java
+31
-24
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+0
-0
No files found.
core/src/main/java/com/wecloud/dispatch/ActionDispatcher.java
View file @
9f0193f9
...
@@ -18,8 +18,11 @@ import com.wecloud.dispatch.registry.ActionBoxRegistry;
...
@@ -18,8 +18,11 @@ import com.wecloud.dispatch.registry.ActionBoxRegistry;
import
com.wecloud.dispatch.registry.ActionInterceptorRegistry
;
import
com.wecloud.dispatch.registry.ActionInterceptorRegistry
;
import
com.wecloud.dispatch.registry.ActionRegistry
;
import
com.wecloud.dispatch.registry.ActionRegistry
;
import
com.wecloud.dispatch.registry.MethodArgumentResolverRegistry
;
import
com.wecloud.dispatch.registry.MethodArgumentResolverRegistry
;
import
com.wecloud.dispatch.util.ActionRequestHolder
;
import
io.netty.channel.Channel
;
import
io.netty.channel.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.core.MethodParameter
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.InvocationTargetException
;
...
@@ -49,9 +52,14 @@ public class ActionDispatcher {
...
@@ -49,9 +52,14 @@ public class ActionDispatcher {
}
}
public
Object
action
(
ActionMessage
am
)
{
public
Object
action
(
ActionMessage
am
)
{
ActionRequest
request
=
getActionRequest
(
am
);
// modify by luozh 2022/04/03 获取到ActionRequest后保存到ThreadLocal,便于后面业务获取
try
{
return
action
(
request
,
getArgumentBox
());
ActionRequest
request
=
getActionRequest
(
am
);
ActionRequestHolder
.
setActionRequest
(
request
);
return
action
(
request
,
getArgumentBox
());
}
finally
{
ActionRequestHolder
.
remove
();
}
}
}
public
Object
action
(
ActionMessage
am
,
ArgumentBox
argumentBox
)
{
public
Object
action
(
ActionMessage
am
,
ArgumentBox
argumentBox
)
{
...
...
core/src/main/java/com/wecloud/dispatch/util/ActionRequestHolder.java
0 → 100644
View file @
9f0193f9
package
com
.
wecloud
.
dispatch
.
util
;
import
com.wecloud.dispatch.extend.ActionRequest
;
/**
* 记录websocket请求详情信息到当前线程中
* @Author luozh
* @Date 2022年04月03日 23:14
* @Version 1.0
*/
public
class
ActionRequestHolder
{
private
static
final
ThreadLocal
<
ActionRequest
>
THREAD_LOCAL
=
new
ThreadLocal
<>();
/**
* 从当前线程中获取请求信息
*/
public
static
ActionRequest
getActionRequest
()
{
return
THREAD_LOCAL
.
get
();
}
/**
* 设置请求信息到当前线程中
*
* @param actionRequest
*/
public
static
void
setActionRequest
(
ActionRequest
actionRequest
)
{
THREAD_LOCAL
.
set
(
actionRequest
);
}
/**
* 销毁
*/
public
static
void
remove
()
{
THREAD_LOCAL
.
remove
();
}
}
core/src/main/java/com/wecloud/im/action/BlacklistAction.java
View file @
9f0193f9
...
@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.im.param.ImClientBlacklistPageParam
;
import
com.wecloud.im.param.ImClientBlacklistPageParam
;
import
com.wecloud.im.param.ImClientBlacklistQueryVo
;
import
com.wecloud.im.param.ImClientBlacklistQueryVo
;
import
com.wecloud.im.param.add.ImClientBlacklistUpdate
;
import
com.wecloud.im.param.add.ImClientBlacklistUpdate
;
...
@@ -26,7 +25,7 @@ import com.wecloud.im.ws.model.WsResponse;
...
@@ -26,7 +25,7 @@ import com.wecloud.im.ws.model.WsResponse;
*/
*/
@Slf4j
@Slf4j
@Component
@Component
@ActionMapping
(
value
=
"/blacklist"
)
@ActionMapping
(
value
=
"/
im/
blacklist"
)
@Api
(
value
=
"ws-黑名单API"
,
tags
=
{
"黑名单"
})
@Api
(
value
=
"ws-黑名单API"
,
tags
=
{
"黑名单"
})
public
class
BlacklistAction
{
public
class
BlacklistAction
{
...
@@ -38,8 +37,8 @@ public class BlacklistAction {
...
@@ -38,8 +37,8 @@ public class BlacklistAction {
*/
*/
@ActionMapping
(
"/add"
)
@ActionMapping
(
"/add"
)
@ApiOperation
(
value
=
"拉入黑名单"
)
@ApiOperation
(
value
=
"拉入黑名单"
)
public
WsResponse
<
Boolean
>
addImClientBlacklist
(
ActionRequest
request
,
ImClientBlacklistUpdate
data
)
{
public
WsResponse
<
Boolean
>
addImClientBlacklist
(
ImClientBlacklistUpdate
data
)
{
imClientBlacklistService
.
addImClientBlacklist
(
request
,
data
);
imClientBlacklistService
.
addImClientBlacklist
(
data
);
return
WsResponse
.
ok
();
return
WsResponse
.
ok
();
}
}
...
@@ -49,8 +48,8 @@ public class BlacklistAction {
...
@@ -49,8 +48,8 @@ public class BlacklistAction {
*/
*/
@ActionMapping
(
"/delete"
)
@ActionMapping
(
"/delete"
)
@ApiOperation
(
value
=
"移出黑名单"
)
@ApiOperation
(
value
=
"移出黑名单"
)
public
WsResponse
<
Boolean
>
deleteImClientBlacklist
(
ActionRequest
request
,
ImClientBlacklistUpdate
data
)
{
public
WsResponse
<
Boolean
>
deleteImClientBlacklist
(
ImClientBlacklistUpdate
data
)
{
imClientBlacklistService
.
removeImClientBlacklist
(
request
,
data
);
imClientBlacklistService
.
removeImClientBlacklist
(
data
);
return
WsResponse
.
ok
();
return
WsResponse
.
ok
();
}
}
...
@@ -60,9 +59,9 @@ public class BlacklistAction {
...
@@ -60,9 +59,9 @@ public class BlacklistAction {
@ActionMapping
(
"/getPageList"
)
@ActionMapping
(
"/getPageList"
)
@OperationLog
(
name
=
"黑名单分页列表"
,
type
=
OperationLogType
.
PAGE
)
@OperationLog
(
name
=
"黑名单分页列表"
,
type
=
OperationLogType
.
PAGE
)
@ApiOperation
(
value
=
"黑名单分页列表"
)
@ApiOperation
(
value
=
"黑名单分页列表"
)
public
WsResponse
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageList
(
ActionRequest
request
,
ImClientBlacklistPageParam
data
)
{
public
WsResponse
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageList
(
ImClientBlacklistPageParam
data
)
{
Paging
<
ImClientBlacklistQueryVo
>
blacklist
=
Paging
<
ImClientBlacklistQueryVo
>
blacklist
=
imClientBlacklistService
.
getImClientBlacklistPageList
(
request
,
data
);
imClientBlacklistService
.
getImClientBlacklistPageList
(
data
);
return
WsResponse
.
ok
(
blacklist
);
return
WsResponse
.
ok
(
blacklist
);
}
}
}
}
core/src/main/java/com/wecloud/im/action/ClientAction.java
View file @
9f0193f9
package
com
.
wecloud
.
im
.
action
;
package
com
.
wecloud
.
im
.
action
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.shiro.jwt.JwtToken
;
import
io.geekidea.springbootplus.framework.shiro.util.JwtUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -15,7 +12,6 @@ import org.springframework.stereotype.Component;
...
@@ -15,7 +12,6 @@ import org.springframework.stereotype.Component;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.param.ClientInfoParam
;
import
com.wecloud.im.param.ClientInfoParam
;
...
@@ -43,7 +39,7 @@ import com.wecloud.im.ws.model.WsResponse;
...
@@ -43,7 +39,7 @@ import com.wecloud.im.ws.model.WsResponse;
*/
*/
@Slf4j
@Slf4j
@Component
@Component
@ActionMapping
(
"/client"
)
@ActionMapping
(
"/
im/
client"
)
@Api
(
value
=
"ws-终端"
,
tags
=
{
"终端"
})
@Api
(
value
=
"ws-终端"
,
tags
=
{
"终端"
})
public
class
ClientAction
{
public
class
ClientAction
{
...
@@ -64,16 +60,16 @@ public class ClientAction {
...
@@ -64,16 +60,16 @@ public class ClientAction {
*/
*/
@ActionMapping
(
"/myInfo"
)
@ActionMapping
(
"/myInfo"
)
@ApiOperation
(
value
=
"查询我的信息"
)
@ApiOperation
(
value
=
"查询我的信息"
)
public
WsResponse
<
MyInfoVo
>
myInfo
(
ActionRequest
request
)
{
public
WsResponse
<
MyInfoVo
>
myInfo
()
{
MyInfoVo
myInfo
=
imClientService
.
getMyInfo
(
request
);
MyInfoVo
myInfo
=
imClientService
.
getMyInfo
();
return
WsResponse
.
ok
(
myInfo
);
return
WsResponse
.
ok
(
myInfo
);
}
}
@ActionMapping
(
"/infoList"
)
@ActionMapping
(
"/infoList"
)
@ApiOperation
(
value
=
"根据id获取Client的头像昵称"
)
@ApiOperation
(
value
=
"根据id获取Client的头像昵称"
)
public
WsResponse
<
List
<
GetInfoListVo
>>
getInfoList
(
ActionRequest
request
,
GetClientInfoParam
data
)
throws
Exception
{
public
WsResponse
<
List
<
GetInfoListVo
>>
getInfoList
(
GetClientInfoParam
data
)
throws
Exception
{
return
WsResponse
.
ok
(
imClientService
.
getInfoList
(
request
,
data
));
return
WsResponse
.
ok
(
imClientService
.
getInfoList
(
data
));
}
}
/**
/**
...
@@ -81,34 +77,34 @@ public class ClientAction {
...
@@ -81,34 +77,34 @@ public class ClientAction {
*/
*/
@ActionMapping
(
"/clientInfo"
)
@ActionMapping
(
"/clientInfo"
)
@ApiOperation
(
value
=
"查询用户信息 用户可能是好友、陌生人、被拉黑名单的人"
)
@ApiOperation
(
value
=
"查询用户信息 用户可能是好友、陌生人、被拉黑名单的人"
)
public
WsResponse
<
ClientInfoVo
>
getClientInfo
(
ActionRequest
request
,
ClientInfoParam
data
)
{
public
WsResponse
<
ClientInfoVo
>
getClientInfo
(
ClientInfoParam
data
)
{
ClientInfoVo
clientInfoVo
=
imClientService
.
getClientInfo
(
request
,
data
);
ClientInfoVo
clientInfoVo
=
imClientService
.
getClientInfo
(
data
);
return
WsResponse
.
ok
(
clientInfoVo
);
return
WsResponse
.
ok
(
clientInfoVo
);
}
}
@ActionMapping
(
"/updateHeadAndNickname"
)
@ActionMapping
(
"/updateHeadAndNickname"
)
@ApiOperation
(
value
=
"添加或修改头像和昵称"
)
@ApiOperation
(
value
=
"添加或修改头像和昵称"
)
public
WsResponse
<
Boolean
>
updateHeadAndNickname
(
ActionRequest
request
,
ImClientHeadPortraitAndNicknameUpdate
data
)
throws
Exception
{
public
WsResponse
<
Boolean
>
updateHeadAndNickname
(
ImClientHeadPortraitAndNicknameUpdate
data
)
throws
Exception
{
log
.
info
(
"添加或修改头像和昵称入参 {}"
,
JSON
.
toJSONString
(
data
));
log
.
info
(
"添加或修改头像和昵称入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
updateHeadAndNickname
(
request
,
data
);
boolean
flag
=
imClientService
.
updateHeadAndNickname
(
data
);
return
WsResponse
.
ok
(
flag
);
return
WsResponse
.
ok
(
flag
);
}
}
@ActionMapping
(
"/updateHeadPortrait"
)
@ActionMapping
(
"/updateHeadPortrait"
)
@ApiOperation
(
value
=
"添加或修改头像"
)
@ApiOperation
(
value
=
"添加或修改头像"
)
public
WsResponse
<
Boolean
>
updateHeadPortrait
(
ActionRequest
request
,
ImClientHeadPortraitAdd
data
)
throws
Exception
{
public
WsResponse
<
Boolean
>
updateHeadPortrait
(
ImClientHeadPortraitAdd
data
)
throws
Exception
{
log
.
info
(
"添加或修改头像入参 {}"
,
JSON
.
toJSONString
(
data
));
log
.
info
(
"添加或修改头像入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
updateHeadPortrait
(
request
,
data
);
boolean
flag
=
imClientService
.
updateHeadPortrait
(
data
);
return
WsResponse
.
ok
(
flag
);
return
WsResponse
.
ok
(
flag
);
}
}
@ActionMapping
(
"/updateNickname"
)
@ActionMapping
(
"/updateNickname"
)
@ApiOperation
(
value
=
"添加或修改主昵称"
)
@ApiOperation
(
value
=
"添加或修改主昵称"
)
public
WsResponse
<
Boolean
>
updateNickname
(
ActionRequest
request
,
ImClientNicknameAdd
data
)
throws
Exception
{
public
WsResponse
<
Boolean
>
updateNickname
(
ImClientNicknameAdd
data
)
throws
Exception
{
log
.
info
(
"添加或修改主昵称入参 {}"
,
JSON
.
toJSONString
(
data
));
log
.
info
(
"添加或修改主昵称入参 {}"
,
JSON
.
toJSONString
(
data
));
boolean
flag
=
imClientService
.
updateNickname
(
request
,
data
);
boolean
flag
=
imClientService
.
updateNickname
(
data
);
return
WsResponse
.
ok
(
flag
);
return
WsResponse
.
ok
(
flag
);
}
}
...
@@ -121,9 +117,9 @@ public class ClientAction {
...
@@ -121,9 +117,9 @@ public class ClientAction {
*/
*/
@ActionMapping
(
"/logout"
)
@ActionMapping
(
"/logout"
)
@ApiOperation
(
value
=
"退出登陆 清除推送token等"
)
@ApiOperation
(
value
=
"退出登陆 清除推送token等"
)
public
WsResponse
<
Boolean
>
logout
(
ActionRequest
request
,
LogoutParam
param
)
{
public
WsResponse
<
Boolean
>
logout
(
LogoutParam
param
)
{
log
.
info
(
"退出登陆入参 {}"
,
JSON
.
toJSONString
(
param
));
log
.
info
(
"退出登陆入参 {}"
,
JSON
.
toJSONString
(
param
));
boolean
flag
=
imClientService
.
logout
(
request
,
param
);
boolean
flag
=
imClientService
.
logout
(
param
);
return
WsResponse
.
ok
(
flag
);
return
WsResponse
.
ok
(
flag
);
}
}
...
@@ -134,10 +130,10 @@ public class ClientAction {
...
@@ -134,10 +130,10 @@ public class ClientAction {
*/
*/
@ActionMapping
(
"/onlineStatus"
)
@ActionMapping
(
"/onlineStatus"
)
@ApiOperation
(
value
=
"获取用户在线状态(批量)"
)
@ApiOperation
(
value
=
"获取用户在线状态(批量)"
)
public
WsResponse
<
List
<
ImOnlineStatusVo
>>
getOnlineStatus
(
ActionRequest
request
,
public
WsResponse
<
List
<
ImOnlineStatusVo
>>
getOnlineStatus
(
GetOnlineStatusParam
getOnlineStatusParam
)
{
GetOnlineStatusParam
getOnlineStatusParam
)
{
// shiro线程中获取当前token
// shiro线程中获取当前token
ImClient
imClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
imClient
=
contextService
.
getImClientIfNotNullOrThrow
();
ImApplication
imApplication
=
contextService
.
getImApplicationIfNotNullOrThrow
(
imClient
.
getFkAppid
());
ImApplication
imApplication
=
contextService
.
getImApplicationIfNotNullOrThrow
(
imClient
.
getFkAppid
());
ArrayList
<
ImOnlineStatusVo
>
imOnlineStatusVos
=
new
ArrayList
<>();
ArrayList
<
ImOnlineStatusVo
>
imOnlineStatusVos
=
new
ArrayList
<>();
...
...
core/src/main/java/com/wecloud/im/action/ConversationAction.java
0 → 100644
View file @
9f0193f9
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
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.annotation.Validated
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.DisbandConversationParam
;
import
com.wecloud.im.param.ImConversationQueryParam
;
import
com.wecloud.im.param.MutedGroupMemberParam
;
import
com.wecloud.im.param.MutedGroupParam
;
import
com.wecloud.im.param.SetAdminsParam
;
import
com.wecloud.im.param.TransferOwnerParam
;
import
com.wecloud.im.param.add.ImClientLeaveConversation
;
import
com.wecloud.im.param.add.ImClientToConversation
;
import
com.wecloud.im.param.add.ImConversationAttrUpdate
;
import
com.wecloud.im.param.add.ImConversationCreate
;
import
com.wecloud.im.param.add.ImConversationDisplayUpdate
;
import
com.wecloud.im.param.add.ImConversationNameUpdate
;
import
com.wecloud.im.service.ImConversationService
;
import
com.wecloud.im.vo.ConversationVo
;
import
com.wecloud.im.vo.ImConversationCreateVo
;
import
com.wecloud.im.ws.model.WsResponse
;
/**
*
* @Author luozh
* @Date 2022年04月02日 16:39
* @Version 1.0
*/
@Slf4j
@Component
@ActionMapping
(
value
=
"/im/conversation"
)
@Api
(
value
=
"ws-会话表API"
,
tags
=
{
"会话表"
})
public
class
ConversationAction
{
@Autowired
private
ImConversationService
imConversationService
;
/**
* 添加或修改会话名称
*/
@ActionMapping
(
"/saveOrUpdateName"
)
@ApiOperation
(
value
=
"添加或修改会话名称"
,
notes
=
"权限:目前只有创建者有权限操作"
)
public
WsResponse
<
Boolean
>
saveOrUpdateName
(
ImConversationNameUpdate
data
)
{
log
.
info
(
"添加或修改会话名称入参 {}"
,
JSON
.
toJSONString
(
data
));
imConversationService
.
saveOrUpdateName
(
data
);
return
WsResponse
.
ok
();
}
/**
* 添加或修改会话拓展字段
*/
@ActionMapping
(
"/saveOrUpdateAttr"
)
@ApiOperation
(
value
=
"添加或修改会话拓展字段"
,
notes
=
"权限:所有client都权限操作"
)
public
WsResponse
<
Boolean
>
saveOrUpdateAttr
(
ImConversationAttrUpdate
imConversationAttrUpdate
)
{
imConversationService
.
saveOrUpdateAttr
(
imConversationAttrUpdate
);
return
WsResponse
.
ok
();
}
/**
* client退出会话
*/
@ActionMapping
(
"/leave"
)
@ApiOperation
(
value
=
"client退出会话"
,
notes
=
"若是创建者退出,[创建者]权限将会转移给按加入会话时间排序的下一个client"
)
public
WsResponse
<
Boolean
>
leaveConversation
(
ImClientLeaveConversation
imClientToConversation
)
{
log
.
info
(
"client退出会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
imConversationService
.
leaveConversation
(
imClientToConversation
);
return
WsResponse
.
ok
();
}
/**
* 将client从会话移除
*/
@ActionMapping
(
"/delClient"
)
@ApiOperation
(
value
=
"将client从会话移除"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
delClientToConversation
(
ImClientToConversation
imClientToConversation
)
throws
Exception
{
log
.
info
(
"将client从会话移除入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
return
WsResponse
.
ok
(
imConversationService
.
delClientToConversation
(
imClientToConversation
));
}
/**
* 解散群聊
*/
@ActionMapping
(
"/disband"
)
@ApiOperation
(
value
=
"解散群聊"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
disband
(
DisbandConversationParam
param
)
throws
Exception
{
log
.
info
(
"解散群聊入参 {}"
,
JSON
.
toJSONString
(
param
));
imConversationService
.
disband
(
param
);
return
WsResponse
.
ok
();
}
/**
* 将用户添加进会话
*/
@ActionMapping
(
"/addClient"
)
@ApiOperation
(
value
=
"将用户添加进会话"
,
notes
=
"权限:会话中所有client都有权限操作"
)
public
WsResponse
<
Boolean
>
addClientToConversation
(
ImClientToConversation
imClientToConversation
)
throws
Exception
{
log
.
info
(
"将用户添加进会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
imConversationService
.
addClientToConversation
(
imClientToConversation
);
return
WsResponse
.
ok
();
}
/**
* 创建会话
*/
@ActionMapping
(
"/create"
)
@ApiOperation
(
value
=
"创建会话"
,
notes
=
"后台可配置:两个客户端如果已经创建过会话,是否重复创建会话"
)
public
WsResponse
<
ImConversationCreateVo
>
createImConversation
(
ImConversationCreate
imConversationCreate
)
throws
Exception
{
log
.
info
(
"创建会话入参 {}"
,
JSON
.
toJSONString
(
imConversationCreate
));
ImConversationCreateVo
vo
=
imConversationService
.
createImConversation
(
imConversationCreate
);
return
WsResponse
.
ok
(
vo
);
}
/**
* 群主转让
*/
@ActionMapping
(
"/transferOwner"
)
@ApiOperation
(
value
=
"群主转让"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
transferOwner
(
TransferOwnerParam
param
)
{
log
.
info
(
"群主转让入参 {}"
,
JSON
.
toJSONString
(
param
));
Boolean
result
=
imConversationService
.
transferOwner
(
param
);
return
WsResponse
.
ok
(
result
);
}
/**
* 设置群管理员
*/
@ActionMapping
(
"/setAdmins"
)
@ApiOperation
(
value
=
"设置群管理员"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
WsResponse
<
Boolean
>
setAdmins
(
@Validated
SetAdminsParam
param
)
{
log
.
info
(
"设置群管理员入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
Boolean
result
=
imConversationService
.
setAdmins
(
param
);
return
WsResponse
.
ok
(
result
);
}
/**
* 群禁言、取消群禁言
*/
@ActionMapping
(
"/mutedGroup"
)
@ApiOperation
(
value
=
"群禁言、取消群禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
public
WsResponse
<
Boolean
>
mutedGroup
(
@Validated
MutedGroupParam
param
)
{
log
.
info
(
"群禁言、取消群禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
Boolean
result
=
imConversationService
.
mutedGroup
(
param
);
return
WsResponse
.
ok
(
result
);
}
/**
* 选择禁言
*/
@ActionMapping
(
"/mutedGroupMember"
)
@ApiOperation
(
value
=
"选择禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
public
WsResponse
<
Boolean
>
mutedGroupMember
(
@Validated
MutedGroupMemberParam
param
)
{
log
.
info
(
"选择禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
return
WsResponse
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
Boolean
result
=
imConversationService
.
mutedGroupMember
(
param
);
return
WsResponse
.
ok
(
result
);
}
/**
* 查询用户加入的所有会话 与每个会话的未读条数 成员
*/
@ActionMapping
(
"/getList"
)
@ApiOperation
(
value
=
"查询加入的会话列表"
,
notes
=
"查询用户加入的非隐藏状态的会话列表 与每个会话的未读条数 成员"
)
public
WsResponse
<
List
<
ConversationVo
>>
getMyImConversationListAndMsgCount
()
{
List
<
ConversationVo
>
conversationList
=
imConversationService
.
getMyImConversationListAndMsgCount
();
return
WsResponse
.
ok
(
conversationList
);
}
/**
* 根据会话id查询指定会话信息
*/
@ActionMapping
(
"/info"
)
@ApiOperation
(
value
=
"根据会话id查询指定会话信息"
,
notes
=
"根据会话id查询指定会话信息 与每个会话的未读条数"
)
public
WsResponse
<
ConversationVo
>
info
(
@Validated
ImConversationQueryParam
param
)
throws
Exception
{
ConversationVo
conversationVo
=
imConversationService
.
infoImConversationAndMsgCount
(
param
);
return
WsResponse
.
ok
(
conversationVo
);
}
/**
* 批量修改单向隐藏或显示会话
*/
@ActionMapping
(
"/displayUpdate"
)
@ApiOperation
(
value
=
"批量修改单向隐藏或显示会话"
,
notes
=
"拉取会话列表不展示已隐藏状态的会话,云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录"
)
public
ApiResult
<
Boolean
>
updateDisplayConversation
(
ImConversationDisplayUpdate
imConversationDisplayUpdate
)
throws
Exception
{
imConversationService
.
updateDisplayConversation
(
imConversationDisplayUpdate
);
return
ApiResult
.
result
(
true
);
}
}
core/src/main/java/com/wecloud/im/controller/ImClientBlacklistController.java
View file @
9f0193f9
...
@@ -43,7 +43,7 @@ public class ImClientBlacklistController extends BaseController {
...
@@ -43,7 +43,7 @@ public class ImClientBlacklistController extends BaseController {
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
@ApiOperation
(
value
=
"拉入黑名单"
)
@ApiOperation
(
value
=
"拉入黑名单"
)
public
ApiResult
<
Boolean
>
addImClientBlacklist
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
throws
Exception
{
public
ApiResult
<
Boolean
>
addImClientBlacklist
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
throws
Exception
{
imClientBlacklistService
.
addImClientBlacklist
(
null
,
imClientBlacklistUpdate
);
imClientBlacklistService
.
addImClientBlacklist
(
imClientBlacklistUpdate
);
return
ApiResult
.
ok
();
return
ApiResult
.
ok
();
}
}
...
@@ -54,7 +54,7 @@ public class ImClientBlacklistController extends BaseController {
...
@@ -54,7 +54,7 @@ public class ImClientBlacklistController extends BaseController {
@PostMapping
(
"/delete"
)
@PostMapping
(
"/delete"
)
@ApiOperation
(
value
=
"移出黑名单"
)
@ApiOperation
(
value
=
"移出黑名单"
)
public
ApiResult
<
Boolean
>
deleteImClientBlacklist
(
@RequestBody
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
throws
Exception
{
public
ApiResult
<
Boolean
>
deleteImClientBlacklist
(
@RequestBody
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
throws
Exception
{
imClientBlacklistService
.
removeImClientBlacklist
(
null
,
imClientBlacklistUpdate
);
imClientBlacklistService
.
removeImClientBlacklist
(
imClientBlacklistUpdate
);
return
ApiResult
.
ok
();
return
ApiResult
.
ok
();
}
}
...
@@ -66,7 +66,7 @@ public class ImClientBlacklistController extends BaseController {
...
@@ -66,7 +66,7 @@ public class ImClientBlacklistController extends BaseController {
@ApiOperation
(
value
=
"黑名单分页列表"
)
@ApiOperation
(
value
=
"黑名单分页列表"
)
public
ApiResult
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageList
(
@RequestBody
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
throws
Exception
{
public
ApiResult
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageList
(
@RequestBody
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
throws
Exception
{
Paging
<
ImClientBlacklistQueryVo
>
blacklist
=
Paging
<
ImClientBlacklistQueryVo
>
blacklist
=
imClientBlacklistService
.
getImClientBlacklistPageList
(
null
,
imClientBlacklistPageParam
);
imClientBlacklistService
.
getImClientBlacklistPageList
(
imClientBlacklistPageParam
);
return
ApiResult
.
ok
(
blacklist
);
return
ApiResult
.
ok
(
blacklist
);
}
}
...
...
core/src/main/java/com/wecloud/im/controller/ImClientController.java
View file @
9f0193f9
...
@@ -66,7 +66,7 @@ public class ImClientController extends BaseController {
...
@@ -66,7 +66,7 @@ public class ImClientController extends BaseController {
@PostMapping
(
"/myInfo"
)
@PostMapping
(
"/myInfo"
)
@ApiOperation
(
value
=
"查询我的信息"
)
@ApiOperation
(
value
=
"查询我的信息"
)
public
ApiResult
<
MyInfoVo
>
myInfo
()
{
public
ApiResult
<
MyInfoVo
>
myInfo
()
{
MyInfoVo
myInfo
=
imClientService
.
getMyInfo
(
null
);
MyInfoVo
myInfo
=
imClientService
.
getMyInfo
();
return
ApiResult
.
ok
(
myInfo
);
return
ApiResult
.
ok
(
myInfo
);
}
}
...
@@ -74,7 +74,7 @@ public class ImClientController extends BaseController {
...
@@ -74,7 +74,7 @@ public class ImClientController extends BaseController {
@PostMapping
(
"/infoList"
)
@PostMapping
(
"/infoList"
)
@ApiOperation
(
value
=
"根据id获取Client的头像昵称"
)
@ApiOperation
(
value
=
"根据id获取Client的头像昵称"
)
public
ApiResult
<
List
<
GetInfoListVo
>>
getInfoList
(
@Validated
(
Add
.
class
)
@RequestBody
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
public
ApiResult
<
List
<
GetInfoListVo
>>
getInfoList
(
@Validated
(
Add
.
class
)
@RequestBody
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
return
ApiResult
.
ok
(
imClientService
.
getInfoList
(
null
,
getClientInfoParam
));
return
ApiResult
.
ok
(
imClientService
.
getInfoList
(
getClientInfoParam
));
}
}
/**
/**
...
@@ -86,7 +86,7 @@ public class ImClientController extends BaseController {
...
@@ -86,7 +86,7 @@ public class ImClientController extends BaseController {
if
(
param
==
null
)
{
if
(
param
==
null
)
{
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
}
}
ClientInfoVo
clientInfoVo
=
imClientService
.
getClientInfo
(
null
,
param
);
ClientInfoVo
clientInfoVo
=
imClientService
.
getClientInfo
(
param
);
return
ApiResult
.
ok
(
clientInfoVo
);
return
ApiResult
.
ok
(
clientInfoVo
);
}
}
...
@@ -107,7 +107,7 @@ public class ImClientController extends BaseController {
...
@@ -107,7 +107,7 @@ public class ImClientController extends BaseController {
@ApiOperation
(
value
=
"添加或修改头像和昵称"
)
@ApiOperation
(
value
=
"添加或修改头像和昵称"
)
public
ApiResult
<
Boolean
>
updateHeadAndNickname
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientHeadPortraitAndNicknameUpdate
imClientHeadPortraitAndNicknameUpdate
)
throws
Exception
{
public
ApiResult
<
Boolean
>
updateHeadAndNickname
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientHeadPortraitAndNicknameUpdate
imClientHeadPortraitAndNicknameUpdate
)
throws
Exception
{
log
.
info
(
"添加或修改头像和昵称入参 {}"
,
JSON
.
toJSONString
(
imClientHeadPortraitAndNicknameUpdate
));
log
.
info
(
"添加或修改头像和昵称入参 {}"
,
JSON
.
toJSONString
(
imClientHeadPortraitAndNicknameUpdate
));
boolean
flag
=
imClientService
.
updateHeadAndNickname
(
null
,
imClientHeadPortraitAndNicknameUpdate
);
boolean
flag
=
imClientService
.
updateHeadAndNickname
(
imClientHeadPortraitAndNicknameUpdate
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
}
}
...
@@ -116,7 +116,7 @@ public class ImClientController extends BaseController {
...
@@ -116,7 +116,7 @@ public class ImClientController extends BaseController {
@ApiOperation
(
value
=
"添加或修改头像"
)
@ApiOperation
(
value
=
"添加或修改头像"
)
public
ApiResult
<
Boolean
>
updateHeadPortrait
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
)
throws
Exception
{
public
ApiResult
<
Boolean
>
updateHeadPortrait
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
)
throws
Exception
{
log
.
info
(
"添加或修改头像入参 {}"
,
JSON
.
toJSONString
(
imClientHeadPortraitAdd
));
log
.
info
(
"添加或修改头像入参 {}"
,
JSON
.
toJSONString
(
imClientHeadPortraitAdd
));
boolean
flag
=
imClientService
.
updateHeadPortrait
(
null
,
imClientHeadPortraitAdd
);
boolean
flag
=
imClientService
.
updateHeadPortrait
(
imClientHeadPortraitAdd
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
}
}
...
@@ -124,7 +124,7 @@ public class ImClientController extends BaseController {
...
@@ -124,7 +124,7 @@ public class ImClientController extends BaseController {
@ApiOperation
(
value
=
"添加或修改主昵称"
)
@ApiOperation
(
value
=
"添加或修改主昵称"
)
public
ApiResult
<
Boolean
>
updateNickname
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
{
public
ApiResult
<
Boolean
>
updateNickname
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
{
log
.
info
(
"添加或修改主昵称入参 {}"
,
JSON
.
toJSONString
(
imClientNicknameAdd
));
log
.
info
(
"添加或修改主昵称入参 {}"
,
JSON
.
toJSONString
(
imClientNicknameAdd
));
boolean
flag
=
imClientService
.
updateNickname
(
null
,
imClientNicknameAdd
);
boolean
flag
=
imClientService
.
updateNickname
(
imClientNicknameAdd
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
}
}
...
@@ -139,7 +139,7 @@ public class ImClientController extends BaseController {
...
@@ -139,7 +139,7 @@ public class ImClientController extends BaseController {
@ApiOperation
(
value
=
"退出登陆 清除推送token等"
)
@ApiOperation
(
value
=
"退出登陆 清除推送token等"
)
public
ApiResult
<
Boolean
>
logout
(
@RequestBody
@Validated
LogoutParam
param
)
{
public
ApiResult
<
Boolean
>
logout
(
@RequestBody
@Validated
LogoutParam
param
)
{
log
.
info
(
"退出登陆入参 {}"
,
JSON
.
toJSONString
(
param
));
log
.
info
(
"退出登陆入参 {}"
,
JSON
.
toJSONString
(
param
));
boolean
flag
=
imClientService
.
logout
(
null
,
param
);
boolean
flag
=
imClientService
.
logout
(
param
);
return
ApiResult
.
result
(
flag
);
return
ApiResult
.
result
(
flag
);
}
}
...
...
core/src/main/java/com/wecloud/im/controller/ImConversationController.java
View file @
9f0193f9
package
com
.
wecloud
.
im
.
controller
;
package
com
.
wecloud
.
im
.
controller
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.im.param.DisbandConversationParam
;
import
com.wecloud.im.param.DisbandConversationParam
;
import
com.wecloud.im.param.ImConversationQueryParam
;
import
com.wecloud.im.param.ImConversationQueryParam
;
...
@@ -16,21 +33,6 @@ import com.wecloud.im.param.add.ImConversationNameUpdate;
...
@@ -16,21 +33,6 @@ import com.wecloud.im.param.add.ImConversationNameUpdate;
import
com.wecloud.im.service.ImConversationService
;
import
com.wecloud.im.service.ImConversationService
;
import
com.wecloud.im.vo.ConversationVo
;
import
com.wecloud.im.vo.ConversationVo
;
import
com.wecloud.im.vo.ImConversationCreateVo
;
import
com.wecloud.im.vo.ImConversationCreateVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
/**
* 会话表 控制器
* 会话表 控制器
...
@@ -78,7 +80,7 @@ public class ImConversationController extends BaseController {
...
@@ -78,7 +80,7 @@ public class ImConversationController extends BaseController {
@ApiOperation
(
value
=
"client退出会话"
,
notes
=
"若是创建者退出,[创建者]权限将会转移给按加入会话时间排序的下一个client"
)
@ApiOperation
(
value
=
"client退出会话"
,
notes
=
"若是创建者退出,[创建者]权限将会转移给按加入会话时间排序的下一个client"
)
public
ApiResult
<
Boolean
>
leaveConversation
(
@RequestBody
ImClientLeaveConversation
imClientToConversation
)
{
public
ApiResult
<
Boolean
>
leaveConversation
(
@RequestBody
ImClientLeaveConversation
imClientToConversation
)
{
log
.
info
(
"client退出会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
log
.
info
(
"client退出会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
return
imConversationService
.
leaveConversation
(
imClientToConversation
);
return
ApiResult
.
ok
(
imConversationService
.
leaveConversation
(
imClientToConversation
)
);
}
}
...
@@ -89,7 +91,7 @@ public class ImConversationController extends BaseController {
...
@@ -89,7 +91,7 @@ public class ImConversationController extends BaseController {
@ApiOperation
(
value
=
"将client从会话移除"
,
notes
=
"权限:目前只有群主有权限操作"
)
@ApiOperation
(
value
=
"将client从会话移除"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
ApiResult
<
Boolean
>
delClientToConversation
(
@RequestBody
ImClientToConversation
imClientToConversation
)
throws
Exception
{
public
ApiResult
<
Boolean
>
delClientToConversation
(
@RequestBody
ImClientToConversation
imClientToConversation
)
throws
Exception
{
log
.
info
(
"将client从会话移除入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
log
.
info
(
"将client从会话移除入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
return
imConversationService
.
delClientToConversation
(
imClientToConversation
);
return
ApiResult
.
ok
(
imConversationService
.
delClientToConversation
(
imClientToConversation
)
);
}
}
/**
/**
...
@@ -111,7 +113,7 @@ public class ImConversationController extends BaseController {
...
@@ -111,7 +113,7 @@ public class ImConversationController extends BaseController {
@ApiOperation
(
value
=
"将用户添加进会话"
,
notes
=
"权限:会话中所有client都有权限操作"
)
@ApiOperation
(
value
=
"将用户添加进会话"
,
notes
=
"权限:会话中所有client都有权限操作"
)
public
ApiResult
<
Boolean
>
addClientToConversation
(
@RequestBody
ImClientToConversation
imClientToConversation
)
throws
Exception
{
public
ApiResult
<
Boolean
>
addClientToConversation
(
@RequestBody
ImClientToConversation
imClientToConversation
)
throws
Exception
{
log
.
info
(
"将用户添加进会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
log
.
info
(
"将用户添加进会话入参 {}"
,
JSON
.
toJSONString
(
imClientToConversation
));
return
imConversationService
.
addClientToConversation
(
imClientToConversation
);
return
ApiResult
.
ok
(
imConversationService
.
addClientToConversation
(
imClientToConversation
)
);
}
}
/**
/**
...
@@ -121,7 +123,7 @@ public class ImConversationController extends BaseController {
...
@@ -121,7 +123,7 @@ public class ImConversationController extends BaseController {
@ApiOperation
(
value
=
"创建会话"
,
notes
=
"后台可配置:两个客户端如果已经创建过会话,是否重复创建会话"
)
@ApiOperation
(
value
=
"创建会话"
,
notes
=
"后台可配置:两个客户端如果已经创建过会话,是否重复创建会话"
)
public
ApiResult
<
ImConversationCreateVo
>
createImConversation
(
@RequestBody
ImConversationCreate
imConversationCreate
)
throws
Exception
{
public
ApiResult
<
ImConversationCreateVo
>
createImConversation
(
@RequestBody
ImConversationCreate
imConversationCreate
)
throws
Exception
{
log
.
info
(
"创建会话入参 {}"
,
JSON
.
toJSONString
(
imConversationCreate
));
log
.
info
(
"创建会话入参 {}"
,
JSON
.
toJSONString
(
imConversationCreate
));
return
imConversationService
.
createImConversation
(
imConversationCreate
);
return
ApiResult
.
ok
(
imConversationService
.
createImConversation
(
imConversationCreate
)
);
}
}
/**
/**
...
@@ -129,7 +131,7 @@ public class ImConversationController extends BaseController {
...
@@ -129,7 +131,7 @@ public class ImConversationController extends BaseController {
*/
*/
@PostMapping
(
"/transferOwner"
)
@PostMapping
(
"/transferOwner"
)
@ApiOperation
(
value
=
"群主转让"
,
notes
=
"权限:目前只有群主有权限操作"
)
@ApiOperation
(
value
=
"群主转让"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
ApiResult
<
Boolean
>
transferOwner
(
@RequestBody
TransferOwnerParam
param
)
{
public
ApiResult
<
Boolean
>
transferOwner
(
@RequestBody
TransferOwnerParam
param
)
{
log
.
info
(
"群主转让入参 {}"
,
JSON
.
toJSONString
(
param
));
log
.
info
(
"群主转让入参 {}"
,
JSON
.
toJSONString
(
param
));
Boolean
result
=
imConversationService
.
transferOwner
(
param
);
Boolean
result
=
imConversationService
.
transferOwner
(
param
);
return
ApiResult
.
ok
(
result
);
return
ApiResult
.
ok
(
result
);
...
@@ -140,7 +142,7 @@ public class ImConversationController extends BaseController {
...
@@ -140,7 +142,7 @@ public class ImConversationController extends BaseController {
*/
*/
@PostMapping
(
"/setAdmins"
)
@PostMapping
(
"/setAdmins"
)
@ApiOperation
(
value
=
"设置群管理员"
,
notes
=
"权限:目前只有群主有权限操作"
)
@ApiOperation
(
value
=
"设置群管理员"
,
notes
=
"权限:目前只有群主有权限操作"
)
public
ApiResult
<
Boolean
>
setAdmins
(
@RequestBody
@Validated
SetAdminsParam
param
)
{
public
ApiResult
<
Boolean
>
setAdmins
(
@RequestBody
@Validated
SetAdminsParam
param
)
{
log
.
info
(
"设置群管理员入参 {}"
,
JSON
.
toJSONString
(
param
));
log
.
info
(
"设置群管理员入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
...
@@ -154,7 +156,7 @@ public class ImConversationController extends BaseController {
...
@@ -154,7 +156,7 @@ public class ImConversationController extends BaseController {
*/
*/
@PostMapping
(
"/mutedGroup"
)
@PostMapping
(
"/mutedGroup"
)
@ApiOperation
(
value
=
"群禁言、取消群禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
@ApiOperation
(
value
=
"群禁言、取消群禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
public
ApiResult
<
Boolean
>
mutedGroup
(
@RequestBody
@Validated
MutedGroupParam
param
)
{
public
ApiResult
<
Boolean
>
mutedGroup
(
@RequestBody
@Validated
MutedGroupParam
param
)
{
log
.
info
(
"群禁言、取消群禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
log
.
info
(
"群禁言、取消群禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
Boolean
result
=
imConversationService
.
mutedGroup
(
param
);
Boolean
result
=
imConversationService
.
mutedGroup
(
param
);
return
ApiResult
.
ok
(
result
);
return
ApiResult
.
ok
(
result
);
...
@@ -165,7 +167,7 @@ public class ImConversationController extends BaseController {
...
@@ -165,7 +167,7 @@ public class ImConversationController extends BaseController {
*/
*/
@PostMapping
(
"/mutedGroupMember"
)
@PostMapping
(
"/mutedGroupMember"
)
@ApiOperation
(
value
=
"选择禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
@ApiOperation
(
value
=
"选择禁言"
,
notes
=
"权限:群主和管理员有权限操作"
)
public
ApiResult
<
Boolean
>
mutedGroupMember
(
@RequestBody
@Validated
MutedGroupMemberParam
param
)
{
public
ApiResult
<
Boolean
>
mutedGroupMember
(
@RequestBody
@Validated
MutedGroupMemberParam
param
)
{
log
.
info
(
"选择禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
log
.
info
(
"选择禁言入参 {}"
,
JSON
.
toJSONString
(
param
));
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
if
(
CollectionUtils
.
isEmpty
(
param
.
getClientIds
()))
{
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
return
ApiResult
.
fail
(
ApiCode
.
PARAMETER_EXCEPTION
,
null
);
...
...
core/src/main/java/com/wecloud/im/externalaccess/service/UserService.java
View file @
9f0193f9
...
@@ -298,7 +298,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
...
@@ -298,7 +298,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
this
.
updateById
(
user
);
this
.
updateById
(
user
);
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
=
new
ImClientHeadPortraitAdd
();
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
=
new
ImClientHeadPortraitAdd
();
imClientHeadPortraitAdd
.
setHeadPortrait
(
param
.
getHeadPortrait
());
imClientHeadPortraitAdd
.
setHeadPortrait
(
param
.
getHeadPortrait
());
imClientService
.
updateHeadPortrait
(
null
,
imClientHeadPortraitAdd
);
imClientService
.
updateHeadPortrait
(
imClientHeadPortraitAdd
);
}
}
/**
/**
...
@@ -319,7 +319,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
...
@@ -319,7 +319,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
this
.
updateById
(
user
);
this
.
updateById
(
user
);
ImClientNicknameUpdate
imClientNicknameUpdate
=
new
ImClientNicknameUpdate
();
ImClientNicknameUpdate
imClientNicknameUpdate
=
new
ImClientNicknameUpdate
();
imClientNicknameUpdate
.
setNickname
(
param
.
getNickname
());
imClientNicknameUpdate
.
setNickname
(
param
.
getNickname
());
imClientService
.
updateNickname
(
null
,
imClientNicknameUpdate
);
imClientService
.
updateNickname
(
imClientNicknameUpdate
);
}
}
/**
/**
...
...
core/src/main/java/com/wecloud/im/service/ContextService.java
View file @
9f0193f9
...
@@ -19,7 +19,7 @@ public interface ContextService {
...
@@ -19,7 +19,7 @@ public interface ContextService {
* @param request Ws请求
* @param request Ws请求
* @Return
* @Return
*/
*/
ImClient
getImClientIfNotNullOrThrow
(
ActionRequest
request
);
ImClient
getImClientIfNotNullOrThrow
();
/**
/**
* 获取当前或指定appId的ImApplication 存在返回 不存在则抛出异常
* 获取当前或指定appId的ImApplication 存在返回 不存在则抛出异常
...
...
core/src/main/java/com/wecloud/im/service/ImClientBlacklistService.java
View file @
9f0193f9
...
@@ -34,7 +34,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
...
@@ -34,7 +34,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
Boolean
addImClientBlacklist
(
ActionRequest
request
,
ImClientBlacklistUpdate
imClientBlacklistUpdate
);
Boolean
addImClientBlacklist
(
ImClientBlacklistUpdate
imClientBlacklistUpdate
);
/**
/**
* 移出黑名单
* 移出黑名单
...
@@ -43,7 +43,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
...
@@ -43,7 +43,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
Boolean
removeImClientBlacklist
(
ActionRequest
request
,
ImClientBlacklistUpdate
imClientBlacklistUpdate
);
Boolean
removeImClientBlacklist
(
ImClientBlacklistUpdate
imClientBlacklistUpdate
);
/**
/**
* 获取分页对象
* 获取分页对象
...
@@ -51,6 +51,6 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
...
@@ -51,6 +51,6 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ActionRequest
request
,
ImClientBlacklistPageParam
imClientBlacklistPageParam
);
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ImClientBlacklistPageParam
imClientBlacklistPageParam
);
}
}
core/src/main/java/com/wecloud/im/service/ImClientService.java
View file @
9f0193f9
...
@@ -35,23 +35,23 @@ public interface ImClientService extends BaseService<ImClient> {
...
@@ -35,23 +35,23 @@ public interface ImClientService extends BaseService<ImClient> {
* 查询我的信息
* 查询我的信息
* @return
* @return
*/
*/
MyInfoVo
getMyInfo
(
ActionRequest
request
);
MyInfoVo
getMyInfo
();
/**
/**
* 更新头像
* 更新头像
* @param imClientHeadPortraitAdd
* @param imClientHeadPortraitAdd
* @return
* @return
*/
*/
boolean
updateHeadPortrait
(
ActionRequest
request
,
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
);
boolean
updateHeadPortrait
(
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
);
/**
/**
* 修改昵称
* 修改昵称
* @param imClientNicknameUpdate
* @param imClientNicknameUpdate
* @return
* @return
*/
*/
boolean
updateNickname
(
ActionRequest
request
,
ImClientNicknameUpdate
imClientNicknameUpdate
);
boolean
updateNickname
(
ImClientNicknameUpdate
imClientNicknameUpdate
);
boolean
updateHeadAndNickname
(
ActionRequest
request
,
ImClientHeadPortraitAndNicknameUpdate
imClientHeadPortraitAndNicknameUpdate
);
boolean
updateHeadAndNickname
(
ImClientHeadPortraitAndNicknameUpdate
imClientHeadPortraitAndNicknameUpdate
);
/**
/**
...
@@ -61,17 +61,17 @@ public interface ImClientService extends BaseService<ImClient> {
...
@@ -61,17 +61,17 @@ public interface ImClientService extends BaseService<ImClient> {
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
List
<
GetInfoListVo
>
getInfoList
(
ActionRequest
request
,
GetClientInfoParam
getClientInfoParam
)
throws
Exception
;
List
<
GetInfoListVo
>
getInfoList
(
GetClientInfoParam
getClientInfoParam
)
throws
Exception
;
/**
/**
* 获取群里成员信息
* 获取群里成员信息
* @param param
* @param param
* @return
* @return
*/
*/
ClientInfoVo
getClientInfo
(
ActionRequest
request
,
ClientInfoParam
param
);
ClientInfoVo
getClientInfo
(
ClientInfoParam
param
);
boolean
updateNickname
(
ActionRequest
request
,
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
;
boolean
updateNickname
(
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
;
/**
/**
* 保存
* 保存
...
@@ -95,7 +95,7 @@ public interface ImClientService extends BaseService<ImClient> {
...
@@ -95,7 +95,7 @@ public interface ImClientService extends BaseService<ImClient> {
* @param param
* @param param
* @return
* @return
*/
*/
boolean
logout
(
ActionRequest
request
,
LogoutParam
param
);
boolean
logout
(
LogoutParam
param
);
/**
/**
...
@@ -123,7 +123,7 @@ public interface ImClientService extends BaseService<ImClient> {
...
@@ -123,7 +123,7 @@ public interface ImClientService extends BaseService<ImClient> {
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
Paging
<
ImClientQueryVo
>
getImClientPageList
(
ActionRequest
request
,
ImClientPageParam
imClientPageParam
)
throws
Exception
;
Paging
<
ImClientQueryVo
>
getImClientPageList
(
ImClientPageParam
imClientPageParam
)
throws
Exception
;
/**
/**
...
...
core/src/main/java/com/wecloud/im/service/ImConversationService.java
View file @
9f0193f9
package
com
.
wecloud
.
im
.
service
;
package
com
.
wecloud
.
im
.
service
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
java.util.List
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.param.DisbandConversationParam
;
import
com.wecloud.im.param.DisbandConversationParam
;
...
@@ -16,14 +22,8 @@ import com.wecloud.im.param.add.ImConversationAttrUpdate;
...
@@ -16,14 +22,8 @@ import com.wecloud.im.param.add.ImConversationAttrUpdate;
import
com.wecloud.im.param.add.ImConversationCreate
;
import
com.wecloud.im.param.add.ImConversationCreate
;
import
com.wecloud.im.param.add.ImConversationDisplayUpdate
;
import
com.wecloud.im.param.add.ImConversationDisplayUpdate
;
import
com.wecloud.im.param.add.ImConversationNameUpdate
;
import
com.wecloud.im.param.add.ImConversationNameUpdate
;
import
com.wecloud.im.vo.ImConversationCreateVo
;
import
com.wecloud.im.vo.ConversationVo
;
import
com.wecloud.im.vo.ConversationVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
com.wecloud.im.vo.ImConversationCreateVo
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
/**
/**
* 会话表 服务类
* 会话表 服务类
...
@@ -49,7 +49,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
...
@@ -49,7 +49,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
* @param imConversationCreate
* @param imConversationCreate
* @return
* @return
*/
*/
ApiResult
<
ImConversationCreateVo
>
createImConversation
(
ImConversationCreate
imConversationCreate
);
ImConversationCreateVo
createImConversation
(
ImConversationCreate
imConversationCreate
);
/**
/**
...
@@ -59,7 +59,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
...
@@ -59,7 +59,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
* @return
* @return
* @throws JsonProcessingException
* @throws JsonProcessingException
*/
*/
ApiResult
<
Boolean
>
addClientToConversation
(
ImClientToConversation
imClientToConversation
);
Boolean
addClientToConversation
(
ImClientToConversation
imClientToConversation
);
/**
/**
* 将client从会话移除
* 将client从会话移除
...
@@ -67,7 +67,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
...
@@ -67,7 +67,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
* @param imClientToConversation
* @param imClientToConversation
* @return
* @return
*/
*/
ApiResult
<
Boolean
>
delClientToConversation
(
ImClientToConversation
imClientToConversation
)
throws
Exception
;
Boolean
delClientToConversation
(
ImClientToConversation
imClientToConversation
)
throws
Exception
;
/**
/**
* 解散群聊
* 解散群聊
...
@@ -79,35 +79,35 @@ public interface ImConversationService extends BaseService<ImConversation> {
...
@@ -79,35 +79,35 @@ public interface ImConversationService extends BaseService<ImConversation> {
/**
/**
* client退出会话
* client退出会话
*/
*/
ApiResult
<
Boolean
>
leaveConversation
(
ImClientLeaveConversation
imClientToConversation
);
Boolean
leaveConversation
(
ImClientLeaveConversation
imClientToConversation
);
/**
/**
* 群主转让
* 群主转让
* @param param
* @param param
* @return
* @return
*/
*/
Boolean
transferOwner
(
@RequestBody
TransferOwnerParam
param
);
Boolean
transferOwner
(
TransferOwnerParam
param
);
/**
/**
* 设置管理员
* 设置管理员
* @param param
* @param param
* @return
* @return
*/
*/
Boolean
setAdmins
(
@RequestBody
SetAdminsParam
param
);
Boolean
setAdmins
(
SetAdminsParam
param
);
/**
/**
* 群禁言
* 群禁言
* @param param
* @param param
* @return
* @return
*/
*/
Boolean
mutedGroup
(
@RequestBody
MutedGroupParam
param
);
Boolean
mutedGroup
(
MutedGroupParam
param
);
/**
/**
* 选择禁言
* 选择禁言
* @param param
* @param param
* @return
* @return
*/
*/
Boolean
mutedGroupMember
(
@RequestBody
MutedGroupMemberParam
param
);
Boolean
mutedGroupMember
(
MutedGroupMemberParam
param
);
/**
/**
* 判断当前操作人是否为指定角色成员
* 判断当前操作人是否为指定角色成员
...
...
core/src/main/java/com/wecloud/im/service/impl/ContextServiceImpl.java
View file @
9f0193f9
...
@@ -7,6 +7,7 @@ import org.springframework.context.annotation.Lazy;
...
@@ -7,6 +7,7 @@ import org.springframework.context.annotation.Lazy;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.dispatch.util.ActionRequestHolder
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.service.ContextService
;
import
com.wecloud.im.service.ContextService
;
...
@@ -31,11 +32,12 @@ public class ContextServiceImpl implements ContextService {
...
@@ -31,11 +32,12 @@ public class ContextServiceImpl implements ContextService {
private
ImApplicationService
imApplicationService
;
private
ImApplicationService
imApplicationService
;
@Override
@Override
public
ImClient
getImClientIfNotNullOrThrow
(
ActionRequest
request
)
{
public
ImClient
getImClientIfNotNullOrThrow
()
{
ImClient
currentClient
;
ImClient
currentClient
;
if
(
request
!=
null
)
{
if
(
ActionRequestHolder
.
getActionRequest
()
!=
null
)
{
ActionRequest
request
=
ActionRequestHolder
.
getActionRequest
();
currentClient
=
imClientService
.
getCacheImClient
(
request
.
getSenderClientId
());
currentClient
=
imClientService
.
getCacheImClient
(
request
.
getSenderClientId
());
}
else
{
}
else
{
currentClient
=
imClientService
.
getCurrentClient
();
currentClient
=
imClientService
.
getCurrentClient
();
...
...
core/src/main/java/com/wecloud/im/service/impl/ImClientBlacklistServiceImpl.java
View file @
9f0193f9
...
@@ -15,7 +15,6 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -15,7 +15,6 @@ import org.springframework.transaction.annotation.Transactional;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClientBlacklist
;
import
com.wecloud.im.entity.ImClientBlacklist
;
import
com.wecloud.im.mapper.ImClientBlacklistMapper
;
import
com.wecloud.im.mapper.ImClientBlacklistMapper
;
...
@@ -57,8 +56,8 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
...
@@ -57,8 +56,8 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addImClientBlacklist
(
ActionRequest
request
,
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
{
public
Boolean
addImClientBlacklist
(
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
{
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
ImClient
beBlacker
=
imClientService
.
getOne
(
new
QueryWrapper
<
ImClient
>().
lambda
()
ImClient
beBlacker
=
imClientService
.
getOne
(
new
QueryWrapper
<
ImClient
>().
lambda
()
.
eq
(
ImClient:
:
getFkAppid
,
currentClient
.
getFkAppid
())
.
eq
(
ImClient:
:
getFkAppid
,
currentClient
.
getFkAppid
())
.
eq
(
ImClient:
:
getClientId
,
imClientBlacklistUpdate
.
getClientIdBePrevent
()));
.
eq
(
ImClient:
:
getClientId
,
imClientBlacklistUpdate
.
getClientIdBePrevent
()));
...
@@ -78,9 +77,9 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
...
@@ -78,9 +77,9 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
removeImClientBlacklist
(
ActionRequest
request
,
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
{
public
Boolean
removeImClientBlacklist
(
ImClientBlacklistUpdate
imClientBlacklistUpdate
)
{
// 操作者
// 操作者
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
// 被拉黑者
// 被拉黑者
ImClient
beBlacker
=
imClientService
.
getOne
(
new
QueryWrapper
<
ImClient
>().
lambda
()
ImClient
beBlacker
=
imClientService
.
getOne
(
new
QueryWrapper
<
ImClient
>().
lambda
()
.
eq
(
ImClient:
:
getFkAppid
,
currentClient
.
getFkAppid
())
.
eq
(
ImClient:
:
getFkAppid
,
currentClient
.
getFkAppid
())
...
@@ -96,9 +95,9 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
...
@@ -96,9 +95,9 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
}
}
@Override
@Override
public
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ActionRequest
request
,
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
{
public
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
{
Page
<
ImClientBlacklistQueryVo
>
page
=
new
PageInfo
<>(
imClientBlacklistPageParam
);
Page
<
ImClientBlacklistQueryVo
>
page
=
new
PageInfo
<>(
imClientBlacklistPageParam
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
IPage
<
ImClientBlacklistQueryVo
>
imClientBlacklistPageList
=
imClientBlacklistMapper
.
getImClientBlacklistPageList
(
page
,
currentClient
.
getClientId
());
IPage
<
ImClientBlacklistQueryVo
>
imClientBlacklistPageList
=
imClientBlacklistMapper
.
getImClientBlacklistPageList
(
page
,
currentClient
.
getClientId
());
Paging
<
ImClientBlacklistQueryVo
>
imClientBlacklistQueryVoPaging
=
new
Paging
<>(
imClientBlacklistPageList
);
Paging
<
ImClientBlacklistQueryVo
>
imClientBlacklistQueryVoPaging
=
new
Paging
<>(
imClientBlacklistPageList
);
return
imClientBlacklistQueryVoPaging
;
return
imClientBlacklistQueryVoPaging
;
...
...
core/src/main/java/com/wecloud/im/service/impl/ImClientServiceImpl.java
View file @
9f0193f9
package
com
.
wecloud
.
im
.
service
.
impl
;
package
com
.
wecloud
.
im
.
service
.
impl
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
...
@@ -28,6 +27,7 @@ import com.baomidou.mybatisplus.core.metadata.OrderItem;
...
@@ -28,6 +27,7 @@ import com.baomidou.mybatisplus.core.metadata.OrderItem;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.dispatch.util.ActionRequestHolder
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClientDevice
;
import
com.wecloud.im.entity.ImClientDevice
;
...
@@ -87,8 +87,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -87,8 +87,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
private
ContextService
contextService
;
private
ContextService
contextService
;
@Override
@Override
public
MyInfoVo
getMyInfo
(
ActionRequest
request
)
{
public
MyInfoVo
getMyInfo
()
{
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
MyInfoVo
myInfoVo
=
new
MyInfoVo
();
MyInfoVo
myInfoVo
=
new
MyInfoVo
();
BeanUtils
.
copyProperties
(
currentClient
,
myInfoVo
);
BeanUtils
.
copyProperties
(
currentClient
,
myInfoVo
);
return
myInfoVo
;
return
myInfoVo
;
...
@@ -96,8 +96,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -96,8 +96,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateHeadPortrait
(
ActionRequest
request
,
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
)
{
public
boolean
updateHeadPortrait
(
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
)
{
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
curentClient
.
setHeadPortrait
(
imClientHeadPortraitAdd
.
getHeadPortrait
());
curentClient
.
setHeadPortrait
(
imClientHeadPortraitAdd
.
getHeadPortrait
());
imClientMapper
.
updateById
(
curentClient
);
imClientMapper
.
updateById
(
curentClient
);
...
@@ -108,8 +108,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -108,8 +108,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
}
@Override
@Override
public
boolean
updateNickname
(
ActionRequest
request
,
ImClientNicknameUpdate
imClientNicknameUpdate
)
{
public
boolean
updateNickname
(
ImClientNicknameUpdate
imClientNicknameUpdate
)
{
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
curentClient
.
setNickname
(
imClientNicknameUpdate
.
getNickname
());
curentClient
.
setNickname
(
imClientNicknameUpdate
.
getNickname
());
imClientMapper
.
updateById
(
curentClient
);
imClientMapper
.
updateById
(
curentClient
);
...
@@ -120,8 +120,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -120,8 +120,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
}
@Override
@Override
public
boolean
updateHeadAndNickname
(
ActionRequest
request
,
ImClientHeadPortraitAndNicknameUpdate
imClientHeadPortraitAndNicknameUpdate
)
{
public
boolean
updateHeadAndNickname
(
ImClientHeadPortraitAndNicknameUpdate
imClientHeadPortraitAndNicknameUpdate
)
{
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
curentClient
.
setHeadPortrait
(
imClientHeadPortraitAndNicknameUpdate
.
getHeadPortrait
());
curentClient
.
setHeadPortrait
(
imClientHeadPortraitAndNicknameUpdate
.
getHeadPortrait
());
curentClient
.
setNickname
(
imClientHeadPortraitAndNicknameUpdate
.
getNickname
());
curentClient
.
setNickname
(
imClientHeadPortraitAndNicknameUpdate
.
getNickname
());
imClientMapper
.
updateById
(
curentClient
);
imClientMapper
.
updateById
(
curentClient
);
...
@@ -133,8 +133,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -133,8 +133,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
}
@Override
@Override
public
List
<
GetInfoListVo
>
getInfoList
(
ActionRequest
request
,
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
public
List
<
GetInfoListVo
>
getInfoList
(
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
if
(
getClientInfoParam
.
getClientIds
()
==
null
||
getClientInfoParam
.
getClientIds
().
isEmpty
())
{
if
(
getClientInfoParam
.
getClientIds
()
==
null
||
getClientInfoParam
.
getClientIds
().
isEmpty
())
{
throw
new
BusinessException
(
"getClientInfoParam.getClientIds() == null"
);
throw
new
BusinessException
(
"getClientInfoParam.getClientIds() == null"
);
...
@@ -162,8 +162,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -162,8 +162,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
}
@Override
@Override
public
ClientInfoVo
getClientInfo
(
ActionRequest
request
,
ClientInfoParam
param
)
{
public
ClientInfoVo
getClientInfo
(
ClientInfoParam
param
)
{
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
if
(
currentClient
==
null
)
{
if
(
currentClient
==
null
)
{
throw
new
BusinessException
(
"当前用户登录信息失效"
);
throw
new
BusinessException
(
"当前用户登录信息失效"
);
}
}
...
@@ -194,8 +194,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -194,8 +194,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateNickname
(
ActionRequest
request
,
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
{
public
boolean
updateNickname
(
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
{
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
curentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
curentClient
.
setNickname
(
imClientNicknameAdd
.
getNickname
());
curentClient
.
setNickname
(
imClientNicknameAdd
.
getNickname
());
imClientMapper
.
updateById
(
curentClient
);
imClientMapper
.
updateById
(
curentClient
);
...
@@ -248,8 +248,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -248,8 +248,8 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
}
@Override
@Override
public
boolean
logout
(
ActionRequest
request
,
LogoutParam
param
)
{
public
boolean
logout
(
LogoutParam
param
)
{
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
(
request
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
// 清除设备token
// 清除设备token
return
imClientDeviceService
.
update
(
new
UpdateWrapper
<
ImClientDevice
>().
lambda
()
return
imClientDeviceService
.
update
(
new
UpdateWrapper
<
ImClientDevice
>().
lambda
()
.
eq
(
ImClientDevice:
:
getFkAppid
,
currentClient
.
getFkAppid
())
.
eq
(
ImClientDevice:
:
getFkAppid
,
currentClient
.
getFkAppid
())
...
@@ -270,7 +270,7 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -270,7 +270,7 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
}
@Override
@Override
public
Paging
<
ImClientQueryVo
>
getImClientPageList
(
ActionRequest
request
,
ImClientPageParam
imClientPageParam
)
throws
Exception
{
public
Paging
<
ImClientQueryVo
>
getImClientPageList
(
ImClientPageParam
imClientPageParam
)
throws
Exception
{
Page
<
ImClientQueryVo
>
page
=
new
PageInfo
<>(
imClientPageParam
,
OrderItem
.
desc
(
getLambdaColumn
(
ImClient:
:
getCreateTime
)));
Page
<
ImClientQueryVo
>
page
=
new
PageInfo
<>(
imClientPageParam
,
OrderItem
.
desc
(
getLambdaColumn
(
ImClient:
:
getCreateTime
)));
IPage
<
ImClientQueryVo
>
iPage
=
imClientMapper
.
getImClientPageList
(
page
,
imClientPageParam
);
IPage
<
ImClientQueryVo
>
iPage
=
imClientMapper
.
getImClientPageList
(
page
,
imClientPageParam
);
return
new
Paging
<>(
iPage
);
return
new
Paging
<>(
iPage
);
...
@@ -278,12 +278,19 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
...
@@ -278,12 +278,19 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
@Override
@Override
public
ImClient
getCurrentClient
()
{
public
ImClient
getCurrentClient
()
{
ImClient
imClient
=
null
;
// shiro线程中获取当前token
// modify by luozh 2022/04/03 增加是否存在ActionRequest的判断,如果是则说明请求来源于ws 否则是HTTP请求
JwtToken
curentJwtToken
=
JwtUtil
.
getCurrentJwtToken
();
if
(
ActionRequestHolder
.
getActionRequest
()
!=
null
)
{
// 根据appKey查询appid
ActionRequest
request
=
ActionRequestHolder
.
getActionRequest
();
ImApplication
imApplication
=
imApplicationService
.
getCacheAppByAppKey
(
curentJwtToken
.
getAppKey
());
imClient
=
getCacheImClient
(
request
.
getSenderClientId
());
return
getCacheImClient
(
imApplication
.
getId
(),
curentJwtToken
.
getClientId
());
}
else
{
// shiro线程中获取当前token
JwtToken
curentJwtToken
=
JwtUtil
.
getCurrentJwtToken
();
// 根据appKey查询appid
ImApplication
imApplication
=
imApplicationService
.
getCacheAppByAppKey
(
curentJwtToken
.
getAppKey
());
imClient
=
getCacheImClient
(
imApplication
.
getId
(),
curentJwtToken
.
getClientId
());
}
return
imClient
;
}
}
@Override
@Override
...
...
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
9f0193f9
This diff is collapsed.
Click to expand it.
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