From 9cd717c67c5e3312f407bd655569e5ea522b0ac3 Mon Sep 17 00:00:00 2001 From: hrxiang Date: Wed, 25 May 2022 15:18:22 +0800 Subject: [PATCH] Upgrade --- CHANGELOG.md | 1 + android/build.gradle | 2 +- .../manager/OrganizationManager.java | 6 +- lib/src/manager/im_organization_manager.dart | 21 ++-- lib/src/models/organization_info.dart | 98 ++++++++++++------- 5 files changed, 74 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 273b2fe..b791d9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ 1.Fix bug
2.New organization fuction
3.New uploadImage method
+4.Fix login slow bug
## 2.0.8 diff --git a/android/build.gradle b/android/build.gradle index d266486..471bc73 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -41,5 +41,5 @@ android { } } dependencies { - implementation 'io.openim:core-sdk:2.0.9.3@aar' + implementation 'io.openim:core-sdk:2.0.9.6@aar' } \ No newline at end of file diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/OrganizationManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/OrganizationManager.java index a5073bc..19d96af 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/OrganizationManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/OrganizationManager.java @@ -44,11 +44,7 @@ public class OrganizationManager extends BaseManager { Open_im_sdk.getDepartmentMemberAndSubDepartment( new OnBaseListener(result, methodCall), value(methodCall, "operationID"), - value(methodCall, "departmentID"), - int2long(methodCall, "departmentOffset"), - int2long(methodCall, "departmentCount"), - int2long(methodCall, "memberOffset"), - int2long(methodCall, "memberCount") + value(methodCall, "departmentID") ); } } diff --git a/lib/src/manager/im_organization_manager.dart b/lib/src/manager/im_organization_manager.dart index f7fbf39..8937d51 100644 --- a/lib/src/manager/im_organization_manager.dart +++ b/lib/src/manager/im_organization_manager.dart @@ -70,12 +70,12 @@ class OrganizationManager { /// Get the sub-departments and employees under the department /// 获取部门下的子部门跟员工 - Future> getDeptMemberAndSubDept({ + Future getDeptMemberAndSubDept({ required String departmentID, - int departmentOffset = 0, - int departmentCount = 40, - int memberOffset = 0, - int memberCount = 40, + // int departmentOffset = 0, + // int departmentCount = 40, + // int memberOffset = 0, + // int memberCount = 40, String? operationID, }) => _channel @@ -83,13 +83,14 @@ class OrganizationManager { 'getDepartmentMemberAndSubDepartment', _buildParam({ 'departmentID': departmentID, - 'departmentOffset': departmentOffset, - 'departmentCount': departmentCount, - 'memberOffset': memberOffset, - 'memberCount': memberCount, + // 'departmentOffset': departmentOffset, + // 'departmentCount': departmentCount, + // 'memberOffset': memberOffset, + // 'memberCount': memberCount, 'operationID': Utils.checkOperationID(operationID), })) - .then((value) => Utils.toList(value, (v) => UserInDept.fromJson(v))); + .then((value) => + Utils.toObj(value, (v) => DeptMemberAndSubDept.fromJson(v))); static Map _buildParam(Map param) { param["ManagerName"] = "organizationManager"; diff --git a/lib/src/models/organization_info.dart b/lib/src/models/organization_info.dart index 1172d9b..c4fb84f 100644 --- a/lib/src/models/organization_info.dart +++ b/lib/src/models/organization_info.dart @@ -31,11 +31,11 @@ class DeptInfo { parentID = json['parentID']; order = json['order']; departmentType = json['departmentType']; - createTime = json['createTime ']; - subDepartmentNum = json['subDepartmentNum ']; - memberNum = json['memberNum ']; - ex = json['ex ']; - attachedInfo = json['attachedInfo ']; + createTime = json['createTime']; + subDepartmentNum = json['subDepartmentNum']; + memberNum = json['memberNum']; + ex = json['ex']; + attachedInfo = json['attachedInfo']; } Map toJson() { @@ -46,13 +46,23 @@ class DeptInfo { data['parentID'] = this.parentID; data['order'] = this.order; data['departmentType'] = this.departmentType; - data['createTime '] = this.createTime; - data['subDepartmentNum '] = this.subDepartmentNum; - data['memberNum '] = this.memberNum; - data['ex '] = this.ex; - data['attachedInfo '] = this.attachedInfo; + data['createTime'] = this.createTime; + data['subDepartmentNum'] = this.subDepartmentNum; + data['memberNum'] = this.memberNum; + data['ex'] = this.ex; + data['attachedInfo'] = this.attachedInfo; return data; } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is DeptInfo && + runtimeType == other.runtimeType && + departmentID == other.departmentID; + + @override + int get hashCode => departmentID.hashCode; } class DeptMemberInfo { @@ -97,20 +107,20 @@ class DeptMemberInfo { userID = json['userID']; nickname = json['nickname']; englishName = json['englishName']; - faceURL = json['faceURL ']; - gender = json['gender ']; - mobile = json['mobile ']; - telephone = json['telephone ']; - birth = json['birth ']; - email = json['email ']; - departmentID = json['departmentID ']; - order = json['order ']; - position = json['position ']; - leader = json['leader ']; - status = json['status ']; - createTime = json['createTime ']; - ex = json['ex ']; - attachedInfo = json['attachedInfo ']; + faceURL = json['faceURL']; + gender = json['gender']; + mobile = json['mobile']; + telephone = json['telephone']; + birth = json['birth']; + email = json['email']; + departmentID = json['departmentID']; + order = json['order']; + position = json['position']; + leader = json['leader']; + status = json['status']; + createTime = json['createTime']; + ex = json['ex']; + attachedInfo = json['attachedInfo']; } Map toJson() { @@ -118,24 +128,35 @@ class DeptMemberInfo { data['userID'] = this.userID; data['nickname'] = this.nickname; data['englishName'] = this.englishName; - data['faceURL '] = this.faceURL; - data['gender '] = this.gender; - data['mobile '] = this.mobile; - data['telephone '] = this.telephone; - data['birth '] = this.birth; - data['email '] = this.email; - data['departmentID '] = this.departmentID; - data['order '] = this.order; - data['position '] = this.position; - data['leader '] = this.leader; - data['status '] = this.status; - data['createTime '] = this.createTime; - data['ex '] = this.ex; - data['attachedInfo '] = this.attachedInfo; + data['faceURL'] = this.faceURL; + data['gender'] = this.gender; + data['mobile'] = this.mobile; + data['telephone'] = this.telephone; + data['birth'] = this.birth; + data['email'] = this.email; + data['departmentID'] = this.departmentID; + data['order'] = this.order; + data['position'] = this.position; + data['leader'] = this.leader; + data['status'] = this.status; + data['createTime'] = this.createTime; + data['ex'] = this.ex; + data['attachedInfo'] = this.attachedInfo; return data; } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is DeptMemberInfo && + runtimeType == other.runtimeType && + userID == other.userID; + + @override + int get hashCode => userID.hashCode; } +/// 用户所在的部门 class UserInDept { DeptInfo? department; DeptMemberInfo? member; @@ -162,6 +183,7 @@ class UserInDept { } } +/// 部门下的子部门跟员工 class DeptMemberAndSubDept { List? departmentList; List? departmentMemberList;