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
1d0b0fdb
Commit
1d0b0fdb
authored
May 01, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sdk提供
parent
091707e7
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
205 additions
and
10 deletions
+205
-10
core/src/main/java/com/wecloud/im/action/ConversationAction.java
+1
-1
core/src/main/java/com/wecloud/im/controller/ImConversationController.java
+2
-3
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
+5
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
+9
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
+9
-0
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
+29
-6
im-sdk/src/main/java/com/wecloud/im/sdk/model/Conversation.java
+118
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/ListConversationRequest.java
+32
-0
No files found.
core/src/main/java/com/wecloud/im/action/ConversationAction.java
View file @
1d0b0fdb
...
@@ -293,7 +293,7 @@ public class ConversationAction {
...
@@ -293,7 +293,7 @@ public class ConversationAction {
* @return
* @return
*/
*/
@ActionMapping
(
"/listConversation"
)
@ActionMapping
(
"/listConversation"
)
@ApiOperation
(
value
=
"查找会话信息"
,
notes
=
"会话"
)
@ApiOperation
(
value
=
"
批量
查找会话信息"
,
notes
=
"会话"
)
public
WsResponse
<
List
<
ConversationVo
>>
listConversation
(
ListConversationParam
data
)
{
public
WsResponse
<
List
<
ConversationVo
>>
listConversation
(
ListConversationParam
data
)
{
List
<
ConversationVo
>
conversationList
=
imConversationService
.
listConversation
(
data
);
List
<
ConversationVo
>
conversationList
=
imConversationService
.
listConversation
(
data
);
return
WsResponse
.
ok
(
conversationList
);
return
WsResponse
.
ok
(
conversationList
);
...
...
core/src/main/java/com/wecloud/im/controller/ImConversationController.java
View file @
1d0b0fdb
package
com
.
wecloud
.
im
.
controller
;
package
com
.
wecloud
.
im
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.im.param.ChatRoomMemberPageParam
;
import
com.wecloud.im.param.ChatRoomMemberPageParam
;
import
com.wecloud.im.param.DisbandConversationParam
;
import
com.wecloud.im.param.DisbandConversationParam
;
import
com.wecloud.im.param.ExitChatRoomParam
;
import
com.wecloud.im.param.ExitChatRoomParam
;
...
@@ -258,8 +257,8 @@ public class ImConversationController extends BaseController {
...
@@ -258,8 +257,8 @@ public class ImConversationController extends BaseController {
* 查找会话信息
* 查找会话信息
* @return
* @return
*/
*/
@
Action
Mapping
(
"/listConversation"
)
@
Post
Mapping
(
"/listConversation"
)
@ApiOperation
(
value
=
"查找会话信息"
,
notes
=
"会话"
)
@ApiOperation
(
value
=
"
批量
查找会话信息"
,
notes
=
"会话"
)
public
ApiResult
<
List
<
ConversationVo
>>
listConversation
(
ListConversationParam
param
)
{
public
ApiResult
<
List
<
ConversationVo
>>
listConversation
(
ListConversationParam
param
)
{
List
<
ConversationVo
>
conversationList
=
imConversationService
.
listConversation
(
param
);
List
<
ConversationVo
>
conversationList
=
imConversationService
.
listConversation
(
param
);
return
ApiResult
.
ok
(
conversationList
);
return
ApiResult
.
ok
(
conversationList
);
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
View file @
1d0b0fdb
...
@@ -51,5 +51,10 @@ public class ResourcePathConstants {
...
@@ -51,5 +51,10 @@ public class ResourcePathConstants {
*/
*/
public
static
final
String
GROUP_MEMBERS_FRIEND_REQUEST
=
"/api/imConversationMembers/addUser"
;
public
static
final
String
GROUP_MEMBERS_FRIEND_REQUEST
=
"/api/imConversationMembers/addUser"
;
/**
* 群成员互加好友
*/
public
static
final
String
LIST_CONVERSATION_REQUEST
=
"/api/conversation/listConversation"
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
View file @
1d0b0fdb
...
@@ -2,6 +2,7 @@ package com.wecloud.im.sdk;
...
@@ -2,6 +2,7 @@ package com.wecloud.im.sdk;
import
java.util.List
;
import
java.util.List
;
import
com.wecloud.im.sdk.model.Conversation
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.Token
;
...
@@ -111,4 +112,12 @@ public interface WecloudIm {
...
@@ -111,4 +112,12 @@ public interface WecloudIm {
*/
*/
Boolean
groupMembersFriendRequest
(
Long
conversationId
,
String
userId
,
String
friendId
,
String
friendName
,
Boolean
groupMembersFriendRequest
(
Long
conversationId
,
String
userId
,
String
friendId
,
String
friendName
,
String
requestRemark
);
String
requestRemark
);
/**
* 获取会话信息
* @param chatType
* @param conversationIds
* @return
*/
List
<
Conversation
>
listConversation
(
Integer
chatType
,
List
<
Long
>
conversationIds
);
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
View file @
1d0b0fdb
...
@@ -6,12 +6,14 @@ import java.util.List;
...
@@ -6,12 +6,14 @@ import java.util.List;
import
com.wecloud.im.sdk.internal.WecloudImClientOperation
;
import
com.wecloud.im.sdk.internal.WecloudImClientOperation
;
import
com.wecloud.im.sdk.internal.WecloudImConversationOperation
;
import
com.wecloud.im.sdk.internal.WecloudImConversationOperation
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.Conversation
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.FriendRequestRequest
;
import
com.wecloud.im.sdk.model.FriendRequestRequest
;
import
com.wecloud.im.sdk.model.GetFriendsRequest
;
import
com.wecloud.im.sdk.model.GetFriendsRequest
;
import
com.wecloud.im.sdk.model.GetUnsureFriendsRequest
;
import
com.wecloud.im.sdk.model.GetUnsureFriendsRequest
;
import
com.wecloud.im.sdk.model.GroupMembersFriendRequestRequest
;
import
com.wecloud.im.sdk.model.GroupMembersFriendRequestRequest
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ListConversationRequest
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.SetConversationDoNotDisturbRequest
;
import
com.wecloud.im.sdk.model.SetConversationDoNotDisturbRequest
;
...
@@ -112,6 +114,13 @@ public class WecloudImClient implements WecloudIm {
...
@@ -112,6 +114,13 @@ public class WecloudImClient implements WecloudIm {
}
}
@Override
@Override
public
List
<
Conversation
>
listConversation
(
Integer
chatType
,
List
<
Long
>
conversationIds
)
{
ListConversationRequest
request
=
ListConversationRequest
.
builder
().
chatType
(
chatType
)
.
conversationIds
(
conversationIds
).
build
();
return
imClientOperation
.
listConversation
(
request
);
}
@Override
public
Boolean
setConversationTop
(
String
userId
,
Long
conversationId
,
Boolean
top
)
{
public
Boolean
setConversationTop
(
String
userId
,
Long
conversationId
,
Boolean
top
)
{
SetConversationTopRequest
setConversationTopRequest
=
SetConversationTopRequest
setConversationTopRequest
=
SetConversationTopRequest
.
builder
().
userId
(
userId
).
conversationId
(
conversationId
).
top
(
top
).
build
();
SetConversationTopRequest
.
builder
().
userId
(
userId
).
conversationId
(
conversationId
).
top
(
top
).
build
();
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
View file @
1d0b0fdb
package
com
.
wecloud
.
im
.
sdk
.
internal
;
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
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.alibaba.fastjson.TypeReference
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.Conversation
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.FriendRequestRequest
;
import
com.wecloud.im.sdk.model.FriendRequestRequest
;
import
com.wecloud.im.sdk.model.GetFriendsRequest
;
import
com.wecloud.im.sdk.model.GetFriendsRequest
;
import
com.wecloud.im.sdk.model.GetUnsureFriendsRequest
;
import
com.wecloud.im.sdk.model.GetUnsureFriendsRequest
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ListConversationRequest
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.UnsureFriend
;
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
.
FRIEND_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_FRIENDS
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_FRIENDS
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_TOKEN_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_TOKEN_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_UNSURE_FRIENDS
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_UNSURE_FRIENDS
;
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
.
MODIFY_USER_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
REGISTER_CLIENT_URL
;
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
.
assertParameterNotBlank
;
...
@@ -205,4 +208,24 @@ public class WecloudImClientOperation extends WecloudImOperation {
...
@@ -205,4 +208,24 @@ public class WecloudImClientOperation extends WecloudImOperation {
Boolean
flag
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
Boolean
.
class
);
Boolean
flag
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
Boolean
.
class
);
return
flag
;
return
flag
;
}
}
public
List
<
Conversation
>
listConversation
(
ListConversationRequest
listConversationRequest
)
{
// 参数校验
assertParameterNotNull
(
listConversationRequest
.
getConversationIds
(),
"conversationIds"
);
// 校验通过 构建参数
Map
<
String
,
String
>
param
=
new
HashMap
<>();
param
.
put
(
"chatType"
,
listConversationRequest
.
getChatType
()
+
""
);
param
.
put
(
"conversationIds"
,
JSON
.
toJSONString
(
listConversationRequest
.
getConversationIds
()));
// 发送请求
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
LIST_CONVERSATION_REQUEST
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setOriginalRequest
(
listConversationRequest
).
build
();
Object
result
=
doOperation
(
request
);
TypeReference
<
List
<
Conversation
>>
typeReference
=
new
TypeReference
<
List
<
Conversation
>>()
{
};
List
<
Conversation
>
conversations
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
typeReference
);
return
conversations
;
}
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/Conversation.java
0 → 100644
View file @
1d0b0fdb
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.HashMap
;
/**
* <pre>
* 会话表 查询结果对象
* </pre>
*
* @author wei
* @date 2021-05-07
*/
@Data
@Accessors
(
chain
=
true
)
public
class
Conversation
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8120459168840854991L
;
/**
* "会话id"
*/
private
Long
id
;
/**
* "创建时间"
*/
private
Date
createTime
;
/**
* "创建者客户端id"
*/
private
String
creator
;
/**
* "可选 对话的名字,可为群组命名。"
*/
private
String
name
;
/**
* value = "可选 自定义属性,供开发者扩展使用。", hidden = true
*/
private
String
attribute
;
/**
* "可选 自定义属性,供开发者扩展使用。"
*/
private
HashMap
attributes
;
/**
* "可选 对话类型标志,是否是系统对话,后面会说明。"
*/
private
Boolean
systemFlag
;
/**
* "未读消息条数"
*/
private
Long
msgNotReadCount
;
/**
* "成员"
*/
private
String
members
;
/**
* "会话属性,1:单聊,2:普通群,3:万人群"
*/
private
Integer
chatType
;
/**
* "群成员数"
*/
private
Integer
memberCount
;
/**
* "是否被@ true-是 false-否"
*/
private
Boolean
isBeAt
;
/**
* 禁言开关
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
/**
* "禁言开关 1-未禁言 2-禁言"
*/
private
Integer
muted
;
/**
* "禁言开关 1-未禁言 2-禁言"
*/
private
Integer
beAtCount
;
/**
* "禁止互加好友"
*/
private
Boolean
forbidAddFriend
;
/**
* "禁止发红包"
*/
private
Boolean
forbidSendRedPackets
;
/**
* "禁止发图片"
*/
private
Boolean
forbidSendPic
;
/**
* "禁止发链接"
*/
private
Boolean
forbidSendLink
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/ListConversationRequest.java
0 → 100644
View file @
1d0b0fdb
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* @Author wenzhida
* @Date 2022/5/1 9:35
* @Description 查找聊天室入参
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Builder
@Data
public
class
ListConversationRequest
extends
WebServiceRequest
{
private
static
final
long
serialVersionUID
=
-
3602523207000275557L
;
/**
* 会话属性,1:单聊,2:普通群,3:万人群
*/
private
Integer
chatType
;
/**
* 会话id列表
*/
private
List
<
Long
>
conversationIds
;
}
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