Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
im-common
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈永峰
im-common
Commits
faced426
Unverified
Commit
faced426
authored
Aug 04, 2021
by
Yang Libin
Committed by
GitHub
Aug 04, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add group api and unit test (#25)
parent
14029f97
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
852 additions
and
98 deletions
+852
-98
README.md
README.md
+48
-95
pom.xml
pom.xml
+1
-1
IMClient.java
src/main/java/io/github/doocs/im/IMClient.java
+8
-0
Group.java
src/main/java/io/github/doocs/im/core/Group.java
+84
-0
Main.java
src/main/java/io/github/doocs/im/core/Main.java
+39
-0
ImportGroupMsgListItem.java
...github/doocs/im/model/request/ImportGroupMsgListItem.java
+56
-0
ImportGroupMsgRequest.java
.../github/doocs/im/model/request/ImportGroupMsgRequest.java
+17
-2
ChangeGroupOwnerResult.java
...ithub/doocs/im/model/response/ChangeGroupOwnerResult.java
+8
-0
DeleteGroupMemberResult.java
...thub/doocs/im/model/response/DeleteGroupMemberResult.java
+9
-0
DestroyGroupResult.java
...io/github/doocs/im/model/response/DestroyGroupResult.java
+9
-0
ForbidSendMsgResult.java
...o/github/doocs/im/model/response/ForbidSendMsgResult.java
+8
-0
GetGroupShuttedUinResult.java
...hub/doocs/im/model/response/GetGroupShuttedUinResult.java
+21
-0
GetJoinGroupListResult.java
...ithub/doocs/im/model/response/GetJoinGroupListResult.java
+25
-0
GetRoleInGroupResult.java
.../github/doocs/im/model/response/GetRoleInGroupResult.java
+29
-0
GroupIdListIResultItem.java
...ithub/doocs/im/model/response/GroupIdListIResultItem.java
+75
-0
GroupMsgRecallResult.java
.../github/doocs/im/model/response/GroupMsgRecallResult.java
+21
-0
ImportGroupMemberResult.java
...thub/doocs/im/model/response/ImportGroupMemberResult.java
+21
-0
ImportGroupMsgResult.java
.../github/doocs/im/model/response/ImportGroupMsgResult.java
+21
-0
ImportGroupResult.java
.../io/github/doocs/im/model/response/ImportGroupResult.java
+12
-0
ImportMsgResultItem.java
...o/github/doocs/im/model/response/ImportMsgResultItem.java
+27
-0
MemberListResultItem.java
.../github/doocs/im/model/response/MemberListResultItem.java
+23
-0
ModifyGroupMemberInfoResult.java
.../doocs/im/model/response/ModifyGroupMemberInfoResult.java
+8
-0
RecallRetItem.java
...java/io/github/doocs/im/model/response/RecallRetItem.java
+23
-0
SendGroupMsgResult.java
...io/github/doocs/im/model/response/SendGroupMsgResult.java
+23
-0
SendGroupSystemNotificationResult.java
.../im/model/response/SendGroupSystemNotificationResult.java
+8
-0
ShuttedUinResultItem.java
.../github/doocs/im/model/response/ShuttedUinResultItem.java
+23
-0
UserIdListItem.java
...ava/io/github/doocs/im/model/response/UserIdListItem.java
+39
-0
GroupTest.java
src/test/java/io/github/doocs/im/GroupTest.java
+166
-0
No files found.
README.md
View file @
faced426
#
腾讯云 IM 服务端 SDK Java 版
#
Tencent Cloud IM Server SDK in Java
[
![license
](
https://img.shields.io/github/license/doocs/qcloud-im-server-sdk-java?color=42b883&style=flat-square
)
](./LICENSE)
## API 清单
### 1. 帐号管理
-
[
x
]
导入单个帐号
-
[
x
]
导入多个帐号
-
[
x
]
删除帐号
-
[
x
]
查询帐号
-
[
x
]
失效帐号登录状态
-
[
x
]
查询帐号在线状态
### 2. 单聊消息
-
[
x
]
单发单聊消息
-
[
x
]
批量发单聊消息
-
[
x
]
导入单聊消息
-
[
x
]
查询单聊消息
-
[
x
]
撤回单聊消息
-
[
x
]
设置单聊消息已读
-
[
x
]
查询单聊未读消息计数
### 3. 全员推送
-
[
x
]
全员推送
-
[
x
]
设置应用属性名称
-
[
x
]
获取应用属性名称
-
[
x
]
获取用户属性
-
[
x
]
设置用户属性
-
[
x
]
删除用户属性
-
[
x
]
获取用户标签
-
[
x
]
添加用户标签
-
[
x
]
删除用户标签
-
[
x
]
删除用户所有标签
### 4. 资料管理
-
[
x
]
设置资料
-
[
x
]
拉取资料
### 5. 关系链管理
-
[
x
]
添加好友
-
[
x
]
导入好友
-
[
x
]
更新好友
-
[
x
]
删除好友
-
[
x
]
删除所有好友
-
[
x
]
校验好友
-
[
x
]
拉取好友
-
[
x
]
拉取指定好友
-
[
x
]
添加黑名单
-
[
x
]
删除黑名单
-
[
x
]
拉取黑名单
-
[
x
]
校验黑名单
-
[
x
]
添加分组
-
[
x
]
删除分组
-
[
x
]
拉取分组
### 6. 群组管理
-
[
x
]
获取 App 中的所有群组
-
[
x
]
创建群组
-
[
x
]
获取群详细资料
-
[
x
]
获取群成员详细资料
-
[
x
]
修改群基础资料
-
[
x
]
增加群成员
-
[
]
删除群成员
-
[
]
修改群成员资料
-
[
]
解散群组
-
[
]
获取用户所加入的群组
-
[
]
查询用户在群组中的身份
-
[
]
批量禁言和取消禁言
-
[
]
获取被禁言群成员列表
-
[
]
获取被禁言群成员列表
-
[
]
在群组中发送系统通知
-
[
]
转让群主
-
[
]
撤回群消息
-
[
]
导入群基础资料
-
[
]
导入群消息
-
[
]
导入群成员
-
[
x
]
设置成员未读消息计数
-
[
x
]
撤回指定用户发送的消息
-
[
x
]
拉取群历史消息
-
[
x
]
获取直播群在线人数
### 7. 全局禁言管理
-
[
x
]
设置全局禁言
-
[
x
]
查询全局禁言
### 8. 运营管理
-
[
x
]
拉取运营数据
-
[
x
]
下载最近消息记录
-
[
x
]
获取服务器 IP 地址
## Installation and Getting Started
### 1. Maven Configuration
Add the Maven dependency:
```
xml
<dependency>
<groupId>
io.github.doocs
</groupId>
<artifactId>
im-server-sdk-java
</artifactId>
<version>
0.0.2
</version>
</dependency>
```
### 2. Getting Started
Here is a quick teaser of an application using IM SDK in Java:
```
java
public
class
Main
{
public
static
void
main
(
String
[]
args
)
{
// type your sdkAppId here
long
appId
=
1400554812
;
// type your adminUserId here
String
identifier
=
"test"
;
// type your applicationKey here
String
key
=
"60c6c5925f3ae52c7325ac5a8ec78e44c056d1dd84d54e12ffa39911267a2a70"
;
// create ImClient instance
IMClient
client
=
IMClient
.
getInstance
(
appId
,
identifier
,
key
);
// import account
AccountImportRequest
request
=
new
AccountImportRequest
();
request
.
setFaceUrl
(
"https://avatars.githubusercontent.com/u/21008209?v=4"
);
request
.
setIdentifier
(
"ylb"
);
request
.
setNick
(
"nickname"
);
try
{
AccountImportResult
result
=
client
.
account
.
accountImport
(
request
);
System
.
out
.
println
(
result
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
```
## License
...
...
pom.xml
View file @
faced426
...
...
@@ -6,7 +6,7 @@
<groupId>
io.github.doocs
</groupId>
<artifactId>
im-server-sdk-java
</artifactId>
<version>
0.0.
2
</version>
<version>
0.0.
3
</version>
<packaging>
jar
</packaging>
<name>
qcloud-im-server-sdk-java
</name>
...
...
src/main/java/io/github/doocs/im/IMClient.java
View file @
faced426
...
...
@@ -67,4 +67,12 @@ public class IMClient {
return
String
.
format
(
FORMAT_URL
,
this
.
version
,
serviceName
,
command
,
this
.
sdkAppId
,
this
.
userId
,
this
.
userSig
,
random
);
}
@Override
public
String
toString
()
{
return
"IMClient{"
+
"sdkAppId="
+
sdkAppId
+
", userId='"
+
userId
+
'\''
+
'}'
;
}
}
src/main/java/io/github/doocs/im/core/Group.java
View file @
faced426
...
...
@@ -83,6 +83,90 @@ public class Group {
return
JsonUtil
.
str2Obj
(
result
,
AddGroupMemberResult
.
class
);
}
public
DeleteGroupMemberResult
deleteGroupMember
(
DeleteGroupMemberRequest
deleteGroupMemberRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
DELETE_GROUP_MEMBER_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
deleteGroupMemberRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
DeleteGroupMemberResult
.
class
);
}
public
ModifyGroupMemberInfoResult
modifyGroupMemberInfo
(
ModifyGroupMemberInfoRequest
modifyGroupMemberInfoRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
MODIFY_GROUP_MEMBER_INFO_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
modifyGroupMemberInfoRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
ModifyGroupMemberInfoResult
.
class
);
}
public
DestroyGroupResult
destroyGroup
(
DestroyGroupRequest
destroyGroupRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
DESTROY_GROUP_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
destroyGroupRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
DestroyGroupResult
.
class
);
}
public
GetJoinGroupListResult
getJoinGroupList
(
GetJoinedGroupListRequest
getJoinedGroupListRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
GET_JOINED_GROUP_LIST_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
getJoinedGroupListRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
GetJoinGroupListResult
.
class
);
}
public
GetRoleInGroupResult
getRoleInGroup
(
GetRoleInGroupRequest
getRoleInGroupRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
GET_ROLE_IN_GROUP_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
getRoleInGroupRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
GetRoleInGroupResult
.
class
);
}
public
ForbidSendMsgResult
forbidSendMsg
(
ForbidSendMsgRequest
forbidSendMsgRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
FORBID_SEND_MSG_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
forbidSendMsgRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
ForbidSendMsgResult
.
class
);
}
public
GetGroupShuttedUinResult
getGroupShuttedUin
(
GetGroupShuttedUinRequest
getGroupShuttedUinRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
GET_GROUP_SHUTTED_UIN_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
getGroupShuttedUinRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
GetGroupShuttedUinResult
.
class
);
}
public
SendGroupMsgResult
sendGroupMsg
(
SendGroupMsgRequest
sendGroupMsgRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
SEND_GROUP_MSG_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
sendGroupMsgRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
SendGroupMsgResult
.
class
);
}
public
SendGroupSystemNotificationResult
sendGroupSystemNotification
(
SendGroupSystemNotificationRequest
sendGroupSystemNotificationRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
SEND_GROUP_SYSTEM_NOTIFICATION_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
sendGroupSystemNotificationRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
SendGroupSystemNotificationResult
.
class
);
}
public
ChangeGroupOwnerResult
changeGroupOwner
(
ChangeGroupOwnerRequest
changeGroupOwnerRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
CHANGE_GROUP_OWNER_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
changeGroupOwnerRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
ChangeGroupOwnerResult
.
class
);
}
public
GroupMsgRecallResult
groupMsgRecall
(
GroupMsgRecallRequest
groupMsgRecallRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
GROUP_MSG_RECALL_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
groupMsgRecallRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
GroupMsgRecallResult
.
class
);
}
public
ImportGroupResult
importGroup
(
ImportGroupRequest
importGroupRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
IMPORT_GROUP_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
importGroupRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
ImportGroupResult
.
class
);
}
public
ImportGroupMsgResult
importGroupMsg
(
ImportGroupMsgRequest
importGroupMsgRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
IMPORT_GROUP_MSG_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
importGroupMsgRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
ImportGroupMsgResult
.
class
);
}
public
ImportGroupMemberResult
importGroupMember
(
ImportGroupMemberRequest
importGroupMemberRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
IMPORT_GROUP_MEMBER_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
importGroupMemberRequest
),
null
);
return
JsonUtil
.
str2Obj
(
result
,
ImportGroupMemberResult
.
class
);
}
public
SetUnreadMsgNumResult
setUnreadMsgNum
(
SetUnreadMsgNumRequest
setUnreadMsgNumRequest
)
throws
IOException
{
String
url
=
imClient
.
getUrl
(
SERVICE_NAME
,
SET_UNREAD_MSG_NUM_COMMAND
);
String
result
=
HttpUtil
.
post
(
url
,
JsonUtil
.
obj2Str
(
setUnreadMsgNumRequest
),
null
);
...
...
src/main/java/io/github/doocs/im/core/Main.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
core
;
import
io.github.doocs.im.IMClient
;
import
io.github.doocs.im.model.request.AccountImportRequest
;
import
io.github.doocs.im.model.response.AccountImportResult
;
import
java.io.IOException
;
/**
* @author bingo
* @since 2021/8/4 15:40
*/
public
class
Main
{
public
static
void
main
(
String
[]
args
)
{
// type your sdkAppId here
long
appId
=
1400554812
;
// type your adminUserId here
String
identifier
=
"test"
;
// type your applicationKey here
String
key
=
"60c6c5925f3ae52c7325ac5a8ec78e44c056d1dd84d54e12ffa39911267a2a70"
;
// create ImClient instance
IMClient
client
=
IMClient
.
getInstance
(
appId
,
identifier
,
key
);
// import account
AccountImportRequest
request
=
new
AccountImportRequest
();
request
.
setFaceUrl
(
"https://avatars.githubusercontent.com/u/21008209?v=4"
);
request
.
setIdentifier
(
"ylb"
);
request
.
setNick
(
"nickname"
);
try
{
AccountImportResult
result
=
client
.
account
.
accountImport
(
request
);
System
.
out
.
println
(
result
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
src/main/java/io/github/doocs/im/model/request/ImportGroupMsgListItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
request
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
io.github.doocs.im.model.response.MsgBodyItem
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 15:23
*/
public
class
ImportGroupMsgListItem
{
@JsonProperty
(
"From_Account"
)
private
String
fromAccount
;
@JsonProperty
(
"SendTime"
)
private
Integer
sendTime
;
@JsonProperty
(
"Random"
)
private
Integer
random
;
@JsonProperty
(
"MsgBody"
)
private
List
<
MsgBodyItem
>
msgBody
;
public
String
getFromAccount
()
{
return
fromAccount
;
}
public
void
setFromAccount
(
String
fromAccount
)
{
this
.
fromAccount
=
fromAccount
;
}
public
Integer
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
Integer
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
public
Integer
getRandom
()
{
return
random
;
}
public
void
setRandom
(
Integer
random
)
{
this
.
random
=
random
;
}
public
List
<
MsgBodyItem
>
getMsgBody
()
{
return
msgBody
;
}
public
void
setMsgBody
(
List
<
MsgBodyItem
>
msgBody
)
{
this
.
msgBody
=
msgBody
;
}
}
src/main/java/io/github/doocs/im/model/request/ImportGroupMsgRequest.java
View file @
faced426
...
...
@@ -2,7 +2,6 @@ package io.github.doocs.im.model.request;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
io.github.doocs.im.model.response.MsgListItem
;
import
java.util.List
;
...
...
@@ -16,5 +15,21 @@ public class ImportGroupMsgRequest extends GenericRequest {
private
String
groupId
;
@JsonProperty
(
"MsgList"
)
private
List
<
MsgListItem
>
msgList
;
private
List
<
ImportGroupMsgListItem
>
msgList
;
public
String
getGroupId
()
{
return
groupId
;
}
public
void
setGroupId
(
String
groupId
)
{
this
.
groupId
=
groupId
;
}
public
List
<
ImportGroupMsgListItem
>
getMsgList
()
{
return
msgList
;
}
public
void
setMsgList
(
List
<
ImportGroupMsgListItem
>
msgList
)
{
this
.
msgList
=
msgList
;
}
}
src/main/java/io/github/doocs/im/model/response/ChangeGroupOwnerResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
/**
* @author bingo
* @since 2021/8/4 11:36
*/
public
class
ChangeGroupOwnerResult
extends
GenericResult
{
}
src/main/java/io/github/doocs/im/model/response/DeleteGroupMemberResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
/**
* @author bingo
* @since 2021/8/4 10:40
*/
public
class
DeleteGroupMemberResult
extends
GenericResult
{
}
src/main/java/io/github/doocs/im/model/response/DestroyGroupResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
/**
* @author bingo
* @since 2021/8/4 10:43
*/
public
class
DestroyGroupResult
extends
GenericResult
{
}
src/main/java/io/github/doocs/im/model/response/ForbidSendMsgResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
/**
* @author bingo
* @since 2021/8/4 11:19
*/
public
class
ForbidSendMsgResult
extends
GenericResult
{
}
src/main/java/io/github/doocs/im/model/response/GetGroupShuttedUinResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 11:22
*/
public
class
GetGroupShuttedUinResult
extends
GenericResult
{
@JsonProperty
(
"ShuttedUinList"
)
private
List
<
ShuttedUinResultItem
>
shuttedUinList
;
@Override
public
String
toString
()
{
return
"GetGroupShuttedUinResult{"
+
"shuttedUinList="
+
shuttedUinList
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/GetJoinGroupListResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 10:45
*/
public
class
GetJoinGroupListResult
extends
GenericResult
{
@JsonProperty
(
"TotalCount"
)
private
Integer
totalCount
;
@JsonProperty
(
"GroupIdList"
)
private
List
<
GroupIdListIResultItem
>
groupIdList
;
@Override
public
String
toString
()
{
return
"GetJoinGroupListResult{"
+
"totalCount="
+
totalCount
+
", groupIdList="
+
groupIdList
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/GetRoleInGroupResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 11:05
*/
public
class
GetRoleInGroupResult
extends
GenericResult
{
@JsonProperty
(
"UserIdList"
)
private
List
<
UserIdListItem
>
userIdList
;
public
List
<
UserIdListItem
>
getUserIdList
()
{
return
userIdList
;
}
public
void
setUserIdList
(
List
<
UserIdListItem
>
userIdList
)
{
this
.
userIdList
=
userIdList
;
}
@Override
public
String
toString
()
{
return
"GetRoleInGroupResult{"
+
"userIdList="
+
userIdList
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/GroupIdListIResultItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 10:48
*/
public
class
GroupIdListIResultItem
{
@JsonProperty
(
"GroupId"
)
private
String
groupId
;
@JsonProperty
(
"Type"
)
private
String
type
;
@JsonProperty
(
"Name"
)
private
String
name
;
@JsonProperty
(
"Introduction"
)
private
String
introduction
;
@JsonProperty
(
"Notification"
)
private
String
notification
;
@JsonProperty
(
"FaceUrl"
)
private
String
faceUrl
;
@JsonProperty
(
"Owner_Account"
)
private
String
ownerAccount
;
@JsonProperty
(
"CreateTime"
)
private
Integer
createTime
;
@JsonProperty
(
"InfoSeq"
)
private
Integer
infoSeq
;
@JsonProperty
(
"LastInfoTime"
)
private
Integer
lastInfoTime
;
@JsonProperty
(
"LastMsgTime"
)
private
Integer
lastMsgTime
;
@JsonProperty
(
"NextMsgSeq"
)
private
Integer
nextMsgSeq
;
@JsonProperty
(
"MemberNum"
)
private
Integer
memberNum
;
@JsonProperty
(
"MaxMemberNum"
)
private
Integer
maxMemberNum
;
@JsonProperty
(
"ApplyJoinOption"
)
private
String
applyJoinOption
;
@Override
public
String
toString
()
{
return
"GroupIdListIResultItem{"
+
"groupId='"
+
groupId
+
'\''
+
", type='"
+
type
+
'\''
+
", name='"
+
name
+
'\''
+
", introduction='"
+
introduction
+
'\''
+
", notification='"
+
notification
+
'\''
+
", faceUrl='"
+
faceUrl
+
'\''
+
", ownerAccount='"
+
ownerAccount
+
'\''
+
", createTime="
+
createTime
+
", infoSeq="
+
infoSeq
+
", lastInfoTime="
+
lastInfoTime
+
", lastMsgTime="
+
lastMsgTime
+
", nextMsgSeq="
+
nextMsgSeq
+
", memberNum="
+
memberNum
+
", maxMemberNum="
+
maxMemberNum
+
", applyJoinOption='"
+
applyJoinOption
+
'\''
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/GroupMsgRecallResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 11:39
*/
public
class
GroupMsgRecallResult
extends
GenericResult
{
@JsonProperty
(
"RecallRetList"
)
private
List
<
RecallRetItem
>
recallRetList
;
@Override
public
String
toString
()
{
return
"GroupMsgRecallResult{"
+
"recallRetList="
+
recallRetList
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/ImportGroupMemberResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 11:50
*/
public
class
ImportGroupMemberResult
extends
GenericResult
{
@JsonProperty
(
"MemberList"
)
private
List
<
MemberListResultItem
>
memberList
;
@Override
public
String
toString
()
{
return
"ImportGroupMemberResult{"
+
"memberList="
+
memberList
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/ImportGroupMsgResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
java.util.List
;
/**
* @author bingo
* @since 2021/8/4 11:45
*/
public
class
ImportGroupMsgResult
extends
GenericResult
{
@JsonProperty
(
"ImportMsgResult"
)
private
List
<
ImportMsgResultItem
>
importMsgResult
;
@Override
public
String
toString
()
{
return
"ImportGroupMsgResult{"
+
"importMsgResult="
+
importMsgResult
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/ImportGroupResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:44
*/
public
class
ImportGroupResult
extends
GenericResult
{
@JsonProperty
(
"GroupId"
)
private
String
groupId
;
}
src/main/java/io/github/doocs/im/model/response/ImportMsgResultItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:46
*/
public
class
ImportMsgResultItem
{
@JsonProperty
(
"MsgSeq"
)
private
Integer
msgSeq
;
@JsonProperty
(
"MsgTime"
)
private
Integer
msgTime
;
@JsonProperty
(
"Result"
)
private
Integer
result
;
@Override
public
String
toString
()
{
return
"ImportMsgResultItem{"
+
"msgSeq="
+
msgSeq
+
", msgTime="
+
msgTime
+
", result="
+
result
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/MemberListResultItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:50
*/
public
class
MemberListResultItem
{
@JsonProperty
(
"Member_Account"
)
private
String
memberAccount
;
@JsonProperty
(
"Result"
)
private
Integer
result
;
@Override
public
String
toString
()
{
return
"MemberListResultItem{"
+
"memberAccount='"
+
memberAccount
+
'\''
+
", result="
+
result
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/ModifyGroupMemberInfoResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
/**
* @author bingo
* @since 2021/8/4 10:42
*/
public
class
ModifyGroupMemberInfoResult
extends
GenericResult
{
}
src/main/java/io/github/doocs/im/model/response/RecallRetItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:41
*/
public
class
RecallRetItem
{
@JsonProperty
(
"MsgSeq"
)
private
Integer
msgSeq
;
@JsonProperty
(
"RetCode"
)
private
Integer
retCode
;
@Override
public
String
toString
()
{
return
"RecallRetItem{"
+
"msgSeq="
+
msgSeq
+
", retCode="
+
retCode
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/SendGroupMsgResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:25
*/
public
class
SendGroupMsgResult
extends
GenericResult
{
@JsonProperty
(
"MsgTime"
)
private
Integer
msgTime
;
@JsonProperty
(
"msgSeq"
)
private
Integer
msgSeq
;
@Override
public
String
toString
()
{
return
"SendGroupMsgResult{"
+
"msgTime="
+
msgTime
+
", msgSeq="
+
msgSeq
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/SendGroupSystemNotificationResult.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
/**
* @author bingo
* @since 2021/8/4 11:32
*/
public
class
SendGroupSystemNotificationResult
extends
GenericResult
{
}
src/main/java/io/github/doocs/im/model/response/ShuttedUinResultItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:23
*/
public
class
ShuttedUinResultItem
{
@JsonProperty
(
"Member_Account"
)
private
String
memberAccount
;
@JsonProperty
(
"ShuttedUntil"
)
private
Integer
shuttedUntil
;
@Override
public
String
toString
()
{
return
"ShuttedUinResultItem{"
+
"memberAccount='"
+
memberAccount
+
'\''
+
", shuttedUntil="
+
shuttedUntil
+
'}'
;
}
}
src/main/java/io/github/doocs/im/model/response/UserIdListItem.java
0 → 100644
View file @
faced426
package
io
.
github
.
doocs
.
im
.
model
.
response
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author bingo
* @since 2021/8/4 11:07
*/
public
class
UserIdListItem
{
@JsonProperty
(
"Member_Account"
)
private
String
memberAccount
;
@JsonProperty
(
"Role"
)
private
String
role
;
public
String
getMemberAccount
()
{
return
memberAccount
;
}
public
void
setMemberAccount
(
String
memberAccount
)
{
this
.
memberAccount
=
memberAccount
;
}
public
String
getRole
()
{
return
role
;
}
public
void
setRole
(
String
role
)
{
this
.
role
=
role
;
}
@Override
public
String
toString
()
{
return
"UserIdListItem{"
+
"memberAccount='"
+
memberAccount
+
'\''
+
", role='"
+
role
+
'\''
+
'}'
;
}
}
src/test/java/io/github/doocs/im/GroupTest.java
View file @
faced426
...
...
@@ -112,6 +112,172 @@ public class GroupTest {
}
@Test
public
void
testDeleteGroupMember
()
throws
IOException
{
DeleteGroupMemberRequest
request
=
new
DeleteGroupMemberRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
request
.
setMemberToDelAccount
(
Collections
.
singletonList
(
"test1"
));
DeleteGroupMemberResult
result
=
client
.
group
.
deleteGroupMember
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testModifyGroupMemberInfo
()
throws
IOException
{
ModifyGroupMemberInfoRequest
request
=
new
ModifyGroupMemberInfoRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
request
.
setNameCard
(
"hello world"
);
request
.
setMemberAccount
(
"test1"
);
ModifyGroupMemberInfoResult
result
=
client
.
group
.
modifyGroupMemberInfo
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testDestroyGroup
()
throws
IOException
{
DestroyGroupRequest
request
=
new
DestroyGroupRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
DestroyGroupResult
result
=
client
.
group
.
destroyGroup
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testGetJoinGroupList
()
throws
IOException
{
GetJoinedGroupListRequest
request
=
new
GetJoinedGroupListRequest
();
request
.
setMemberAccount
(
"bingo"
);
GetJoinGroupListResult
result
=
client
.
group
.
getJoinGroupList
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testGetRoleInGroup
()
throws
IOException
{
GetRoleInGroupRequest
request
=
new
GetRoleInGroupRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
request
.
setUserAccount
(
Collections
.
singletonList
(
"bingo"
));
GetRoleInGroupResult
result
=
client
.
group
.
getRoleInGroup
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testForbidSendMsg
()
throws
IOException
{
ForbidSendMsgRequest
request
=
new
ForbidSendMsgRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
request
.
setMembersAccount
(
Collections
.
singletonList
(
"bingo"
));
request
.
setShutUpTime
(
200
);
ForbidSendMsgResult
result
=
client
.
group
.
forbidSendMsg
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testGetGroupShuttedUin
()
throws
IOException
{
GetGroupShuttedUinRequest
request
=
new
GetGroupShuttedUinRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
GetGroupShuttedUinResult
result
=
client
.
group
.
getGroupShuttedUin
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testSendGroupMsg
()
throws
IOException
{
SendGroupMsgRequest
request
=
new
SendGroupMsgRequest
();
request
.
setRandom
(
1212
);
request
.
setGroupId
(
"MyFirstGroup"
);
MsgBodyItem
item
=
new
MsgBodyItem
();
item
.
setMsgType
(
"TIMTextElem"
);
MsgContentItem
contentItem
=
new
MsgContentItem
();
contentItem
.
setText
(
"red packet"
);
item
.
setMsgContent
(
contentItem
);
request
.
setMsgBody
(
Collections
.
singletonList
(
item
));
SendGroupMsgResult
result
=
client
.
group
.
sendGroupMsg
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testSendGroupSystemNotification
()
throws
IOException
{
SendGroupSystemNotificationRequest
request
=
new
SendGroupSystemNotificationRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
request
.
setContent
(
"hello world"
);
request
.
setToMembersAccount
(
Collections
.
singletonList
(
"bingo"
));
SendGroupSystemNotificationResult
result
=
client
.
group
.
sendGroupSystemNotification
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testChangeGroupOwner
()
throws
IOException
{
ChangeGroupOwnerRequest
request
=
new
ChangeGroupOwnerRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
request
.
setNewOwnerAccount
(
"test1"
);
ChangeGroupOwnerResult
result
=
client
.
group
.
changeGroupOwner
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testGroupMsgRecall
()
throws
IOException
{
GroupMsgRecallRequest
request
=
new
GroupMsgRecallRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
MsgSeqItem
item
=
new
MsgSeqItem
();
item
.
setMsgSeq
(
123323
);
request
.
setMsgSeqList
(
Collections
.
singletonList
(
item
));
GroupMsgRecallResult
result
=
client
.
group
.
groupMsgRecall
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testImportGroup
()
throws
IOException
{
ImportGroupRequest
request
=
new
ImportGroupRequest
();
request
.
setOwnerAccount
(
"bingo"
);
request
.
setType
(
"Public"
);
request
.
setGroupId
(
"newGroup"
);
request
.
setName
(
"群名"
);
ImportGroupResult
result
=
client
.
group
.
importGroup
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testImportGroupMsg
()
throws
IOException
{
ImportGroupMsgRequest
request
=
new
ImportGroupMsgRequest
();
request
.
setGroupId
(
"newGroup"
);
ImportGroupMsgListItem
item
=
new
ImportGroupMsgListItem
();
item
.
setFromAccount
(
"bingo"
);
item
.
setSendTime
(
1628062005
);
MsgBodyItem
bodyItem
=
new
MsgBodyItem
();
MsgContentItem
contentItem
=
new
MsgContentItem
();
contentItem
.
setText
(
"hello world"
);
bodyItem
.
setMsgContent
(
contentItem
);
bodyItem
.
setMsgType
(
"TIMTextElem"
);
item
.
setMsgBody
(
Collections
.
singletonList
(
bodyItem
));
request
.
setMsgList
(
Collections
.
singletonList
(
item
));
ImportGroupMsgResult
result
=
client
.
group
.
importGroupMsg
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testImportGroupMember
()
throws
IOException
{
ImportGroupMemberRequest
request
=
new
ImportGroupMemberRequest
();
request
.
setGroupId
(
"newGroup"
);
MemberItem
item
=
new
MemberItem
();
item
.
setMemberAccount
(
"test1"
);
item
.
setJoinTime
(
1628062005
);
item
.
setRole
(
"Admin"
);
item
.
setUnreadMsgNum
(
4
);
request
.
setMemberList
(
Collections
.
singletonList
(
item
));
ImportGroupMemberResult
result
=
client
.
group
.
importGroupMember
(
request
);
System
.
out
.
println
(
result
);
Assert
.
assertEquals
(
0
,
(
int
)
result
.
getErrorCode
());
}
@Test
public
void
testSetUnreadMsgNum
()
throws
IOException
{
SetUnreadMsgNumRequest
request
=
new
SetUnreadMsgNumRequest
();
request
.
setGroupId
(
"MyFirstGroup"
);
...
...
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