From 2a9d4a058701b0380dde27358c60f138e610cc05 Mon Sep 17 00:00:00 2001 From: hrxiang Date: Fri, 24 Jun 2022 11:05:29 +0800 Subject: [PATCH] update --- CHANGELOG.md | 2 ++ android/build.gradle | 2 +- .../manager/BaseManager.java | 7 +++-- .../manager/GroupManager.java | 12 +++++++ lib/src/manager/im_group_manager.dart | 31 +++++++++++++++++++ lib/src/models/message.dart | 3 ++ 6 files changed, 54 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b50015d..4351dc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ ## 2.1.0 1.Fix bug
+2.New getGroupMemberListByJoinTime method
+3.New group message need read count field groupMemberCount
## 2.0.9+3 diff --git a/android/build.gradle b/android/build.gradle index 1fb584f..e2c0831 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -41,5 +41,5 @@ android { } } dependencies { - implementation 'io.openim:core-sdk:2.0.9.28@aar' + implementation 'io.openim:core-sdk:2.1.0.1@aar' } \ No newline at end of file diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/BaseManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/BaseManager.java index 3142c3b..534674a 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/BaseManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/BaseManager.java @@ -18,7 +18,10 @@ class BaseManager { } static Long int2long(MethodCall methodCall, String key) { - Integer i = value(methodCall, key); - return Long.valueOf(i); + Object i = value(methodCall, key); + if (i instanceof Long) { + return (Long) i; + } + return Long.valueOf((Integer) i); } } diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java index 07bf963..8c3c47e 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java @@ -199,4 +199,16 @@ public class GroupManager extends BaseManager { int2long(methodCall, "roleLevel") ); } + + public void getGroupMemberListByJoinTimeFilter(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.getGroupMemberListByJoinTimeFilter(new OnBaseListener(result, methodCall), + value(methodCall, "operationID"), + value(methodCall, "groupID"), + value(methodCall, "offset"), + value(methodCall, "count"), + int2long(methodCall, "joinTimeBegin"), + int2long(methodCall, "joinTimeEnd"), + jsonValue(methodCall, "excludeUserIDList") + ); + } } \ No newline at end of file diff --git a/lib/src/manager/im_group_manager.dart b/lib/src/manager/im_group_manager.dart index ef17821..73c743b 100644 --- a/lib/src/manager/im_group_manager.dart +++ b/lib/src/manager/im_group_manager.dart @@ -457,6 +457,37 @@ class GroupManager { 'operationID': Utils.checkOperationID(operationID), })); + /// Get the list of group members + /// 分页获取组成员列表 + /// [groupID] 群ID + /// [joinTimeBegin] 加入开始时间 + /// [joinTimeEnd] 加入结束时间 + /// [offset] 开始下标 + /// [count] 总数 + Future> getGroupMemberListByJoinTime({ + required String groupID, + int offset = 0, + int count = 0, + int joinTimeBegin = 0, + int joinTimeEnd = 0, + List excludeUserIDList = const [], + String? operationID, + }) => + _channel + .invokeMethod( + 'getGroupMemberListByJoinTimeFilter', + _buildParam({ + 'groupID': groupID, + 'offset': offset, + 'count': count, + 'joinTimeBegin': joinTimeBegin, + 'joinTimeEnd': joinTimeEnd, + 'excludeUserIDList': excludeUserIDList, + 'operationID': Utils.checkOperationID(operationID), + })) + .then((value) => + Utils.toList(value, (map) => GroupMembersInfo.fromJson(map))); + static Map _buildParam(Map param) { param["ManagerName"] = "groupManager"; return param; diff --git a/lib/src/models/message.dart b/lib/src/models/message.dart index e9e79fb..e67d715 100644 --- a/lib/src/models/message.dart +++ b/lib/src/models/message.dart @@ -639,6 +639,7 @@ class AttachedInfoElem { class GroupHasReadInfo { List? hasReadUserIDList; int? hasReadCount; + int? groupMemberCount; GroupHasReadInfo.fromJson(Map json) { if (json['hasReadUserIDList'] == null) { @@ -647,12 +648,14 @@ class GroupHasReadInfo { hasReadUserIDList = (json['hasReadUserIDList'] as List).cast(); } hasReadCount = json['hasReadCount'] ?? 0; + groupMemberCount = json['groupMemberCount'] ?? 0; } Map toJson() { final data = Map(); data['hasReadUserIDList'] = this.hasReadUserIDList; data['hasReadCount'] = this.hasReadCount; + data['groupMemberCount'] = this.groupMemberCount; return data; } }