Unverified Commit faced426 authored by Yang Libin's avatar Yang Libin Committed by GitHub

feat: add group api and unit test (#25)

parent 14029f97
# 腾讯云 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) [![license](https://img.shields.io/github/license/doocs/qcloud-im-server-sdk-java?color=42b883&style=flat-square)](./LICENSE)
## API 清单 ## Installation and Getting Started
### 1. 帐号管理 ### 1. Maven Configuration
- [x] 导入单个帐号 Add the Maven dependency:
- [x] 导入多个帐号
- [x] 删除帐号 ```xml
- [x] 查询帐号 <dependency>
- [x] 失效帐号登录状态 <groupId>io.github.doocs</groupId>
- [x] 查询帐号在线状态 <artifactId>im-server-sdk-java</artifactId>
<version>0.0.2</version>
### 2. 单聊消息 </dependency>
```
- [x] 单发单聊消息
- [x] 批量发单聊消息 ### 2. Getting Started
- [x] 导入单聊消息
- [x] 查询单聊消息 Here is a quick teaser of an application using IM SDK in Java:
- [x] 撤回单聊消息
- [x] 设置单聊消息已读 ```java
- [x] 查询单聊未读消息计数 public class Main {
public static void main(String[] args) {
### 3. 全员推送 // type your sdkAppId here
long appId = 1400554812;
- [x] 全员推送
- [x] 设置应用属性名称 // type your adminUserId here
- [x] 获取应用属性名称 String identifier = "test";
- [x] 获取用户属性
- [x] 设置用户属性 // type your applicationKey here
- [x] 删除用户属性 String key = "60c6c5925f3ae52c7325ac5a8ec78e44c056d1dd84d54e12ffa39911267a2a70";
- [x] 获取用户标签
- [x] 添加用户标签 // create ImClient instance
- [x] 删除用户标签 IMClient client = IMClient.getInstance(appId, identifier, key);
- [x] 删除用户所有标签
// import account
### 4. 资料管理 AccountImportRequest request = new AccountImportRequest();
request.setFaceUrl("https://avatars.githubusercontent.com/u/21008209?v=4");
- [x] 设置资料 request.setIdentifier("ylb");
- [x] 拉取资料 request.setNick("nickname");
try {
### 5. 关系链管理 AccountImportResult result = client.account.accountImport(request);
System.out.println(result);
- [x] 添加好友 } catch (IOException e) {
- [x] 导入好友 e.printStackTrace();
- [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 地址
## License ## License
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<groupId>io.github.doocs</groupId> <groupId>io.github.doocs</groupId>
<artifactId>im-server-sdk-java</artifactId> <artifactId>im-server-sdk-java</artifactId>
<version>0.0.2</version> <version>0.0.3</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>qcloud-im-server-sdk-java</name> <name>qcloud-im-server-sdk-java</name>
......
...@@ -67,4 +67,12 @@ public class IMClient { ...@@ -67,4 +67,12 @@ public class IMClient {
return String.format(FORMAT_URL, this.version, serviceName, command, return String.format(FORMAT_URL, this.version, serviceName, command,
this.sdkAppId, this.userId, this.userSig, random); this.sdkAppId, this.userId, this.userSig, random);
} }
@Override
public String toString() {
return "IMClient{" +
"sdkAppId=" + sdkAppId +
", userId='" + userId + '\'' +
'}';
}
} }
...@@ -83,6 +83,90 @@ public class Group { ...@@ -83,6 +83,90 @@ public class Group {
return JsonUtil.str2Obj(result, AddGroupMemberResult.class); 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 { public SetUnreadMsgNumResult setUnreadMsgNum(SetUnreadMsgNumRequest setUnreadMsgNumRequest) throws IOException {
String url = imClient.getUrl(SERVICE_NAME, SET_UNREAD_MSG_NUM_COMMAND); String url = imClient.getUrl(SERVICE_NAME, SET_UNREAD_MSG_NUM_COMMAND);
String result = HttpUtil.post(url, JsonUtil.obj2Str(setUnreadMsgNumRequest), null); String result = HttpUtil.post(url, JsonUtil.obj2Str(setUnreadMsgNumRequest), null);
......
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();
}
}
}
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;
}
}
...@@ -2,7 +2,6 @@ package io.github.doocs.im.model.request; ...@@ -2,7 +2,6 @@ package io.github.doocs.im.model.request;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.github.doocs.im.model.response.MsgListItem;
import java.util.List; import java.util.List;
...@@ -16,5 +15,21 @@ public class ImportGroupMsgRequest extends GenericRequest { ...@@ -16,5 +15,21 @@ public class ImportGroupMsgRequest extends GenericRequest {
private String groupId; private String groupId;
@JsonProperty("MsgList") @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;
}
} }
package io.github.doocs.im.model.response;
/**
* @author bingo
* @since 2021/8/4 11:36
*/
public class ChangeGroupOwnerResult extends GenericResult {
}
package io.github.doocs.im.model.response;
/**
* @author bingo
* @since 2021/8/4 10:40
*/
public class DeleteGroupMemberResult extends GenericResult {
}
package io.github.doocs.im.model.response;
/**
* @author bingo
* @since 2021/8/4 10:43
*/
public class DestroyGroupResult extends GenericResult {
}
package io.github.doocs.im.model.response;
/**
* @author bingo
* @since 2021/8/4 11:19
*/
public class ForbidSendMsgResult extends GenericResult {
}
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 +
'}';
}
}
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 +
'}';
}
}
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 +
'}';
}
}
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 + '\'' +
'}';
}
}
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 +
'}';
}
}
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 +
'}';
}
}
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 +
'}';
}
}
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;
}
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 +
'}';
}
}
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 +
'}';
}
}
package io.github.doocs.im.model.response;
/**
* @author bingo
* @since 2021/8/4 10:42
*/
public class ModifyGroupMemberInfoResult extends GenericResult {
}
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 +
'}';
}
}
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 +
'}';
}
}
package io.github.doocs.im.model.response;
/**
* @author bingo
* @since 2021/8/4 11:32
*/
public class SendGroupSystemNotificationResult extends GenericResult {
}
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 +
'}';
}
}
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 + '\'' +
'}';
}
}
...@@ -112,6 +112,172 @@ public class GroupTest { ...@@ -112,6 +112,172 @@ public class GroupTest {
} }
@Test @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 { public void testSetUnreadMsgNum() throws IOException {
SetUnreadMsgNumRequest request = new SetUnreadMsgNumRequest(); SetUnreadMsgNumRequest request = new SetUnreadMsgNumRequest();
request.setGroupId("MyFirstGroup"); request.setGroupId("MyFirstGroup");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment