oFMtqQUOrKgMPAYV method

Future<void> oFMtqQUOrKgMPAYV(
  1. String event,
  2. Map<String, dynamic> data
)

Implementation

Future<void> oFMtqQUOrKgMPAYV(String event, Map<String, dynamic> data) async {
  await dOywkRvhatFOEfPE.synchronized(() async {
    var _lock_message = new Lock();
    Future<void> EUPaGdpuWEjWZFHr(YIMMessage message, bool isNewMessage, {void Function(bool isSuccess)? callback}) async {
      await _lock_message.synchronized(() async {
        if (message.id == ImQpGYfnYhSmhKxx) return;
        ImQpGYfnYhSmhKxx = message.id;
        switch (message.conversationType) {
          case YIMEnum_ConversationType.P2P:
            final count = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.jkvZnZIvvDSnHWwS(
              _YIMTableName.Message,
              filter: Filter.equals("id", message.id),
            );
            if (count == null) {
              callback?.call(false);
              return;
            }
            if (count > 0) {
              callback?.call(false);
              return;
            }
            final isSuccess_insert = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.NiaHHNqDHRPpcqed(
              _YIMTableName.Message,
              data: _YIMTable_Message(message: message),
            );
            if (!isSuccess_insert) {
              callback?.call(false);
              return;
            }
            final isSuccess_updateLastMessage = await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(
              message.conversationType,
              message.from == ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO ? message.to : message.from,
              unRead: (message.from != ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO && message.messageState == YIMEnum_MessageState.Success_UnRead) ? _YIMEnum_ConversatypeUnRead.Plus : _YIMEnum_ConversatypeUnRead.Nothing,
            );
            if (!isSuccess_updateLastMessage) {
              callback?.call(false);
              return;
            }
            if (isNewMessage)
              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.gQTdyVpBttLdgYzF?.call([message]);
              });
            else
              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.eldbbzSlquDUExeM?.call([message]);
              });
            callback?.call(true);
            break;
          case YIMEnum_ConversationType.Team:
            final count = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.jkvZnZIvvDSnHWwS(
              _YIMTableName.Message,
              filter: Filter.equals("id", message.id),
            );
            if (count == null) {
              callback?.call(false);
              return;
            }
            if (count > 0) {
              callback?.call(false);
              return;
            }
            final isSuccess_insert = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.NiaHHNqDHRPpcqed(
              _YIMTableName.Message,
              data: _YIMTable_Message(message: message),
            );
            if (!isSuccess_insert) {
              callback?.call(false);
              return;
            }
            final isSuccess_updateLastMessage = await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(
              message.conversationType,
              message.to,
              unRead: (message.from != ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO) ? _YIMEnum_ConversatypeUnRead.Plus : _YIMEnum_ConversatypeUnRead.Nothing,
            );
            if (!isSuccess_updateLastMessage) {
              callback?.call(false);
              return;
            }
            if (isNewMessage)
              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.gQTdyVpBttLdgYzF?.call([message]);
              });
            else
              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.eldbbzSlquDUExeM?.call([message]);
              });
            callback?.call(true);
            break;
          default:
            break;
        }
      });
    }

    switch (event) {
      case "loginFailed":
        tzENBpVGblQVMmwE(data["msg"].toString());
        break;
      case "loginSuccess":
        if (nGnihtTnqBUqrEDc) return;
        nGnihtTnqBUqrEDc = true;
        AmmccRTBAKSYRttO?.cancel();
        AmmccRTBAKSYRttO = null;
        UFAzqOkGabwvyZYy?.cancel();
        UFAzqOkGabwvyZYy = null;
        AmmccRTBAKSYRttO = Timer.periodic(Duration(seconds: 5), (timer) {
          if (!OvtmToJxJungsSYZ.csuUedvgDStbzLNY.PscxCSwHobBJanUn(needCheckConnect: true) || NpoGiDlujxAxYGaG == null) {
            if (!lSgMBKzHIMXrzwca) {
              lSgMBKzHIMXrzwca = true;
              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.gDIRLGyouXilUtPk?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Reconnecting, msg: "Reconnecting"));
              });
              nUXRFFyGtBJQekax(true);
              Future.delayed(Duration(seconds: 1), () {
                ofxhFxzBVhnOUFUL(true);
                Future.delayed(Duration(seconds: 5), () {
                  if (lSgMBKzHIMXrzwca) {
                    lSgMBKzHIMXrzwca = false;
                    nUXRFFyGtBJQekax(true);
                  }
                });
              });
            }
          } else {
            if (lSgMBKzHIMXrzwca) {
              lSgMBKzHIMXrzwca = false;
              fPuRzDqFSuoTlKkS();
              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.gDIRLGyouXilUtPk?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Reconnected, msg: "Reconnected"));
              });
            }
            // ikkMDRSazNrwMPHX.DaZbfaaNrPMLDyED.DMeWPljAqpqlapTz("refreshOnline");
          }
        });
        //同步云端会话
        DMeWPljAqpqlapTz("queryConversations", ack: (isSuccess, results, code, msg) {
          if (isSuccess) {
            List<Map<String, dynamic>> conversations_server = (results?["conversations"] as List<dynamic>).map((m) => m as Map<String, dynamic>).toList();
            if (conversations_server.isEmpty) return;
            OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.oaZoaCpqHHEClCMM(
              callback: (conversations) {
                //过滤本地已经存在的云端会话
                conversations?.forEach((conversation) {
                  switch (conversation.lastMessage.conversationType) {
                    case YIMEnum_ConversationType.P2P:
                      final conversationID = conversation.lastMessage.from == ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO ? conversation.lastMessage.to : conversation.lastMessage.from;
                      for (var i = conversations_server.length - 1; i >= 0; i--) {
                        if (conversations_server[i]["conversationID"] == conversationID) conversations_server.removeAt(i);
                      }
                      break;
                    case YIMEnum_ConversationType.Team:
                      final conversationID = conversation.lastMessage.to;
                      for (var i = conversations_server.length - 1; i >= 0; i--) {
                        if (conversations_server[i]["conversationID"] == conversationID) conversations_server.removeAt(i);
                      }
                      break;
                    default:
                      break;
                  }
                });
                //将本地没有的云端会话,把消息同步下来
                for (final conversation in conversations_server.reversed) {
                  OvtmToJxJungsSYZ.TGOVPGaiUaEyiIOK.UFhdpCyZGKOKVfNB(
                    conversationType: YIMEnum_ConversationType.from(conversation["conversationType"].toString()),
                    conversationID: conversation["conversationID"].toString(),
                    limit: ikkMDRSazNrwMPHX.BCuDevRBXDCEqsDh.sJqQruXaVGpfImlw,
                    callback: (isSuccess, messages) async {
                      if (isSuccess) {
                        for (var i = 0; i < messages!.length; i++) {
                          await EUPaGdpuWEjWZFHr(messages[i], false, callback: (isSuccess) async {
                            if (!isSuccess) return;
                            Filter? filter;
                            switch (YIMEnum_ConversationType.from(conversation["conversationType"].toString())) {
                              case YIMEnum_ConversationType.P2P:
                                filter = Filter.and([
                                  Filter.or([
                                    Filter.and([Filter.equals("lastMessage.from", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.to", conversation["conversationID"])]),
                                    Filter.and([Filter.equals("lastMessage.to", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.from", conversation["conversationID"])]),
                                  ]),
                                  Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.P2P.rawValue),
                                ]);
                                break;
                              case YIMEnum_ConversationType.Team:
                                filter = Filter.and([
                                  Filter.equals("lastMessage.to", conversation["conversationID"]),
                                  Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.Team.rawValue),
                                ]);
                                break;
                              case YIMEnum_ConversationType.ChatRoom:
                                break;
                              default:
                                break;
                            }
                            final isSuccess_updateOne = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.KZuXhZonFPBRPmsK<_YIMTable_Conversation>(
                              _YIMTableName.Conversation,
                              (oldData) => oldData!..unRead = int.parse(conversation["unReadCount"].toString()),
                              onModel: (map) => _YIMTable_Conversation.fromJson(map),
                              finder: Finder(filter: filter),
                            );
                            if (!isSuccess_updateOne) return;
                            if (i >= messages.length - 1) {
                              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
                              });
                              Filter? filter_conversation;
                              switch (YIMEnum_ConversationType.from(conversation["conversationType"].toString())) {
                                case YIMEnum_ConversationType.P2P:
                                  filter_conversation = Filter.and([
                                    Filter.or([
                                      Filter.and([Filter.equals("lastMessage.from", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.to", conversation["conversationID"])]),
                                      Filter.and([Filter.equals("lastMessage.to", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.from", conversation["conversationID"])]),
                                    ]),
                                    Filter.equals("lastMessage.conversationType", conversation["conversationType"]),
                                  ]);
                                  break;
                                case YIMEnum_ConversationType.Team:
                                  filter_conversation = Filter.and([
                                    Filter.equals("lastMessage.to", conversation["conversationID"]),
                                    Filter.equals("lastMessage.conversationType", conversation["conversationType"]),
                                  ]);
                                  break;
                              }
                              final needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
                                _YIMTableName.Conversation,
                                onModel: (map) => _YIMTable_Conversation.fromJson(map),
                                finder: Finder(filter: filter_conversation),
                              );
                              if (needUpdateConversations == null) {
                                return;
                              }
                              ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
                                OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.BOcvwyFExikPxjUj?.call(needUpdateConversations.map((e) => YIMConversation(conversation: e)).toList());
                              });
                            }
                          });
                        }
                      }
                    },
                  );
                }
              },
            );
          }
        });
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          RYqSPMuNbwRLjCkh?.call(YIMResult<YIMEnum_LoginResult>(code: YIMEnum_LoginResult.Success, msg: "success"));
        });
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          RYqSPMuNbwRLjCkh = null;
        });
        //将历史的发送中消息,置为失败状态
        await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.qnoGdWQYqooeXorc(
          _YIMTableName.Message,
          () {
            return {"messageState": YIMEnum_MessageState.Fail.rawValue};
          },
          finder: Finder(filter: Filter.equals("messageState", YIMEnum_MessageState.Sending.rawValue)),
        );
        OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.oaZoaCpqHHEClCMM(callback: (conversations) async {
          if (conversations == null) return;
          for (var conversation in conversations) {
            await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(conversation.lastMessage.conversationType, conversation.lastMessage.getConversatinoID());
          }
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
          });
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.pNEsHvSGgGaVaPdm?.call(conversations);
          });
        });
        ikkMDRSazNrwMPHX.njeqgTukQZhJugsB = YIMUser.fromJson(data["user"]);
        ikkMDRSazNrwMPHX.FtJQCRnYnNckMoAg.PCzsrhjANbwIWRMu(data["oss"]);
        ikkMDRSazNrwMPHX.EKxdrisXBgUZKEWJ.PCzsrhjANbwIWRMu(data["push"]);
        break;
      case "kick":
        OvtmToJxJungsSYZ.csuUedvgDStbzLNY.xEaWVylibHaKBZUT();
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.gDIRLGyouXilUtPk?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Kick, msg: "Kicked by ${data["device"]} device"));
        });
        break;
      case "message":
      case "message_sync":
        final messages = (data["messages"] as List<dynamic>).map((element) => YIMMessage(message: _YIMTable_Message.fromJson(element))).toList();
        for (var message in messages) {
          Filter? filter_conversation;
          switch (message.conversationType) {
            case YIMEnum_ConversationType.P2P:
              filter_conversation = Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.to", message.getConversatinoID())]),
                  Filter.and([Filter.equals("lastMessage.to", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.from", message.getConversatinoID())]),
                ]),
                Filter.equals("lastMessage.conversationType", message.conversationType.rawValue),
              ]);
              break;
            case YIMEnum_ConversationType.Team:
              filter_conversation = Filter.and([
                Filter.equals("lastMessage.to", message.getConversatinoID()),
                Filter.equals("lastMessage.conversationType", message.conversationType.rawValue),
              ]);
              break;
          }
          var needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            onModel: (map) => _YIMTable_Conversation.fromJson(map),
            finder: Finder(filter: filter_conversation),
          );
          if (needUpdateConversations == null) {
            return;
          }
          final isNewConversation = needUpdateConversations.isEmpty;
          await EUPaGdpuWEjWZFHr(message, event == "message");
          needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            onModel: (map) => _YIMTable_Conversation.fromJson(map),
            finder: Finder(filter: filter_conversation),
          );
          if (needUpdateConversations == null) {
            return;
          }
          if (isNewConversation) {
            //新增的会话
            ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
              OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.BOcvwyFExikPxjUj?.call(needUpdateConversations!.map((e) => YIMConversation(conversation: e)).toList());
            });
          } else {
            //原有的会话
            ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
              OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.pNEsHvSGgGaVaPdm?.call(needUpdateConversations!.map((e) => YIMConversation(conversation: e)).toList());
            });
          }
        }
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
        });
        break;
      case "broadcast":
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.LzCkwqgkNkflqkMX?.call(YIMBroadcastMessage.fromJson(data["message"]));
        });
        break;
      case "notification":
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.yPDXVqdCCTlZrIGy?.call(YIMNotificationMessage.fromJson(data["message"]));
        });
        break;
      case "revoke":
      case "revoke_sync":
        for (final element in (data["messages"] as List<dynamic>)) {
          final message = YIMRevokeMessage.fromJson(element);
          final isSuccess_markConversationRevoke = await OvtmToJxJungsSYZ.TGOVPGaiUaEyiIOK.FAGxgEdvelhEvrtQ(
            message.conversationType,
            message.messageID,
          );
          if (!isSuccess_markConversationRevoke) return;
          final isSuccess_updateLastMessage = await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(
            message.conversationType,
            message.conversationID,
            // unRead: _YIMEnum_ConversatypeUnRead.Minus,
          );
          if (!isSuccess_updateLastMessage) return;
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
          });
          Filter? filter_conversation;
          switch (message.conversationType) {
            case YIMEnum_ConversationType.P2P:
              filter_conversation = Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.to", message.conversationID)]),
                  Filter.and([Filter.equals("lastMessage.to", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.from", message.conversationID)]),
                ]),
                Filter.equals("lastMessage.conversationType", message.conversationType.rawValue),
              ]);
              break;
            case YIMEnum_ConversationType.Team:
              filter_conversation = Filter.and([
                Filter.equals("lastMessage.to", message.conversationID),
                Filter.equals("lastMessage.conversationType", message.conversationType.rawValue),
              ]);
              break;
          }
          final needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            onModel: (map) => _YIMTable_Conversation.fromJson(map),
            finder: Finder(filter: filter_conversation),
          );
          if (needUpdateConversations == null) {
            return;
          }
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.pNEsHvSGgGaVaPdm?.call(needUpdateConversations.map((e) => YIMConversation(conversation: e)).toList());
          });
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.MGXfhAfFUlDeKUdW?.call(message);
          });
        }
        break;
      case "receipt_p2p":
        List<String> conversationIDs = (data["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final conversationID in conversationIDs) {
          final isSuccess_markConversationRead = await OvtmToJxJungsSYZ.TGOVPGaiUaEyiIOK.sRfyvtNzVdxXjhnj(
            YIMEnum_ConversationType.P2P,
            conversationID,
            false,
          );
          if (!isSuccess_markConversationRead) return;
          final isSuccess_updateLastMessage = await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(
            YIMEnum_ConversationType.P2P,
            conversationID,
          );
          if (!isSuccess_updateLastMessage) return;
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
          });
          final needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            onModel: (map) => _YIMTable_Conversation.fromJson(map),
            finder: Finder(
              filter: Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.to", conversationID)]),
                  Filter.and([Filter.equals("lastMessage.to", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.from", conversationID)]),
                ]),
                Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.P2P.rawValue),
              ]),
            ),
          );
          if (needUpdateConversations == null) {
            return;
          }
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.pNEsHvSGgGaVaPdm?.call(needUpdateConversations.map((e) => YIMConversation(conversation: e)).toList());
          });
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.HFyejPRQqjOgcZCF?.call(conversationID);
          });
        }
        break;
      case "receipt_team":
        List<String> conversationIDs = (data["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final conversationID in conversationIDs) {
          final isSuccess_markConversationRead = await OvtmToJxJungsSYZ.TGOVPGaiUaEyiIOK.sRfyvtNzVdxXjhnj(
            YIMEnum_ConversationType.Team,
            conversationID,
            false,
          );
          if (!isSuccess_markConversationRead) return;
          final isSuccess_updateLastMessage = await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(
            YIMEnum_ConversationType.Team,
            conversationID,
          );
          if (!isSuccess_updateLastMessage) return;
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
          });
          final needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            onModel: (map) => _YIMTable_Conversation.fromJson(map),
            finder: Finder(
              filter: Filter.and([
                Filter.equals("lastMessage.to", conversationID),
                Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.Team.rawValue),
              ]),
            ),
          );
          if (needUpdateConversations == null) {
            return;
          }
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.pNEsHvSGgGaVaPdm?.call(needUpdateConversations.map((e) => YIMConversation(conversation: e)).toList());
          });
          ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
            OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.HFyejPRQqjOgcZCF?.call(conversationID);
          });
        }
        break;
      case "event_online":
        final user = data["user"] as String;
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          OvtmToJxJungsSYZ.sCOgbWsklAdRbMmL.gOSUblGcWIveDjLh?.call(user, YIMEnum_EventOnline.Online);
        });
        break;
      case "event_offline":
        final user = data["user"] as String;
        ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
          OvtmToJxJungsSYZ.sCOgbWsklAdRbMmL.gOSUblGcWIveDjLh?.call(user, YIMEnum_EventOnline.Offline);
        });
        break;
      case "update_user":
        ikkMDRSazNrwMPHX.njeqgTukQZhJugsB = YIMUser.fromJson(data["user"]);
    }
  });
}