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
161b1a72
Commit
161b1a72
authored
May 06, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sdk增加群聊消息发送,群聊状态消息发送接口
parent
730b5c4e
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
329 additions
and
17 deletions
+329
-17
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
+10
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
+26
-6
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
+28
-8
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImMessageOperation.java
+49
-1
im-sdk/src/main/java/com/wecloud/im/sdk/model/GroupChatMessage.java
+1
-1
im-sdk/src/main/java/com/wecloud/im/sdk/model/GroupChatStatusMessage.java
+1
-1
im-sdk/src/main/java/com/wecloud/im/sdk/model/PrivateChatMessage.java
+62
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/PrivateChatStatusMessage.java
+43
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/PublishPrivateChatMessageRequest.java
+64
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/PublishPrivateChatStatusMessageRequest.java
+45
-0
No files found.
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
View file @
161b1a72
...
...
@@ -71,5 +71,15 @@ public class ResourcePathConstants {
*/
public
static
final
String
PUBLISH_GROUP_CHAT_STATUS_MESSAGE_REQUEST
=
"/api/imMessage/group/status/publish"
;
/**
* 发布群消息
*/
public
static
final
String
PUBLISH_PRIVATE_CHAT_MESSAGE_REQUEST
=
"/api/imMessage/private/publish"
;
/**
* 发布群状态消息
*/
public
static
final
String
PUBLISH_PRIVATE_CHAT_STATUS_MESSAGE_REQUEST
=
"/api/imMessage/private/status/publish"
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
View file @
161b1a72
...
...
@@ -5,9 +5,11 @@ import java.util.List;
import
com.wecloud.im.sdk.model.ChatRoomMember
;
import
com.wecloud.im.sdk.model.Conversation
;
import
com.wecloud.im.sdk.model.Friend
;
import
com.wecloud.im.sdk.model.GroupChatMessage
;
import
com.wecloud.im.sdk.model.GroupChatStatusMessage
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.P
ublishGroup
ChatMessage
;
import
com.wecloud.im.sdk.model.P
ublishGroup
ChatStatusMessage
;
import
com.wecloud.im.sdk.model.P
rivate
ChatMessage
;
import
com.wecloud.im.sdk.model.P
rivate
ChatStatusMessage
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.UnsureFriend
;
...
...
@@ -135,18 +137,36 @@ public interface WecloudIm {
* 发布群聊消息
* @Author luozh
* @Date 2022年05月05日 09:38:34
* @param
publishG
roupChatMessage 发布群聊消息参数
* @param
g
roupChatMessage 发布群聊消息参数
* @Return
*/
Boolean
publishGroupChatMessage
(
PublishGroupChatMessage
publishG
roupChatMessage
);
Boolean
publishGroupChatMessage
(
GroupChatMessage
g
roupChatMessage
);
/**
* 发布群聊状态消息
* @Author luozh
* @Date 2022年05月05日 09:38:34
* @param
publishGroupChats
tatusMessage 发布群聊消息参数
* @param
groupChatS
tatusMessage 发布群聊消息参数
* @Return
*/
Boolean
publishGroupChatStatusMessage
(
PublishGroupChatStatusMessage
publishGroupChatstatusMessage
);
Boolean
publishGroupChatStatusMessage
(
GroupChatStatusMessage
groupChatStatusMessage
);
/**
* 发布单聊消息
* @Author luozh
* @Date 2022年05月05日 09:38:34
* @param privateChatMessage 发布单聊消息参数
* @Return
*/
Boolean
publishPrivateMessage
(
PrivateChatMessage
privateChatMessage
);
/**
* 发布群聊状态消息
* @Author luozh
* @Date 2022年05月05日 09:38:34
* @param privateChatStatusMessage 发布群聊消息参数
* @Return
*/
Boolean
publishPrivateStatusMessage
(
PrivateChatStatusMessage
privateChatStatusMessage
);
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
View file @
161b1a72
...
...
@@ -16,15 +16,19 @@ import com.wecloud.im.sdk.model.Friend;
import
com.wecloud.im.sdk.model.FriendRequestRequest
;
import
com.wecloud.im.sdk.model.GetFriendsRequest
;
import
com.wecloud.im.sdk.model.GetUnsureFriendsRequest
;
import
com.wecloud.im.sdk.model.GroupChatMessage
;
import
com.wecloud.im.sdk.model.GroupChatStatusMessage
;
import
com.wecloud.im.sdk.model.GroupMembersFriendRequestRequest
;
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.PublishGroupChatMessage
;
import
com.wecloud.im.sdk.model.PrivateChatMessage
;
import
com.wecloud.im.sdk.model.PrivateChatStatusMessage
;
import
com.wecloud.im.sdk.model.PublishGroupChatMessageRequest
;
import
com.wecloud.im.sdk.model.PublishGroupChatStatusMessage
;
import
com.wecloud.im.sdk.model.PublishGroupChatStatusMessageRequest
;
import
com.wecloud.im.sdk.model.PublishPrivateChatMessageRequest
;
import
com.wecloud.im.sdk.model.PublishPrivateChatStatusMessageRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.SetConversationDoNotDisturbRequest
;
import
com.wecloud.im.sdk.model.SetConversationTopRequest
;
...
...
@@ -153,21 +157,37 @@ public class WecloudImClient implements WecloudIm {
}
@Override
public
Boolean
publishGroupChatMessage
(
PublishGroupChatMessage
publishG
roupChatMessage
)
{
Assert
.
notNull
(
publishG
roupChatMessage
);
PublishGroupChatMessageRequest
request
=
BeanUtil
.
toBean
(
publishG
roupChatMessage
,
public
Boolean
publishGroupChatMessage
(
GroupChatMessage
g
roupChatMessage
)
{
Assert
.
notNull
(
g
roupChatMessage
);
PublishGroupChatMessageRequest
request
=
BeanUtil
.
toBean
(
g
roupChatMessage
,
PublishGroupChatMessageRequest
.
class
);
return
wecloudImMessageOperation
.
publishGroupChatMessage
(
request
);
}
@Override
public
Boolean
publishGroupChatStatusMessage
(
PublishGroupChatStatusMessage
publishG
roupChatstatusMessage
)
{
Assert
.
notNull
(
publishG
roupChatstatusMessage
);
PublishGroupChatStatusMessageRequest
request
=
BeanUtil
.
toBean
(
publishG
roupChatstatusMessage
,
public
Boolean
publishGroupChatStatusMessage
(
GroupChatStatusMessage
g
roupChatstatusMessage
)
{
Assert
.
notNull
(
g
roupChatstatusMessage
);
PublishGroupChatStatusMessageRequest
request
=
BeanUtil
.
toBean
(
g
roupChatstatusMessage
,
PublishGroupChatStatusMessageRequest
.
class
);
return
wecloudImMessageOperation
.
publishGroupChatStatusMessage
(
request
);
}
@Override
public
Boolean
publishPrivateMessage
(
PrivateChatMessage
privateChatMessage
)
{
Assert
.
notNull
(
privateChatMessage
);
PublishPrivateChatMessageRequest
request
=
BeanUtil
.
toBean
(
privateChatMessage
,
PublishPrivateChatMessageRequest
.
class
);
return
wecloudImMessageOperation
.
publishPrivateMessage
(
request
);
}
@Override
public
Boolean
publishPrivateStatusMessage
(
PrivateChatStatusMessage
privateChatStatusMessage
)
{
Assert
.
notNull
(
privateChatStatusMessage
);
PublishPrivateChatStatusMessageRequest
request
=
BeanUtil
.
toBean
(
privateChatStatusMessage
,
PublishPrivateChatStatusMessageRequest
.
class
);
return
null
;
}
private
void
initOperations
()
{
this
.
imClientOperation
=
new
WecloudImClientOperation
(
apiDomain
,
appKey
,
appSecret
);
this
.
imConversationOperation
=
new
WecloudImConversationOperation
(
apiDomain
,
appKey
,
appSecret
);
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImMessageOperation.java
View file @
161b1a72
...
...
@@ -10,9 +10,13 @@ import com.wecloud.im.sdk.common.HttpMethod;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.model.PublishGroupChatMessageRequest
;
import
com.wecloud.im.sdk.model.PublishGroupChatStatusMessageRequest
;
import
com.wecloud.im.sdk.model.PublishPrivateChatMessageRequest
;
import
com.wecloud.im.sdk.model.PublishPrivateChatStatusMessageRequest
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
PUBLISH_GROUP_CHAT_MESSAGE_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
PUBLISH_GROUP_CHAT_STATUS_MESSAGE_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
PUBLISH_PRIVATE_CHAT_MESSAGE_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
PUBLISH_PRIVATE_CHAT_STATUS_MESSAGE_REQUEST
;
import
static
com
.
wecloud
.
im
.
sdk
.
utils
.
CodingUtils
.
assertParameterNotNull
;
/**
...
...
@@ -64,7 +68,6 @@ public class WecloudImMessageOperation extends WecloudImOperation {
* @Return
*/
public
Boolean
publishGroupChatStatusMessage
(
PublishGroupChatStatusMessageRequest
publishGroupChatStatusMessageRequest
)
{
String
fromUserId
=
publishGroupChatStatusMessageRequest
.
getFromUserId
();
String
toGroupIds
=
publishGroupChatStatusMessageRequest
.
getToGroupIds
();
String
messageType
=
publishGroupChatStatusMessageRequest
.
getMessageType
();
...
...
@@ -86,4 +89,49 @@ public class WecloudImMessageOperation extends WecloudImOperation {
return
true
;
}
public
Boolean
publishPrivateMessage
(
PublishPrivateChatMessageRequest
publishPrivateChatMessageRequest
)
{
String
fromUserId
=
publishPrivateChatMessageRequest
.
getFromUserId
();
String
toUserIds
=
publishPrivateChatMessageRequest
.
getToUserIds
();
String
messageType
=
publishPrivateChatMessageRequest
.
getMessageType
();
String
content
=
publishPrivateChatMessageRequest
.
getContent
();
// 必填参数校验
assertParameterNotNull
(
fromUserId
,
"fromUserId"
);
assertParameterNotNull
(
toUserIds
,
"toUserIds"
);
assertParameterNotNull
(
messageType
,
"messageType"
);
assertParameterNotNull
(
content
,
"content"
);
// 校验通过 构建参数
TypeReference
<
Map
<
String
,
String
>>
typeReference
=
new
TypeReference
<
Map
<
String
,
String
>>()
{
};
Map
<
String
,
String
>
param
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
publishPrivateChatMessageRequest
),
typeReference
);
// 发送请求
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
PUBLISH_PRIVATE_CHAT_MESSAGE_REQUEST
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setOriginalRequest
(
publishPrivateChatMessageRequest
).
build
();
doOperation
(
request
);
return
true
;
}
public
Boolean
publishPrivateStatusMessage
(
PublishPrivateChatStatusMessageRequest
publishPrivateChatStatusMessageRequest
)
{
String
fromUserId
=
publishPrivateChatStatusMessageRequest
.
getFromUserId
();
String
toUserIds
=
publishPrivateChatStatusMessageRequest
.
getToUserIds
();
String
messageType
=
publishPrivateChatStatusMessageRequest
.
getMessageType
();
String
content
=
publishPrivateChatStatusMessageRequest
.
getContent
();
// 必填参数校验
assertParameterNotNull
(
fromUserId
,
"fromUserId"
);
assertParameterNotNull
(
toUserIds
,
"toUserIds"
);
assertParameterNotNull
(
messageType
,
"messageType"
);
assertParameterNotNull
(
content
,
"content"
);
// 校验通过 构建参数
TypeReference
<
Map
<
String
,
String
>>
typeReference
=
new
TypeReference
<
Map
<
String
,
String
>>()
{
};
Map
<
String
,
String
>
param
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
publishPrivateChatStatusMessageRequest
),
typeReference
);
// 发送请求
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
PUBLISH_PRIVATE_CHAT_STATUS_MESSAGE_REQUEST
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setOriginalRequest
(
publishPrivateChatStatusMessageRequest
).
build
();
doOperation
(
request
);
return
true
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/
Publish
GroupChatMessage.java
→
im-sdk/src/main/java/com/wecloud/im/sdk/model/GroupChatMessage.java
View file @
161b1a72
...
...
@@ -9,7 +9,7 @@ import lombok.Data;
* @Version 1.0
*/
@Data
public
class
Publish
GroupChatMessage
{
public
class
GroupChatMessage
{
/**
* 发送人客户端id
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/model/
Publish
GroupChatStatusMessage.java
→
im-sdk/src/main/java/com/wecloud/im/sdk/model/GroupChatStatusMessage.java
View file @
161b1a72
...
...
@@ -9,7 +9,7 @@ import lombok.Data;
* @Version 1.0
*/
@Data
public
class
Publish
GroupChatStatusMessage
{
public
class
GroupChatStatusMessage
{
/**
* 发送人客户端id
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/model/PrivateChatMessage.java
0 → 100644
View file @
161b1a72
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Data
;
/**
* 单聊消息
* @Author luozh
* @Date 2022年05月05日 11:49
* @Version 1.0
*/
@Data
public
class
PrivateChatMessage
{
/**
* 发送人客户端id
*/
private
String
fromUserId
;
/**
* 指定一个或多个用户
*/
private
String
toUserIds
;
/**
* 消息类型
*/
private
String
messageType
;
/**
* 消息
*/
private
String
content
;
/**
* 指定离线推送通知中的推送内容
*/
private
String
pushContent
;
/**
* 是否包含发送用户
*/
private
Boolean
includeSender
;
/**
* 是否过滤黑名单
*/
private
Boolean
includeBlacklist
;
/**
* 是否存储此条消息
*/
private
Boolean
persisted
;
/**
* 是否为静默消息
*/
private
Boolean
silent
;
/**
* 推送拓展配置
*/
private
PushExtParam
pushExt
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/PrivateChatStatusMessage.java
0 → 100644
View file @
161b1a72
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Data
;
/**
*
* @Author luozh
* @Date 2022年05月05日 10:08
* @Version 1.0
*/
@Data
public
class
PrivateChatStatusMessage
{
/**
* 发送人客户端id
*/
private
String
fromUserId
;
/**
* 接收群id
*/
private
String
toUserIds
;
/**
* 消息类型
*/
private
String
messageType
;
/**
* 消息
*/
private
String
content
;
/**
* 是否过滤黑名单
*/
private
Boolean
includeBlacklist
;
/**
* 发送用户是否接收
*/
private
Boolean
includeSender
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/PublishPrivateChatMessageRequest.java
0 → 100644
View file @
161b1a72
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 单聊消息
* @Author luozh
* @Date 2022年05月05日 11:49
* @Version 1.0
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
PublishPrivateChatMessageRequest
extends
WebServiceRequest
{
/**
* 发送人客户端id
*/
private
String
fromUserId
;
/**
* 指定一个或多个用户
*/
private
String
toUserIds
;
/**
* 消息类型
*/
private
String
messageType
;
/**
* 消息
*/
private
String
content
;
/**
* 指定离线推送通知中的推送内容
*/
private
String
pushContent
;
/**
* 是否包含发送用户
*/
private
Boolean
includeSender
;
/**
* 是否过滤黑名单
*/
private
Boolean
includeBlacklist
;
/**
* 是否存储此条消息
*/
private
Boolean
persisted
;
/**
* 是否为静默消息
*/
private
Boolean
silent
;
/**
* 推送拓展配置
*/
private
PushExtParam
pushExt
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/PublishPrivateChatStatusMessageRequest.java
0 → 100644
View file @
161b1a72
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
*
* @Author luozh
* @Date 2022年05月05日 10:08
* @Version 1.0
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
PublishPrivateChatStatusMessageRequest
extends
WebServiceRequest
{
/**
* 发送人客户端id
*/
private
String
fromUserId
;
/**
* 接收群id
*/
private
String
toUserIds
;
/**
* 消息类型
*/
private
String
messageType
;
/**
* 消息
*/
private
String
content
;
/**
* 是否过滤黑名单
*/
private
Boolean
includeBlacklist
;
/**
* 发送用户是否接收
*/
private
Boolean
includeSender
;
}
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