getGroupsInfo method

void getGroupsInfo()

Implementation

void getGroupsInfo() async {
  if (widget.message.msgID == null) {
    return;
  }
  String msgID = widget.message.msgID!;
  TencentCloudChatVoteLogic? originData = Provider.of<TencentCloudChatVoteMessageModel>(context, listen: false).getTencentCloudChatVoteLogic(msgID);
  if (originData == null) {
    return;
  }
  if (originData.groupMemberCount > 0) {
    return;
  }
  String? groupID = widget.message.groupID;
  if (groupID == null || groupID.isEmpty) {
    return;
  }

  V2TimValueCallback<List<V2TimGroupInfoResult>> groupsInfoRes = await TencentImSDKPlugin.v2TIMManager.getGroupManager().getGroupsInfo(
    groupIDList: [groupID],
  );

  if (groupsInfoRes.code == 0) {
    if (groupsInfoRes.data != null) {
      if (groupsInfoRes.data!.isNotEmpty) {
        var groupInfo = groupsInfoRes.data!.first;
        if (groupInfo.resultCode == 0) {
          if (groupInfo.groupInfo != null) {
            int? memberCount = groupInfo.groupInfo!.memberCount;

            originData.setGroupMemberCount(memberCount ?? 0);

            Provider.of<TencentCloudChatVoteMessageModel>(context, listen: false).updateTencentCloudChatVoteLogic(originData);
          }
        }
      }
    }
  }
}