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
8e96e57d
Commit
8e96e57d
authored
May 07, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SDK增加pageBlacklist接口
parent
5bba08b3
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
152 additions
and
12 deletions
+152
-12
core/src/main/java/com/wecloud/im/controller/ImClientBlacklistController.java
+12
-0
core/src/main/java/com/wecloud/im/param/ImClientBlacklistPageParam.java
+3
-0
core/src/main/java/com/wecloud/im/service/ImClientBlacklistService.java
+8
-1
core/src/main/java/com/wecloud/im/service/impl/ImClientBlacklistServiceImpl.java
+19
-5
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
+5
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
+13
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
+10
-0
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
+38
-6
im-sdk/src/main/java/com/wecloud/im/sdk/model/Blacklist.java
+21
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/PageBlacklistRequest.java
+23
-0
No files found.
core/src/main/java/com/wecloud/im/controller/ImClientBlacklistController.java
View file @
8e96e57d
...
...
@@ -70,5 +70,17 @@ public class ImClientBlacklistController extends BaseController {
return
ApiResult
.
ok
(
blacklist
);
}
/**
* 黑名单分页列表sdk用
*/
@PostMapping
(
"/sdk/pageBlacklist"
)
@OperationLog
(
name
=
"黑名单分页列表"
,
type
=
OperationLogType
.
PAGE
)
@ApiOperation
(
value
=
"黑名单分页列表"
)
public
ApiResult
<
Paging
<
ImClientBlacklistQueryVo
>>
getImClientBlacklistPageListSdk
(
@RequestBody
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
throws
Exception
{
Paging
<
ImClientBlacklistQueryVo
>
blacklist
=
imClientBlacklistService
.
getImClientBlacklistPageListSdk
(
imClientBlacklistPageParam
);
return
ApiResult
.
ok
(
blacklist
);
}
}
core/src/main/java/com/wecloud/im/param/ImClientBlacklistPageParam.java
View file @
8e96e57d
...
...
@@ -19,5 +19,8 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"黑名单分页参数"
)
public
class
ImClientBlacklistPageParam
extends
BasePageOrderParam
{
private
String
clientId
;
private
static
final
long
serialVersionUID
=
1L
;
}
core/src/main/java/com/wecloud/im/service/ImClientBlacklistService.java
View file @
8e96e57d
...
...
@@ -3,7 +3,6 @@ package com.wecloud.im.service;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
com.wecloud.dispatch.extend.ActionRequest
;
import
com.wecloud.im.entity.ImClientBlacklist
;
import
com.wecloud.im.param.ImClientBlacklistPageParam
;
import
com.wecloud.im.param.ImClientBlacklistQueryVo
;
...
...
@@ -53,4 +52,12 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
*/
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ImClientBlacklistPageParam
imClientBlacklistPageParam
);
/**
* 获取分页对象
*
* @return
* @throws Exception
*/
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageListSdk
(
ImClientBlacklistPageParam
imClientBlacklistPageParam
);
}
core/src/main/java/com/wecloud/im/service/impl/ImClientBlacklistServiceImpl.java
View file @
8e96e57d
...
...
@@ -4,12 +4,11 @@ import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.shiro.util.SecurityUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Date
;
import
java.util.List
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -101,11 +100,26 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
@Override
public
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
{
Page
<
ImClientBlacklistQueryVo
>
page
=
new
PageInfo
<>(
imClientBlacklistPageParam
);
ImClient
currentClient
=
contextService
.
getImClientIfNotNullOrThrow
();
IPage
<
ImClientBlacklistQueryVo
>
imClientBlacklistPageList
=
imClientBlacklistMapper
.
getImClientBlacklistPageList
(
page
,
currentClient
.
getClientId
());
return
getImClientBlacklistPageList
(
currentClient
,
imClientBlacklistPageParam
);
}
@Override
public
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageListSdk
(
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
{
Long
appId
=
SecurityUtils
.
getCurrentAppId
();
ImClient
client
=
imClientService
.
getCacheImClient
(
appId
,
imClientBlacklistPageParam
.
getClientId
());
if
(
client
==
null
)
{
throw
new
BusinessException
(
"客户端不存在"
);
}
return
getImClientBlacklistPageList
(
client
,
imClientBlacklistPageParam
);
}
private
Paging
<
ImClientBlacklistQueryVo
>
getImClientBlacklistPageList
(
ImClient
client
,
ImClientBlacklistPageParam
imClientBlacklistPageParam
)
{
Page
<
ImClientBlacklistQueryVo
>
page
=
new
PageInfo
<>(
imClientBlacklistPageParam
);
IPage
<
ImClientBlacklistQueryVo
>
imClientBlacklistPageList
=
imClientBlacklistMapper
.
getImClientBlacklistPageList
(
page
,
client
.
getClientId
());
Paging
<
ImClientBlacklistQueryVo
>
imClientBlacklistQueryVoPaging
=
new
Paging
<>(
imClientBlacklistPageList
);
return
imClientBlacklistQueryVoPaging
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
View file @
8e96e57d
...
...
@@ -47,6 +47,11 @@ public class ResourcePathConstants {
public
static
final
String
FRIEND_REQUEST
=
"/api/friend/sdk/apply"
;
/**
* 好友请求
*/
public
static
final
String
PAGE_BLACKLIST_REQUEST
=
"/api/imClient/sdk/pageBlacklist"
;
/**
* 群成员互加好友
*/
public
static
final
String
GROUP_MEMBERS_FRIEND_REQUEST
=
"/api/imConversationMembers/addUser"
;
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
View file @
8e96e57d
...
...
@@ -2,6 +2,9 @@ package com.wecloud.im.sdk;
import
java.util.List
;
import
cn.hutool.db.PageResult
;
import
com.wecloud.im.sdk.model.Blacklist
;
import
com.wecloud.im.sdk.model.ChatRoomMember
;
import
com.wecloud.im.sdk.model.Conversation
;
import
com.wecloud.im.sdk.model.Friend
;
...
...
@@ -75,6 +78,15 @@ public interface WecloudIm {
List
<
Friend
>
getFriends
(
String
userId
);
/**
* 获取黑名单列表
* @Author luozh
* @Date 2022年05月07日 05:23:40
* @param userId
* @Return
*/
PageResult
<
Blacklist
>
pageBlacklist
(
Long
pageIndex
,
Long
pageSize
,
String
userId
);
/**
* 设置会话置顶
* @Author luozh
* @Date 2022年04月26日 03:33:44
...
...
@@ -169,4 +181,5 @@ public interface WecloudIm {
*/
Boolean
publishPrivateStatusMessage
(
PrivateChatStatusMessage
privateChatStatusMessage
);
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
View file @
8e96e57d
...
...
@@ -5,10 +5,12 @@ import java.util.List;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.db.PageResult
;
import
com.wecloud.im.sdk.internal.WecloudImClientOperation
;
import
com.wecloud.im.sdk.internal.WecloudImConversationOperation
;
import
com.wecloud.im.sdk.internal.WecloudImMessageOperation
;
import
com.wecloud.im.sdk.model.Blacklist
;
import
com.wecloud.im.sdk.model.ChatRoomMember
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.Conversation
;
...
...
@@ -23,6 +25,7 @@ import com.wecloud.im.sdk.model.ImClient;
import
com.wecloud.im.sdk.model.ListChatRoomMemberRequest
;
import
com.wecloud.im.sdk.model.ListConversationRequest
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.PageBlacklistRequest
;
import
com.wecloud.im.sdk.model.PrivateChatMessage
;
import
com.wecloud.im.sdk.model.PrivateChatStatusMessage
;
import
com.wecloud.im.sdk.model.PublishGroupChatMessageRequest
;
...
...
@@ -112,6 +115,13 @@ public class WecloudImClient implements WecloudIm {
}
@Override
public
PageResult
<
Blacklist
>
pageBlacklist
(
Long
pageIndex
,
Long
pageSize
,
String
userId
)
{
PageBlacklistRequest
pageBlacklistRequest
=
PageBlacklistRequest
.
builder
().
pageSize
(
pageSize
).
pageIndex
(
pageIndex
).
userId
(
userId
).
build
();
return
imClientOperation
.
pageBlacklist
(
pageBlacklistRequest
);
}
@Override
public
Boolean
friendRequest
(
String
userId
,
String
friendId
,
String
friendName
,
String
requestRemark
)
{
FriendRequestRequest
friendRequestRequest
=
FriendRequestRequest
.
builder
().
userId
(
userId
).
friendId
(
friendId
).
friendName
(
friendName
).
requestRemark
(
requestRemark
).
build
();
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
View file @
8e96e57d
package
com
.
wecloud
.
im
.
sdk
.
internal
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
cn.hutool.db.PageResult
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.model.Blacklist
;
import
com.wecloud.im.sdk.model.ChatRoomMember
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.Conversation
;
...
...
@@ -15,16 +24,11 @@ import com.wecloud.im.sdk.model.ImClient;
import
com.wecloud.im.sdk.model.ListChatRoomMemberRequest
;
import
com.wecloud.im.sdk.model.ListConversationRequest
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.PageBlacklistRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.UnsureFriend
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
FRIEND_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_FRIENDS
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_TOKEN_URL
;
...
...
@@ -32,6 +36,7 @@ import static com.wecloud.im.sdk.ResourcePathConstants.GET_UNSURE_FRIENDS;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
LIST_CHAT_ROOM_MEMBER_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
LIST_CONVERSATION_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
MODIFY_USER_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
PAGE_BLACKLIST_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
REGISTER_CLIENT_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
utils
.
CodingUtils
.
assertParameterNotBlank
;
import
static
com
.
wecloud
.
im
.
sdk
.
utils
.
CodingUtils
.
assertParameterNotNull
;
...
...
@@ -249,4 +254,31 @@ public class WecloudImClientOperation extends WecloudImOperation {
return
conversations
;
}
public
PageResult
<
Blacklist
>
pageBlacklist
(
PageBlacklistRequest
pageBlacklistRequest
)
{
// 参数校验
assertParameterNotNull
(
pageBlacklistRequest
.
getUserId
(),
"userId"
);
// 校验通过 构建参数
if
(
pageBlacklistRequest
.
getPageIndex
()
==
null
)
{
pageBlacklistRequest
.
setPageIndex
(
1L
);
}
if
(
pageBlacklistRequest
.
getPageSize
()
==
null
)
{
pageBlacklistRequest
.
setPageSize
(
10L
);
}
Map
<
String
,
String
>
param
=
new
HashMap
<>();
param
.
put
(
"clientId"
,
pageBlacklistRequest
.
getUserId
());
param
.
put
(
"pageIndex"
,
pageBlacklistRequest
.
getPageIndex
()
+
""
);
param
.
put
(
"pageSize"
,
pageBlacklistRequest
.
getPageSize
()
+
""
);
// 发送请求
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
PAGE_BLACKLIST_REQUEST
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setOriginalRequest
(
pageBlacklistRequest
).
build
();
Object
result
=
doOperation
(
request
);
TypeReference
<
PageResult
<
Blacklist
>>
typeReference
=
new
TypeReference
<
PageResult
<
Blacklist
>>()
{
};
PageResult
<
Blacklist
>
blacklistPage
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
typeReference
);
return
blacklistPage
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/Blacklist.java
0 → 100644
View file @
8e96e57d
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
*
* @Author luozh
* @Date 2022年05月07日 17:22
* @Version 1.0
*/
@Data
public
class
Blacklist
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 被拉黑者id
*/
private
String
clientIdBePrevent
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/PageBlacklistRequest.java
0 → 100644
View file @
8e96e57d
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
*
* @Author luozh
* @Date 2022年05月07日 17:25
* @Version 1.0
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Builder
@Data
public
class
PageBlacklistRequest
extends
WebServiceRequest
{
private
Long
pageIndex
;
private
Long
pageSize
;
private
String
userId
;
}
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