PjeMpZDUQFuWMxLZ method

Future<void> PjeMpZDUQFuWMxLZ(
  1. String AxttyBNBjvqpIkXM,
  2. Map<String, dynamic> rFbpbySHruxzmGYR
)

Implementation

Future<void> PjeMpZDUQFuWMxLZ(String AxttyBNBjvqpIkXM, Map<String, dynamic> rFbpbySHruxzmGYR) async {
  await ooLCkApGsOaKMuyS.synchronized(() async {
    var oKdIWPKKltkUUnZY = new Lock();
    Future<void> WLxGVnpuoOzqKNPL(YIMMessage NouDniwlzyGmGpUJ, bool sjPrrRSfCLloypMg, {void Function(bool vlIVOpmRlppDVoLJ)? fDsWzZmHzuvhjHYF}) async {
      await oKdIWPKKltkUUnZY.synchronized(() async {
        if (NouDniwlzyGmGpUJ.id == VasRFfDtCTHKLphH) return;
        VasRFfDtCTHKLphH = NouDniwlzyGmGpUJ.id;
        switch (NouDniwlzyGmGpUJ.conversationType) {
          case YIMEnum_ConversationType.P2P:
            final QgBzKiNpnHcBSCXv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.QgBzKiNpnHcBSCXv(
              _YIMTableName.Message,
              filter: Filter.equals("id", NouDniwlzyGmGpUJ.id),
            );
            if (QgBzKiNpnHcBSCXv == null) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            if (QgBzKiNpnHcBSCXv > 0) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            final kbHiZFdJlrKnSEwB = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.xHLoiYMIgKDYsInU(
              _YIMTableName.Message,
              rFbpbySHruxzmGYR: _YIMTable_Message(NouDniwlzyGmGpUJ: NouDniwlzyGmGpUJ),
            );
            if (!kbHiZFdJlrKnSEwB) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            final kNWClwNpWkhUiUnu = await iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.VJhqgocOoZnovLIz(
              NouDniwlzyGmGpUJ.conversationType,
              NouDniwlzyGmGpUJ.from == pUedSqApqySLXfuk.HDRcNNpDAaYaKnho ? NouDniwlzyGmGpUJ.to : NouDniwlzyGmGpUJ.from,
              gpNGjWdnIDwBNcoS: (NouDniwlzyGmGpUJ.from != pUedSqApqySLXfuk.HDRcNNpDAaYaKnho && NouDniwlzyGmGpUJ.messageState == YIMEnum_MessageState.Success_UnRead) ? JKoIbQhNEBkeBGCn.gCgovVywelvGwrhM : JKoIbQhNEBkeBGCn.JaPGrDWPTeqkIxXY,
            );
            if (!kNWClwNpWkhUiUnu) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            if (sjPrrRSfCLloypMg)
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.GoeBWmFDCfBYIvZi?.call([NouDniwlzyGmGpUJ]);
              });
            else
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.KXlchqmQVBmarQpB?.call([NouDniwlzyGmGpUJ]);
              });
            fDsWzZmHzuvhjHYF?.call(true);
            break;
          case YIMEnum_ConversationType.Team:
            final QgBzKiNpnHcBSCXv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.QgBzKiNpnHcBSCXv(
              _YIMTableName.Message,
              filter: Filter.equals("id", NouDniwlzyGmGpUJ.id),
            );
            if (QgBzKiNpnHcBSCXv == null) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            if (QgBzKiNpnHcBSCXv > 0) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            final kbHiZFdJlrKnSEwB = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.xHLoiYMIgKDYsInU(
              _YIMTableName.Message,
              rFbpbySHruxzmGYR: _YIMTable_Message(NouDniwlzyGmGpUJ: NouDniwlzyGmGpUJ),
            );
            if (!kbHiZFdJlrKnSEwB) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            final kNWClwNpWkhUiUnu = await iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.VJhqgocOoZnovLIz(
              NouDniwlzyGmGpUJ.conversationType,
              NouDniwlzyGmGpUJ.to,
              gpNGjWdnIDwBNcoS: (NouDniwlzyGmGpUJ.from != pUedSqApqySLXfuk.HDRcNNpDAaYaKnho) ? JKoIbQhNEBkeBGCn.gCgovVywelvGwrhM : JKoIbQhNEBkeBGCn.JaPGrDWPTeqkIxXY,
            );
            if (!kNWClwNpWkhUiUnu) {
              fDsWzZmHzuvhjHYF?.call(false);
              return;
            }
            if (sjPrrRSfCLloypMg)
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.GoeBWmFDCfBYIvZi?.call([NouDniwlzyGmGpUJ]);
              });
            else
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.KXlchqmQVBmarQpB?.call([NouDniwlzyGmGpUJ]);
              });
            fDsWzZmHzuvhjHYF?.call(true);
            break;
          case YIMEnum_ConversationType.ChatRoom:
            if (sjPrrRSfCLloypMg)
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.GoeBWmFDCfBYIvZi?.call([NouDniwlzyGmGpUJ]);
              });
            else
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.KXlchqmQVBmarQpB?.call([NouDniwlzyGmGpUJ]);
              });
            fDsWzZmHzuvhjHYF?.call(true);
            break;
          default:
            break;
        }
      });
    }

    switch (AxttyBNBjvqpIkXM) {
      case "loginFailed":
        WUXhwGKqhQrNwyEQ(rFbpbySHruxzmGYR["msg"].toString());
        break;
      case "loginSuccess":
        if (qaFEeVfOohXOQeac) return;
        qaFEeVfOohXOQeac = true;
        AIpNOPZQQcUZEXxl?.cancel();
        AIpNOPZQQcUZEXxl = null;
        RZaLsVOMnXHADeEX?.cancel();
        RZaLsVOMnXHADeEX = null;
        AIpNOPZQQcUZEXxl = Timer.periodic(Duration(seconds: 5), (timer) {
          if (!iDxDuKoCRjwSpSnP.lUBagJdrpVTUiLlL.nJlQLbYMmygXrVIu(zPTwxHqbNDBbxpcG: true) || vYppRCJzdSOhSijI == null) {
            if (!kYxbdmxquGpZpenZ) {
              kYxbdmxquGpZpenZ = true;
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.OExbLpZHFKVLSOZn?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Reconnecting, msg: "Reconnecting"));
              });
              arlKVgBJVOfgnBoJ(true);
              Future.delayed(Duration(seconds: 1), () {
                SRUeaxmalRHhJjoG(true);
                Future.delayed(Duration(seconds: 5), () {
                  if (kYxbdmxquGpZpenZ) {
                    kYxbdmxquGpZpenZ = false;
                    arlKVgBJVOfgnBoJ(true);
                  }
                });
              });
            }
          } else {
            if (kYxbdmxquGpZpenZ) {
              kYxbdmxquGpZpenZ = false;
              ukWNBaxblQRMOAUt();
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.OExbLpZHFKVLSOZn?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Reconnected, msg: "Reconnected"));
              });
            }
            // pUedSqApqySLXfuk.KpxKYjvUKTKwfqjk.kvxCwDBIcIBVbdEA("refreshOnline");
          }
        });
        pUedSqApqySLXfuk.LNoEFVterpfBmSay = YIMUser.fromJson(rFbpbySHruxzmGYR["user"]);
        pUedSqApqySLXfuk.uZAywtqUTaodvNJe = (rFbpbySHruxzmGYR["conversationTops"] as List<dynamic>).map((e) => e.toString()).toList();
        pUedSqApqySLXfuk.ktCTiTICCGFBgwmf = (rFbpbySHruxzmGYR["disturbs_p2p"] as List<dynamic>).map((e) => e.toString()).toList();
        pUedSqApqySLXfuk.QFONBoKkKrqnbxEO = (rFbpbySHruxzmGYR["disturbs_team"] as List<dynamic>).map((e) => e.toString()).toList();
        pUedSqApqySLXfuk.LkauoVbLzIsCeEvr.cwVWjdHyCDsQWQCj(rFbpbySHruxzmGYR["oss"]);
        pUedSqApqySLXfuk.uVAXjPfKCzuYRoJu.cwVWjdHyCDsQWQCj(pUedSqApqySLXfuk.skXQQIaSsaiDhaLc?.push ?? rFbpbySHruxzmGYR["push"]);
        //同步云端会话
        kvxCwDBIcIBVbdEA("queryConversations", iwKloQCTGRoPHvpN: (vlIVOpmRlppDVoLJ, hvZigxghgcRFFwdO, pvovyYaVxMwKNREX, PJqUrrwaWORPhMvl) {
          if (vlIVOpmRlppDVoLJ) {
            List<Map<String, dynamic>> aIuGhAfNJPFaRmgF = (hvZigxghgcRFFwdO?["conversations"] as List<dynamic>).map((m) => m as Map<String, dynamic>).toList();
            if (aIuGhAfNJPFaRmgF.isEmpty) return;
            iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.eUSSMDZGAOtpUEYZ(
              fDsWzZmHzuvhjHYF: (soFwquLayEmGnujs) {
                //过滤本地已经存在的云端会话
                soFwquLayEmGnujs?.forEach((OxbmHPoYuPTpcmgT) {
                  switch (OxbmHPoYuPTpcmgT.lastMessage.conversationType) {
                    case YIMEnum_ConversationType.P2P:
                      final vINCQVmsnelWAFiE = OxbmHPoYuPTpcmgT.lastMessage.from == pUedSqApqySLXfuk.HDRcNNpDAaYaKnho ? OxbmHPoYuPTpcmgT.lastMessage.to : OxbmHPoYuPTpcmgT.lastMessage.from;
                      for (var lpeVcpllmhLujPGz = aIuGhAfNJPFaRmgF.length - 1; lpeVcpllmhLujPGz >= 0; lpeVcpllmhLujPGz--) {
                        if (aIuGhAfNJPFaRmgF[lpeVcpllmhLujPGz]["conversationID"] == vINCQVmsnelWAFiE) aIuGhAfNJPFaRmgF.removeAt(lpeVcpllmhLujPGz);
                      }
                      break;
                    case YIMEnum_ConversationType.Team:
                      final vINCQVmsnelWAFiE = OxbmHPoYuPTpcmgT.lastMessage.to;
                      for (var lpeVcpllmhLujPGz = aIuGhAfNJPFaRmgF.length - 1; lpeVcpllmhLujPGz >= 0; lpeVcpllmhLujPGz--) {
                        if (aIuGhAfNJPFaRmgF[lpeVcpllmhLujPGz]["conversationID"] == vINCQVmsnelWAFiE) aIuGhAfNJPFaRmgF.removeAt(lpeVcpllmhLujPGz);
                      }
                      break;
                    default:
                      break;
                  }
                });
                //将本地没有的云端会话,把消息同步下来
                for (final OxbmHPoYuPTpcmgT in aIuGhAfNJPFaRmgF.reversed) {
                  iDxDuKoCRjwSpSnP.qIhdcqGfglUdGNRZ.PtNwDmkDnjmdOVaa(
                    FhjdxBSxQMYGyidK: YIMEnum_ConversationType.from(OxbmHPoYuPTpcmgT["conversationType"].toString()),
                    vINCQVmsnelWAFiE: OxbmHPoYuPTpcmgT["conversationID"].toString(),
                    qIKxTqauqNnvdwJm: pUedSqApqySLXfuk.dqgQvOvcstGaJMWw.BzphSMlqNmdCLXJp,
                    fDsWzZmHzuvhjHYF: (vlIVOpmRlppDVoLJ, BIWKJpDVKOVyGNPE) async {
                      if (vlIVOpmRlppDVoLJ) {
                        for (var i = 0; i < BIWKJpDVKOVyGNPE!.length; i++) {
                          await WLxGVnpuoOzqKNPL(BIWKJpDVKOVyGNPE[i], false, fDsWzZmHzuvhjHYF: (vlIVOpmRlppDVoLJ) async {
                            if (!vlIVOpmRlppDVoLJ) return;
                            Filter? gRbSnqfUMZGoixFM;
                            switch (YIMEnum_ConversationType.from(OxbmHPoYuPTpcmgT["conversationType"].toString())) {
                              case YIMEnum_ConversationType.P2P:
                                gRbSnqfUMZGoixFM = Filter.and([
                                  Filter.or([
                                    Filter.and([Filter.equals("lastMessage.from", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.to", OxbmHPoYuPTpcmgT["conversationID"])]),
                                    Filter.and([Filter.equals("lastMessage.to", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.from", OxbmHPoYuPTpcmgT["conversationID"])]),
                                  ]),
                                  Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.P2P.rawValue),
                                ]);
                                break;
                              case YIMEnum_ConversationType.Team:
                                gRbSnqfUMZGoixFM = Filter.and([
                                  Filter.equals("lastMessage.to", OxbmHPoYuPTpcmgT["conversationID"]),
                                  Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.Team.rawValue),
                                ]);
                                break;
                              case YIMEnum_ConversationType.ChatRoom:
                                break;
                              default:
                                break;
                            }
                            final xtdeVFBKcoyxfxLm = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.tcrpGsqmIoDlHQex<_YIMTable_Conversation>(
                              _YIMTableName.Conversation,
                              (qvmaWLIAPrHSyTjt) => qvmaWLIAPrHSyTjt!..unRead = int.parse(OxbmHPoYuPTpcmgT["unReadCount"].toString()),
                              BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
                              bNcvVipPUFFpNiXa: Finder(filter: gRbSnqfUMZGoixFM),
                            );
                            if (!xtdeVFBKcoyxfxLm) return;
                            if (i >= BIWKJpDVKOVyGNPE.length - 1) {
                              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
                              });
                              Filter? PczaErAOrgmnlYTK;
                              switch (YIMEnum_ConversationType.from(OxbmHPoYuPTpcmgT["conversationType"].toString())) {
                                case YIMEnum_ConversationType.P2P:
                                  PczaErAOrgmnlYTK = Filter.and([
                                    Filter.or([
                                      Filter.and([Filter.equals("lastMessage.from", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.to", OxbmHPoYuPTpcmgT["conversationID"])]),
                                      Filter.and([Filter.equals("lastMessage.to", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.from", OxbmHPoYuPTpcmgT["conversationID"])]),
                                    ]),
                                    Filter.equals("lastMessage.conversationType", OxbmHPoYuPTpcmgT["conversationType"]),
                                  ]);
                                  break;
                                case YIMEnum_ConversationType.Team:
                                  PczaErAOrgmnlYTK = Filter.and([
                                    Filter.equals("lastMessage.to", OxbmHPoYuPTpcmgT["conversationID"]),
                                    Filter.equals("lastMessage.conversationType", OxbmHPoYuPTpcmgT["conversationType"]),
                                  ]);
                                  break;
                              }
                              final RJJZEVUaxDvrzUJv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.wanYqaCFigqxxdwW<_YIMTable_Conversation>(
                                _YIMTableName.Conversation,
                                BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
                                bNcvVipPUFFpNiXa: Finder(filter: PczaErAOrgmnlYTK),
                              );
                              if (RJJZEVUaxDvrzUJv == null) {
                                return;
                              }
                              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.yjsVNFOgyFcFDUjI?.call(RJJZEVUaxDvrzUJv.map((e) => YIMConversation(OxbmHPoYuPTpcmgT: e)).toList());
                              });
                            }
                          });
                        }
                      }
                    },
                  );
                }
              },
            );
          }
        });
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          XBqnxbHIHuZeGasc?.call(YIMResult<YIMEnum_LoginResult>(code: YIMEnum_LoginResult.Success, msg: "success"));
        });
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          XBqnxbHIHuZeGasc = null;
        });
        //将历史的发送中消息,置为失败状态
        await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.bmENyNbEhRkTDKiK(
          _YIMTableName.Message,
          () {
            return {"messageState": YIMEnum_MessageState.Fail.rawValue};
          },
          bNcvVipPUFFpNiXa: Finder(filter: Filter.equals("messageState", YIMEnum_MessageState.Sending.rawValue)),
        );
        iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.eUSSMDZGAOtpUEYZ(fDsWzZmHzuvhjHYF: (soFwquLayEmGnujs) async {
          if (soFwquLayEmGnujs == null) return;
          for (var OxbmHPoYuPTpcmgT in soFwquLayEmGnujs) {
            await iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.VJhqgocOoZnovLIz(OxbmHPoYuPTpcmgT.lastMessage.conversationType, OxbmHPoYuPTpcmgT.lastMessage.getConversatinoID());
          }
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
          });
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(soFwquLayEmGnujs);
          });
        });
        break;
      case "conversation_top_update":
        List<String> uZAywtqUTaodvNJe = (rFbpbySHruxzmGYR["conversationTops"] as List).map((element) => element.toString()).toList();
        pUedSqApqySLXfuk.uZAywtqUTaodvNJe = uZAywtqUTaodvNJe;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
        });
        if (iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB != null) {
          iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.eUSSMDZGAOtpUEYZ(fDsWzZmHzuvhjHYF: (soFwquLayEmGnujs) {
            if (soFwquLayEmGnujs == null) return;
            pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
              iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(soFwquLayEmGnujs);
            });
          });
        }
        break;
      case "disturbs_p2p_update":
        List<String> ktCTiTICCGFBgwmf = (rFbpbySHruxzmGYR["disturbs_p2p"] as List).map((element) => element.toString()).toList();
        pUedSqApqySLXfuk.ktCTiTICCGFBgwmf = ktCTiTICCGFBgwmf;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
        });
        if (iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB != null) {
          iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.eUSSMDZGAOtpUEYZ(fDsWzZmHzuvhjHYF: (soFwquLayEmGnujs) {
            if (soFwquLayEmGnujs == null) return;
            pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
              iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(soFwquLayEmGnujs);
            });
          });
        }
        break;
      case "disturbs_team_update":
        List<String> QFONBoKkKrqnbxEO = (rFbpbySHruxzmGYR["disturbs_team"] as List).map((element) => element.toString()).toList();
        pUedSqApqySLXfuk.QFONBoKkKrqnbxEO = QFONBoKkKrqnbxEO;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
        });
        if (iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB != null) {
          iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.eUSSMDZGAOtpUEYZ(fDsWzZmHzuvhjHYF: (soFwquLayEmGnujs) {
            if (soFwquLayEmGnujs == null) return;
            pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
              iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(soFwquLayEmGnujs);
            });
          });
        }
        break;
      case "kick":
        iDxDuKoCRjwSpSnP.lUBagJdrpVTUiLlL.NaZaVWlXEbKLcRll();
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.OExbLpZHFKVLSOZn?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Kick, msg: "Kicked by ${rFbpbySHruxzmGYR["device"]} device"));
        });
        break;
      case "kick_room":
        final AJlcmxzPmqPcUYwM = rFbpbySHruxzmGYR["roomID"] as String;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.jPdLbUypmmQtmVjx?.call(AJlcmxzPmqPcUYwM);
        });
        break;
      case "close_room":
        final AJlcmxzPmqPcUYwM = rFbpbySHruxzmGYR["roomID"] as String;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.yVDNAuJFzxuENoPh?.call(AJlcmxzPmqPcUYwM);
        });
        break;
      case "message":
      case "message_sync":
        final BIWKJpDVKOVyGNPE = (rFbpbySHruxzmGYR["messages"] as List<dynamic>).map((element) => YIMMessage(NouDniwlzyGmGpUJ: _YIMTable_Message.fromJson(element))).toList();
        for (var NouDniwlzyGmGpUJ in BIWKJpDVKOVyGNPE) {
          Filter? PczaErAOrgmnlYTK;
          switch (NouDniwlzyGmGpUJ.conversationType) {
            case YIMEnum_ConversationType.P2P:
              PczaErAOrgmnlYTK = Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.to", NouDniwlzyGmGpUJ.getConversatinoID())]),
                  Filter.and([Filter.equals("lastMessage.to", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.from", NouDniwlzyGmGpUJ.getConversatinoID())]),
                ]),
                Filter.equals("lastMessage.conversationType", NouDniwlzyGmGpUJ.conversationType.rawValue),
              ]);
              break;
            case YIMEnum_ConversationType.Team:
              PczaErAOrgmnlYTK = Filter.and([
                Filter.equals("lastMessage.to", NouDniwlzyGmGpUJ.getConversatinoID()),
                Filter.equals("lastMessage.conversationType", NouDniwlzyGmGpUJ.conversationType.rawValue),
              ]);
              break;
            case YIMEnum_ConversationType.ChatRoom:
              PczaErAOrgmnlYTK = Filter.and([
                Filter.equals("lastMessage.conversationType", NouDniwlzyGmGpUJ.conversationType.rawValue),
              ]);
              break;
          }
          var RJJZEVUaxDvrzUJv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.wanYqaCFigqxxdwW<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
            bNcvVipPUFFpNiXa: Finder(filter: PczaErAOrgmnlYTK),
          );
          if (RJJZEVUaxDvrzUJv == null) {
            return;
          }
          await WLxGVnpuoOzqKNPL(NouDniwlzyGmGpUJ, AxttyBNBjvqpIkXM == "message", fDsWzZmHzuvhjHYF: (vlIVOpmRlppDVoLJ) async {
            if (!vlIVOpmRlppDVoLJ) return;
            final eOjAveOTJaooLdQm = RJJZEVUaxDvrzUJv!.isEmpty;
            RJJZEVUaxDvrzUJv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.wanYqaCFigqxxdwW<_YIMTable_Conversation>(
              _YIMTableName.Conversation,
              BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
              bNcvVipPUFFpNiXa: Finder(filter: PczaErAOrgmnlYTK),
            );
            if (RJJZEVUaxDvrzUJv == null) {
              return;
            }
            if ([YIMEnum_ConversationType.P2P, YIMEnum_ConversationType.Team].contains(NouDniwlzyGmGpUJ.conversationType)) {
              if (eOjAveOTJaooLdQm) {
                //新增的会话
                pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                  iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.yjsVNFOgyFcFDUjI?.call(RJJZEVUaxDvrzUJv!.map((e) => YIMConversation(OxbmHPoYuPTpcmgT: e)).toList());
                });
              } else {
                //原有的会话
                pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                  iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(RJJZEVUaxDvrzUJv!.map((e) => YIMConversation(OxbmHPoYuPTpcmgT: e)).toList());
                });
              }
              pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
                iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
              });
            }
          });
        }
        break;
      case "broadcast":
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.prxHFQqFXpSrwAGV?.call(YIMBroadcastMessage.fromJson(rFbpbySHruxzmGYR["message"]));
        });
        break;
      case "notification":
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.RgYtQzzzClMOMYUM?.call(YIMNotificationMessage.fromJson(rFbpbySHruxzmGYR["message"]));
        });
        break;
      case "push":
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.ROKWPnmihOLqdWTE?.call(YIMPushMessage.fromJson(rFbpbySHruxzmGYR["message"]));
        });
        break;
      case "revoke":
      case "revoke_sync":
        for (final oQvsLlYIorhMywOH in (rFbpbySHruxzmGYR["messages"] as List<dynamic>)) {
          final NouDniwlzyGmGpUJ = YIMRevokeMessage.fromJson(oQvsLlYIorhMywOH);
          if ([YIMEnum_ConversationType.P2P, YIMEnum_ConversationType.Team].contains(NouDniwlzyGmGpUJ.conversationType)) {
            final MlmyMfixNUavLdAr = await iDxDuKoCRjwSpSnP.qIhdcqGfglUdGNRZ.GxfspYxMccaUGQuE(
              NouDniwlzyGmGpUJ.conversationType,
              NouDniwlzyGmGpUJ.messageID,
            );
            if (!MlmyMfixNUavLdAr) return;
            final kNWClwNpWkhUiUnu = await iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.VJhqgocOoZnovLIz(
              NouDniwlzyGmGpUJ.conversationType,
              NouDniwlzyGmGpUJ.conversationID,
              // unRead: _YIMEnum_ConversatypeUnRead.Minus,
            );
            if (!kNWClwNpWkhUiUnu) return;
            pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
              iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
            });
            Filter? PczaErAOrgmnlYTK;
            switch (NouDniwlzyGmGpUJ.conversationType) {
              case YIMEnum_ConversationType.P2P:
                PczaErAOrgmnlYTK = Filter.and([
                  Filter.or([
                    Filter.and([Filter.equals("lastMessage.from", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.to", NouDniwlzyGmGpUJ.conversationID)]),
                    Filter.and([Filter.equals("lastMessage.to", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.from", NouDniwlzyGmGpUJ.conversationID)]),
                  ]),
                  Filter.equals("lastMessage.conversationType", NouDniwlzyGmGpUJ.conversationType.rawValue),
                ]);
                break;
              case YIMEnum_ConversationType.Team:
                PczaErAOrgmnlYTK = Filter.and([
                  Filter.equals("lastMessage.to", NouDniwlzyGmGpUJ.conversationID),
                  Filter.equals("lastMessage.conversationType", NouDniwlzyGmGpUJ.conversationType.rawValue),
                ]);
                break;
            }
            final RJJZEVUaxDvrzUJv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.wanYqaCFigqxxdwW<_YIMTable_Conversation>(
              _YIMTableName.Conversation,
              BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
              bNcvVipPUFFpNiXa: Finder(filter: PczaErAOrgmnlYTK),
            );
            if (RJJZEVUaxDvrzUJv == null) {
              return;
            }
            pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
              iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(RJJZEVUaxDvrzUJv.map((e) => YIMConversation(OxbmHPoYuPTpcmgT: e)).toList());
            });
          }
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.ikSHWWPGWHforjmp?.call(NouDniwlzyGmGpUJ);
          });
        }
        break;
      case "receipt_p2p":
        List<String> AcyypogxuJkWXSXt = (rFbpbySHruxzmGYR["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final vINCQVmsnelWAFiE in AcyypogxuJkWXSXt) {
          final aUBRISOYXTpNWyDL = await iDxDuKoCRjwSpSnP.qIhdcqGfglUdGNRZ.LQqPoiNovYyWzZSq(
            YIMEnum_ConversationType.P2P,
            vINCQVmsnelWAFiE,
            false,
          );
          if (!aUBRISOYXTpNWyDL) return;
          final kNWClwNpWkhUiUnu = await iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.VJhqgocOoZnovLIz(
            YIMEnum_ConversationType.P2P,
            vINCQVmsnelWAFiE,
          );
          if (!kNWClwNpWkhUiUnu) return;
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
          });
          final RJJZEVUaxDvrzUJv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.wanYqaCFigqxxdwW<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
            bNcvVipPUFFpNiXa: Finder(
              filter: Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.to", vINCQVmsnelWAFiE)]),
                  Filter.and([Filter.equals("lastMessage.to", pUedSqApqySLXfuk.HDRcNNpDAaYaKnho), Filter.equals("lastMessage.from", vINCQVmsnelWAFiE)]),
                ]),
                Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.P2P.rawValue),
              ]),
            ),
          );
          if (RJJZEVUaxDvrzUJv == null) {
            return;
          }
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(RJJZEVUaxDvrzUJv.map((e) => YIMConversation(OxbmHPoYuPTpcmgT: e)).toList());
          });
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.zHgleWmPuHcFiIOd?.call(vINCQVmsnelWAFiE);
          });
        }
        break;
      case "receipt_team":
        List<String> AcyypogxuJkWXSXt = (rFbpbySHruxzmGYR["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final vINCQVmsnelWAFiE in AcyypogxuJkWXSXt) {
          final aUBRISOYXTpNWyDL = await iDxDuKoCRjwSpSnP.qIhdcqGfglUdGNRZ.LQqPoiNovYyWzZSq(
            YIMEnum_ConversationType.Team,
            vINCQVmsnelWAFiE,
            false,
          );
          if (!aUBRISOYXTpNWyDL) return;
          final kNWClwNpWkhUiUnu = await iDxDuKoCRjwSpSnP.fzjbYoEllDvCcigm.VJhqgocOoZnovLIz(
            YIMEnum_ConversationType.Team,
            vINCQVmsnelWAFiE,
          );
          if (!kNWClwNpWkhUiUnu) return;
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.UuYFyMelxcIiuATS?.call();
          });
          final RJJZEVUaxDvrzUJv = await pUedSqApqySLXfuk.ahWEMLhfSiuhBwFl.wanYqaCFigqxxdwW<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            BozapwVfDLDEsXet: (map) => _YIMTable_Conversation.fromJson(map),
            bNcvVipPUFFpNiXa: Finder(
              filter: Filter.and([
                Filter.equals("lastMessage.to", vINCQVmsnelWAFiE),
                Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.Team.rawValue),
              ]),
            ),
          );
          if (RJJZEVUaxDvrzUJv == null) {
            return;
          }
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.WXBRvbiPvYYuBfEB?.call(RJJZEVUaxDvrzUJv.map((e) => YIMConversation(OxbmHPoYuPTpcmgT: e)).toList());
          });
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.zHgleWmPuHcFiIOd?.call(vINCQVmsnelWAFiE);
          });
        }
        break;
      case "receipt_room":
        List<String> AcyypogxuJkWXSXt = (rFbpbySHruxzmGYR["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final vINCQVmsnelWAFiE in AcyypogxuJkWXSXt) {
          pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
            iDxDuKoCRjwSpSnP.tAlpmicvlJCqimjh.zHgleWmPuHcFiIOd?.call(vINCQVmsnelWAFiE);
          });
        }
        break;
      case "event_online":
        final BGrmIYkVWtadfTeG = rFbpbySHruxzmGYR["user"] as String;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.GpomDEVvXCcSfmHF.gAFSTHcRNqiYSUPX?.call(BGrmIYkVWtadfTeG, YIMEnum_EventOnline.Online);
        });
        break;
      case "event_offline":
        final BGrmIYkVWtadfTeG = rFbpbySHruxzmGYR["user"] as String;
        pUedSqApqySLXfuk.UdAwLgllDinVqLkg.JraVUDkLNAsqCzWV(() {
          iDxDuKoCRjwSpSnP.GpomDEVvXCcSfmHF.gAFSTHcRNqiYSUPX?.call(BGrmIYkVWtadfTeG, YIMEnum_EventOnline.Offline);
        });
        break;
      case "update_user":
        pUedSqApqySLXfuk.LNoEFVterpfBmSay = YIMUser.fromJson(rFbpbySHruxzmGYR["user"]);
    }
  });
}