CveoqPyErDMMWliG method

Future<void> CveoqPyErDMMWliG(
  1. String zaTIYcRGXhHqbuJY,
  2. Map<String, dynamic> mCBPWMvoUJveFdlV
)

Implementation

Future<void> CveoqPyErDMMWliG(String zaTIYcRGXhHqbuJY, Map<String, dynamic> mCBPWMvoUJveFdlV) async {
  await zcorlFsMNiLCYtaD.synchronized(() async {
    var DwghiTuezKxDQKJq = new Lock();
    Future<void> FCFPbOAjMPsDWgge(YIMMessage LzYZgypaJvlVWNba, bool uqbEGPnKphgxoVSZ, {void Function(bool BYQhAOcHRUuLSvkg)? WeQhHiCFWrXRykFU}) async {
      await DwghiTuezKxDQKJq.synchronized(() async {
        if (LzYZgypaJvlVWNba.id == ReoPCjaUHvoEpqPz) return;
        ReoPCjaUHvoEpqPz = LzYZgypaJvlVWNba.id;
        switch (LzYZgypaJvlVWNba.conversationType) {
          case YIMEnum_ConversationType.P2P:
            final SgNaxYQfLxOCnKld = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.SgNaxYQfLxOCnKld(
              _YIMTableName.Message,
              filter: Filter.equals("id", LzYZgypaJvlVWNba.id),
            );
            if (SgNaxYQfLxOCnKld == null) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            if (SgNaxYQfLxOCnKld > 0) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            final lKXAxjMlubuYIVYN = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.vINnFFQGnIJPZAIj(
              _YIMTableName.Message,
              mCBPWMvoUJveFdlV: _YIMTable_Message(LzYZgypaJvlVWNba: LzYZgypaJvlVWNba),
            );
            if (!lKXAxjMlubuYIVYN) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            final lJJHuNCxLYuccEFO = await UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.wMubTEqkFbXrseOf(
              LzYZgypaJvlVWNba.conversationType,
              LzYZgypaJvlVWNba.from == LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ ? LzYZgypaJvlVWNba.to : LzYZgypaJvlVWNba.from,
              uiHyFYalrgOKbWFH: (LzYZgypaJvlVWNba.from != LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ && LzYZgypaJvlVWNba.messageState == YIMEnum_MessageState.Success_UnRead) ? HWeWyeCJyQtwlSNl.odHTDFQDIWZrltfj : HWeWyeCJyQtwlSNl.LYybvXEMeNKoyHfF,
            );
            if (!lJJHuNCxLYuccEFO) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            if (uqbEGPnKphgxoVSZ)
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.yalZOpINSoHltNYa?.call([LzYZgypaJvlVWNba]);
              });
            else
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.cNmAhHAKCtKEemPx?.call([LzYZgypaJvlVWNba]);
              });
            WeQhHiCFWrXRykFU?.call(true);
            break;
          case YIMEnum_ConversationType.Team:
            final SgNaxYQfLxOCnKld = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.SgNaxYQfLxOCnKld(
              _YIMTableName.Message,
              filter: Filter.equals("id", LzYZgypaJvlVWNba.id),
            );
            if (SgNaxYQfLxOCnKld == null) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            if (SgNaxYQfLxOCnKld > 0) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            final lKXAxjMlubuYIVYN = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.vINnFFQGnIJPZAIj(
              _YIMTableName.Message,
              mCBPWMvoUJveFdlV: _YIMTable_Message(LzYZgypaJvlVWNba: LzYZgypaJvlVWNba),
            );
            if (!lKXAxjMlubuYIVYN) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            final lJJHuNCxLYuccEFO = await UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.wMubTEqkFbXrseOf(
              LzYZgypaJvlVWNba.conversationType,
              LzYZgypaJvlVWNba.to,
              uiHyFYalrgOKbWFH: (LzYZgypaJvlVWNba.from != LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ) ? HWeWyeCJyQtwlSNl.odHTDFQDIWZrltfj : HWeWyeCJyQtwlSNl.LYybvXEMeNKoyHfF,
            );
            if (!lJJHuNCxLYuccEFO) {
              WeQhHiCFWrXRykFU?.call(false);
              return;
            }
            if (uqbEGPnKphgxoVSZ)
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.yalZOpINSoHltNYa?.call([LzYZgypaJvlVWNba]);
              });
            else
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.cNmAhHAKCtKEemPx?.call([LzYZgypaJvlVWNba]);
              });
            WeQhHiCFWrXRykFU?.call(true);
            break;
          case YIMEnum_ConversationType.ChatRoom:
            if (uqbEGPnKphgxoVSZ)
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.yalZOpINSoHltNYa?.call([LzYZgypaJvlVWNba]);
              });
            else
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.cNmAhHAKCtKEemPx?.call([LzYZgypaJvlVWNba]);
              });
            WeQhHiCFWrXRykFU?.call(true);
            break;
          default:
            break;
        }
      });
    }

    switch (zaTIYcRGXhHqbuJY) {
      case "loginFailed":
        WKbSkPXLbLldbxaH(mCBPWMvoUJveFdlV["msg"].toString());
        break;
      case "loginSuccess":
        if (UrZeuHOtqxEKrnqa) return;
        UrZeuHOtqxEKrnqa = true;
        miCJOknoynsgrBuq?.cancel();
        miCJOknoynsgrBuq = null;
        KJryxFxBcDUYzICs?.cancel();
        KJryxFxBcDUYzICs = null;
        miCJOknoynsgrBuq = Timer.periodic(Duration(seconds: 5), (timer) {
          if (!UFWAGwHDnWMkeYVR.EPwtIwAAPGFWUsid.WPtNMuRLJwMSwfMW(XfizYRBqzpZSWRWC: true) || nkgXyDoyNvfKHhmY == null) {
            if (!pPjuKaRTSxFujXyn) {
              pPjuKaRTSxFujXyn = true;
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.fKXxGacbyIPwTFAI?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Reconnecting, msg: "Reconnecting"));
              });
              uEIwYkJJogSwVEFp(true);
              Future.delayed(Duration(seconds: 1), () {
                vtrcSxfaPdTrnwHR(true);
                Future.delayed(Duration(seconds: 5), () {
                  if (pPjuKaRTSxFujXyn) {
                    pPjuKaRTSxFujXyn = false;
                    uEIwYkJJogSwVEFp(true);
                  }
                });
              });
            }
          } else {
            if (pPjuKaRTSxFujXyn) {
              pPjuKaRTSxFujXyn = false;
              vOSwpzDPuugJOHPs();
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.fKXxGacbyIPwTFAI?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Reconnected, msg: "Reconnected"));
              });
            }
            // LLTqoNwdULMbTCMh.rkgLYlaZYATBeHZH.sEnkoxXAwuAQuaxN("refreshOnline");
          }
        });
        LLTqoNwdULMbTCMh.jgLTIuyajFGofHiY = YIMUser.fromJson(mCBPWMvoUJveFdlV["user"]);
        LLTqoNwdULMbTCMh.PdyMuAjmbglFlzue = (mCBPWMvoUJveFdlV["conversationTops"] as List<dynamic>).map((e) => e.toString()).toList();
        LLTqoNwdULMbTCMh.DHXdZrERwbjGjSnl = (mCBPWMvoUJveFdlV["disturbs_p2p"] as List<dynamic>).map((e) => e.toString()).toList();
        LLTqoNwdULMbTCMh.FiabNWRUlXjYxtWH = (mCBPWMvoUJveFdlV["disturbs_team"] as List<dynamic>).map((e) => e.toString()).toList();
        LLTqoNwdULMbTCMh.vwIBJtuDcnHAfSXz.txIKKaRxlMFPMiaE(mCBPWMvoUJveFdlV["oss"]);
        LLTqoNwdULMbTCMh.vIxExKsyXmvzKfNM.txIKKaRxlMFPMiaE(LLTqoNwdULMbTCMh.yWiKPzRWuKnMOmDg?.push ?? mCBPWMvoUJveFdlV["push"]);
        //同步云端会话
        sEnkoxXAwuAQuaxN("queryConversations", YDAPNnFGlbnwsGKD: (BYQhAOcHRUuLSvkg, IvMCaaSVIWcQArzH, oCgstdHjeFkEZJjg, cDeQIDiofjWaDrqG) {
          if (BYQhAOcHRUuLSvkg) {
            List<Map<String, dynamic>> NRCLMrfOZrvArMzt = (IvMCaaSVIWcQArzH?["conversations"] as List<dynamic>).map((m) => m as Map<String, dynamic>).toList();
            if (NRCLMrfOZrvArMzt.isEmpty) return;
            UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.ajTLACjgidEMYssN(
              WeQhHiCFWrXRykFU: (uPYgvxFwWZJlLsIn) {
                //过滤本地已经存在的云端会话
                uPYgvxFwWZJlLsIn?.forEach((tmmBlSfEBRBRYXTr) {
                  switch (tmmBlSfEBRBRYXTr.lastMessage.conversationType) {
                    case YIMEnum_ConversationType.P2P:
                      final APZrxmPSOMdFqrhE = tmmBlSfEBRBRYXTr.lastMessage.from == LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ ? tmmBlSfEBRBRYXTr.lastMessage.to : tmmBlSfEBRBRYXTr.lastMessage.from;
                      for (var xlgxeWrkNENuzDfw = NRCLMrfOZrvArMzt.length - 1; xlgxeWrkNENuzDfw >= 0; xlgxeWrkNENuzDfw--) {
                        if (NRCLMrfOZrvArMzt[xlgxeWrkNENuzDfw]["conversationID"] == APZrxmPSOMdFqrhE) NRCLMrfOZrvArMzt.removeAt(xlgxeWrkNENuzDfw);
                      }
                      break;
                    case YIMEnum_ConversationType.Team:
                      final APZrxmPSOMdFqrhE = tmmBlSfEBRBRYXTr.lastMessage.to;
                      for (var xlgxeWrkNENuzDfw = NRCLMrfOZrvArMzt.length - 1; xlgxeWrkNENuzDfw >= 0; xlgxeWrkNENuzDfw--) {
                        if (NRCLMrfOZrvArMzt[xlgxeWrkNENuzDfw]["conversationID"] == APZrxmPSOMdFqrhE) NRCLMrfOZrvArMzt.removeAt(xlgxeWrkNENuzDfw);
                      }
                      break;
                    default:
                      break;
                  }
                });
                //将本地没有的云端会话,把消息同步下来
                for (final tmmBlSfEBRBRYXTr in NRCLMrfOZrvArMzt.reversed) {
                  UFWAGwHDnWMkeYVR.IpkZazzvRuaGbyHz.dKImelBzqvVekLTJ(
                    TMhjsByyUuXcscSR: YIMEnum_ConversationType.from(tmmBlSfEBRBRYXTr["conversationType"].toString()),
                    APZrxmPSOMdFqrhE: tmmBlSfEBRBRYXTr["conversationID"].toString(),
                    ltzhgYAFFqftwevn: LLTqoNwdULMbTCMh.JslmlShSPvANjIom.ZrPacjIpgcwIgoUG,
                    WeQhHiCFWrXRykFU: (BYQhAOcHRUuLSvkg, lvfuraErEoAQLgmw) async {
                      if (BYQhAOcHRUuLSvkg) {
                        for (var i = 0; i < lvfuraErEoAQLgmw!.length; i++) {
                          await FCFPbOAjMPsDWgge(lvfuraErEoAQLgmw[i], false, WeQhHiCFWrXRykFU: (BYQhAOcHRUuLSvkg) async {
                            if (!BYQhAOcHRUuLSvkg) return;
                            Filter? LebqekJGWsJVYQvG;
                            switch (YIMEnum_ConversationType.from(tmmBlSfEBRBRYXTr["conversationType"].toString())) {
                              case YIMEnum_ConversationType.P2P:
                                LebqekJGWsJVYQvG = Filter.and([
                                  Filter.or([
                                    Filter.and([Filter.equals("lastMessage.from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.to", tmmBlSfEBRBRYXTr["conversationID"])]),
                                    Filter.and([Filter.equals("lastMessage.to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.from", tmmBlSfEBRBRYXTr["conversationID"])]),
                                  ]),
                                  Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.P2P.rawValue),
                                ]);
                                break;
                              case YIMEnum_ConversationType.Team:
                                LebqekJGWsJVYQvG = Filter.and([
                                  Filter.equals("lastMessage.to", tmmBlSfEBRBRYXTr["conversationID"]),
                                  Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.Team.rawValue),
                                ]);
                                break;
                              case YIMEnum_ConversationType.ChatRoom:
                                break;
                              default:
                                break;
                            }
                            final iafskpKlGrFTaGEh = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.YBmRYDaAbsiKcUrK<_YIMTable_Conversation>(
                              _YIMTableName.Conversation,
                              (TrZFRTVNLEkwWgMf) => TrZFRTVNLEkwWgMf!..unRead = int.parse(tmmBlSfEBRBRYXTr["unReadCount"].toString()),
                              KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
                              RaxVrYLTOIwElzzS: Finder(filter: LebqekJGWsJVYQvG),
                            );
                            if (!iafskpKlGrFTaGEh) return;
                            if (i >= lvfuraErEoAQLgmw.length - 1) {
                              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
                              });
                              Filter? RyDvVcXmnThgbKWY;
                              switch (YIMEnum_ConversationType.from(tmmBlSfEBRBRYXTr["conversationType"].toString())) {
                                case YIMEnum_ConversationType.P2P:
                                  RyDvVcXmnThgbKWY = Filter.and([
                                    Filter.or([
                                      Filter.and([Filter.equals("lastMessage.from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.to", tmmBlSfEBRBRYXTr["conversationID"])]),
                                      Filter.and([Filter.equals("lastMessage.to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.from", tmmBlSfEBRBRYXTr["conversationID"])]),
                                    ]),
                                    Filter.equals("lastMessage.conversationType", tmmBlSfEBRBRYXTr["conversationType"]),
                                  ]);
                                  break;
                                case YIMEnum_ConversationType.Team:
                                  RyDvVcXmnThgbKWY = Filter.and([
                                    Filter.equals("lastMessage.to", tmmBlSfEBRBRYXTr["conversationID"]),
                                    Filter.equals("lastMessage.conversationType", tmmBlSfEBRBRYXTr["conversationType"]),
                                  ]);
                                  break;
                              }
                              final ksHlUMCxsMwUBrvE = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Conversation>(
                                _YIMTableName.Conversation,
                                KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
                                RaxVrYLTOIwElzzS: Finder(filter: RyDvVcXmnThgbKWY),
                              );
                              if (ksHlUMCxsMwUBrvE == null) {
                                return;
                              }
                              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.fwpmsLrZmnkZYHpn?.call(ksHlUMCxsMwUBrvE.map((e) => YIMConversation(tmmBlSfEBRBRYXTr: e)).toList());
                              });
                            }
                          });
                        }
                      }
                    },
                  );
                }
              },
            );
          }
        });
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          VvXapqbvRSBwcBox?.call(YIMResult<YIMEnum_LoginResult>(code: YIMEnum_LoginResult.Success, msg: "success"));
        });
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          VvXapqbvRSBwcBox = null;
        });
        //将历史的发送中消息,置为失败状态
        await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.bNJxPZuTchaIARGE(
          _YIMTableName.Message,
          () {
            return {"messageState": YIMEnum_MessageState.Fail.rawValue};
          },
          RaxVrYLTOIwElzzS: Finder(filter: Filter.equals("messageState", YIMEnum_MessageState.Sending.rawValue)),
        );
        UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.ajTLACjgidEMYssN(WeQhHiCFWrXRykFU: (uPYgvxFwWZJlLsIn) async {
          if (uPYgvxFwWZJlLsIn == null) return;
          for (var tmmBlSfEBRBRYXTr in uPYgvxFwWZJlLsIn) {
            await UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.wMubTEqkFbXrseOf(tmmBlSfEBRBRYXTr.lastMessage.conversationType, tmmBlSfEBRBRYXTr.lastMessage.getConversatinoID());
          }
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
          });
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(uPYgvxFwWZJlLsIn);
          });
        });
        break;
      case "conversation_top_update":
        List<String> PdyMuAjmbglFlzue = (mCBPWMvoUJveFdlV["conversationTops"] as List).map((element) => element.toString()).toList();
        LLTqoNwdULMbTCMh.PdyMuAjmbglFlzue = PdyMuAjmbglFlzue;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
        });
        if (UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN != null) {
          UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.ajTLACjgidEMYssN(WeQhHiCFWrXRykFU: (uPYgvxFwWZJlLsIn) {
            if (uPYgvxFwWZJlLsIn == null) return;
            LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
              UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(uPYgvxFwWZJlLsIn);
            });
          });
        }
        break;
      case "disturbs_p2p_update":
        List<String> DHXdZrERwbjGjSnl = (mCBPWMvoUJveFdlV["disturbs_p2p"] as List).map((element) => element.toString()).toList();
        LLTqoNwdULMbTCMh.DHXdZrERwbjGjSnl = DHXdZrERwbjGjSnl;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
        });
        if (UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN != null) {
          UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.ajTLACjgidEMYssN(WeQhHiCFWrXRykFU: (uPYgvxFwWZJlLsIn) {
            if (uPYgvxFwWZJlLsIn == null) return;
            LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
              UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(uPYgvxFwWZJlLsIn);
            });
          });
        }
        break;
      case "disturbs_team_update":
        List<String> FiabNWRUlXjYxtWH = (mCBPWMvoUJveFdlV["disturbs_team"] as List).map((element) => element.toString()).toList();
        LLTqoNwdULMbTCMh.FiabNWRUlXjYxtWH = FiabNWRUlXjYxtWH;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
        });
        if (UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN != null) {
          UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.ajTLACjgidEMYssN(WeQhHiCFWrXRykFU: (uPYgvxFwWZJlLsIn) {
            if (uPYgvxFwWZJlLsIn == null) return;
            LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
              UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(uPYgvxFwWZJlLsIn);
            });
          });
        }
        break;
      case "kick":
        UFWAGwHDnWMkeYVR.EPwtIwAAPGFWUsid.jqOkmGyFpWidQoCq();
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.fKXxGacbyIPwTFAI?.call(YIMResult<YIMEnum_OnlineState>(code: YIMEnum_OnlineState.Kick, msg: "Kicked by ${mCBPWMvoUJveFdlV["device"]} device"));
        });
        break;
      case "kick_room":
        final lZUhKaLksbDQgDtw = mCBPWMvoUJveFdlV["roomID"] as String;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.jgDwPEaAOgmbgPlx?.call(lZUhKaLksbDQgDtw);
        });
        break;
      case "close_room":
        final lZUhKaLksbDQgDtw = mCBPWMvoUJveFdlV["roomID"] as String;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.kaBrHfqBopKdwaBk?.call(lZUhKaLksbDQgDtw);
        });
        break;
      case "message":
      case "message_sync":
        final lvfuraErEoAQLgmw = (mCBPWMvoUJveFdlV["messages"] as List<dynamic>).map((element) => YIMMessage(LzYZgypaJvlVWNba: _YIMTable_Message.fromJson(element))).toList();
        for (var LzYZgypaJvlVWNba in lvfuraErEoAQLgmw) {
          Filter? RyDvVcXmnThgbKWY;
          switch (LzYZgypaJvlVWNba.conversationType) {
            case YIMEnum_ConversationType.P2P:
              RyDvVcXmnThgbKWY = Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.to", LzYZgypaJvlVWNba.getConversatinoID())]),
                  Filter.and([Filter.equals("lastMessage.to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.from", LzYZgypaJvlVWNba.getConversatinoID())]),
                ]),
                Filter.equals("lastMessage.conversationType", LzYZgypaJvlVWNba.conversationType.rawValue),
              ]);
              break;
            case YIMEnum_ConversationType.Team:
              RyDvVcXmnThgbKWY = Filter.and([
                Filter.equals("lastMessage.to", LzYZgypaJvlVWNba.getConversatinoID()),
                Filter.equals("lastMessage.conversationType", LzYZgypaJvlVWNba.conversationType.rawValue),
              ]);
              break;
            case YIMEnum_ConversationType.ChatRoom:
              RyDvVcXmnThgbKWY = Filter.and([
                Filter.equals("lastMessage.conversationType", LzYZgypaJvlVWNba.conversationType.rawValue),
              ]);
              break;
          }
          var ksHlUMCxsMwUBrvE = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
            RaxVrYLTOIwElzzS: Finder(filter: RyDvVcXmnThgbKWY),
          );
          if (ksHlUMCxsMwUBrvE == null) {
            return;
          }
          await FCFPbOAjMPsDWgge(LzYZgypaJvlVWNba, zaTIYcRGXhHqbuJY == "message", WeQhHiCFWrXRykFU: (BYQhAOcHRUuLSvkg) async {
            if (!BYQhAOcHRUuLSvkg) return;
            final drfbZZKgjrUXPQYW = ksHlUMCxsMwUBrvE!.isEmpty;
            ksHlUMCxsMwUBrvE = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Conversation>(
              _YIMTableName.Conversation,
              KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
              RaxVrYLTOIwElzzS: Finder(filter: RyDvVcXmnThgbKWY),
            );
            if (ksHlUMCxsMwUBrvE == null) {
              return;
            }
            if ([YIMEnum_ConversationType.P2P, YIMEnum_ConversationType.Team].contains(LzYZgypaJvlVWNba.conversationType)) {
              if (drfbZZKgjrUXPQYW) {
                //新增的会话
                LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                  UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.fwpmsLrZmnkZYHpn?.call(ksHlUMCxsMwUBrvE!.map((e) => YIMConversation(tmmBlSfEBRBRYXTr: e)).toList());
                });
              } else {
                //原有的会话
                LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                  UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(ksHlUMCxsMwUBrvE!.map((e) => YIMConversation(tmmBlSfEBRBRYXTr: e)).toList());
                });
              }
              LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
                UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
              });
            }
          });
        }
        break;
      case "broadcast":
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.lQlIhUskEfXAehSF?.call(YIMBroadcastMessage.fromJson(mCBPWMvoUJveFdlV["message"]));
        });
        break;
      case "notification":
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.cPhgGdhYxPDFaUdj?.call(YIMNotificationMessage.fromJson(mCBPWMvoUJveFdlV["message"]));
        });
        break;
      case "push":
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.nnWYPDZDPTjfrkVX?.call(YIMPushMessage.fromJson(mCBPWMvoUJveFdlV["message"]));
        });
        break;
      case "revoke":
      case "revoke_sync":
        for (final UZeEzfFadcCpVPRB in (mCBPWMvoUJveFdlV["messages"] as List<dynamic>)) {
          final LzYZgypaJvlVWNba = YIMRevokeMessage.fromJson(UZeEzfFadcCpVPRB);
          if ([YIMEnum_ConversationType.P2P, YIMEnum_ConversationType.Team].contains(LzYZgypaJvlVWNba.conversationType)) {
            final VvbzkqrRGTSCFXwh = await UFWAGwHDnWMkeYVR.IpkZazzvRuaGbyHz.NANVuoPzMzZTNzWc(
              LzYZgypaJvlVWNba.conversationType,
              LzYZgypaJvlVWNba.messageID,
            );
            if (!VvbzkqrRGTSCFXwh) return;
            final lJJHuNCxLYuccEFO = await UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.wMubTEqkFbXrseOf(
              LzYZgypaJvlVWNba.conversationType,
              LzYZgypaJvlVWNba.conversationID,
              // unRead: _YIMEnum_ConversatypeUnRead.Minus,
            );
            if (!lJJHuNCxLYuccEFO) return;
            LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
              UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
            });
            Filter? RyDvVcXmnThgbKWY;
            switch (LzYZgypaJvlVWNba.conversationType) {
              case YIMEnum_ConversationType.P2P:
                RyDvVcXmnThgbKWY = Filter.and([
                  Filter.or([
                    Filter.and([Filter.equals("lastMessage.from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.to", LzYZgypaJvlVWNba.conversationID)]),
                    Filter.and([Filter.equals("lastMessage.to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.from", LzYZgypaJvlVWNba.conversationID)]),
                  ]),
                  Filter.equals("lastMessage.conversationType", LzYZgypaJvlVWNba.conversationType.rawValue),
                ]);
                break;
              case YIMEnum_ConversationType.Team:
                RyDvVcXmnThgbKWY = Filter.and([
                  Filter.equals("lastMessage.to", LzYZgypaJvlVWNba.conversationID),
                  Filter.equals("lastMessage.conversationType", LzYZgypaJvlVWNba.conversationType.rawValue),
                ]);
                break;
            }
            final ksHlUMCxsMwUBrvE = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Conversation>(
              _YIMTableName.Conversation,
              KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
              RaxVrYLTOIwElzzS: Finder(filter: RyDvVcXmnThgbKWY),
            );
            if (ksHlUMCxsMwUBrvE == null) {
              return;
            }
            LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
              UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(ksHlUMCxsMwUBrvE.map((e) => YIMConversation(tmmBlSfEBRBRYXTr: e)).toList());
            });
          }
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.LSpBkUMWYgUlRILq?.call(LzYZgypaJvlVWNba);
          });
        }
        break;
      case "receipt_p2p":
        List<String> dNGfoXzagEiUFioI = (mCBPWMvoUJveFdlV["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final APZrxmPSOMdFqrhE in dNGfoXzagEiUFioI) {
          final PaRmLOscFwBqYozV = await UFWAGwHDnWMkeYVR.IpkZazzvRuaGbyHz.XVdMdqaGLUZlUzMl(
            YIMEnum_ConversationType.P2P,
            APZrxmPSOMdFqrhE,
            false,
          );
          if (!PaRmLOscFwBqYozV) return;
          final lJJHuNCxLYuccEFO = await UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.wMubTEqkFbXrseOf(
            YIMEnum_ConversationType.P2P,
            APZrxmPSOMdFqrhE,
          );
          if (!lJJHuNCxLYuccEFO) return;
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
          });
          final ksHlUMCxsMwUBrvE = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
            RaxVrYLTOIwElzzS: Finder(
              filter: Filter.and([
                Filter.or([
                  Filter.and([Filter.equals("lastMessage.from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.to", APZrxmPSOMdFqrhE)]),
                  Filter.and([Filter.equals("lastMessage.to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.from", APZrxmPSOMdFqrhE)]),
                ]),
                Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.P2P.rawValue),
              ]),
            ),
          );
          if (ksHlUMCxsMwUBrvE == null) {
            return;
          }
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(ksHlUMCxsMwUBrvE.map((e) => YIMConversation(tmmBlSfEBRBRYXTr: e)).toList());
          });
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.STUzALALsNLnvAoG?.call(APZrxmPSOMdFqrhE);
          });
        }
        break;
      case "receipt_team":
        List<String> dNGfoXzagEiUFioI = (mCBPWMvoUJveFdlV["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final APZrxmPSOMdFqrhE in dNGfoXzagEiUFioI) {
          final PaRmLOscFwBqYozV = await UFWAGwHDnWMkeYVR.IpkZazzvRuaGbyHz.XVdMdqaGLUZlUzMl(
            YIMEnum_ConversationType.Team,
            APZrxmPSOMdFqrhE,
            false,
          );
          if (!PaRmLOscFwBqYozV) return;
          final lJJHuNCxLYuccEFO = await UFWAGwHDnWMkeYVR.uzkozbjuyYvNIrYu.wMubTEqkFbXrseOf(
            YIMEnum_ConversationType.Team,
            APZrxmPSOMdFqrhE,
          );
          if (!lJJHuNCxLYuccEFO) return;
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.wFocFAyakMKTXEwq?.call();
          });
          final ksHlUMCxsMwUBrvE = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Conversation>(
            _YIMTableName.Conversation,
            KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
            RaxVrYLTOIwElzzS: Finder(
              filter: Filter.and([
                Filter.equals("lastMessage.to", APZrxmPSOMdFqrhE),
                Filter.equals("lastMessage.conversationType", YIMEnum_ConversationType.Team.rawValue),
              ]),
            ),
          );
          if (ksHlUMCxsMwUBrvE == null) {
            return;
          }
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.xwwJXzdAXRAijlBN?.call(ksHlUMCxsMwUBrvE.map((e) => YIMConversation(tmmBlSfEBRBRYXTr: e)).toList());
          });
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.STUzALALsNLnvAoG?.call(APZrxmPSOMdFqrhE);
          });
        }
        break;
      case "receipt_room":
        List<String> dNGfoXzagEiUFioI = (mCBPWMvoUJveFdlV["conversationIDs"] as List).map((element) => element.toString()).toList();
        for (final APZrxmPSOMdFqrhE in dNGfoXzagEiUFioI) {
          LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
            UFWAGwHDnWMkeYVR.drSbAyhOZTsmWGTg.STUzALALsNLnvAoG?.call(APZrxmPSOMdFqrhE);
          });
        }
        break;
      case "event_online":
        final EyGhqnWGTezVVEnB = mCBPWMvoUJveFdlV["user"] as String;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.fnTzLwBLboKJENZV.zEpfxXprHiKaSqtJ?.call(EyGhqnWGTezVVEnB, YIMEnum_EventOnline.Online);
        });
        break;
      case "event_offline":
        final EyGhqnWGTezVVEnB = mCBPWMvoUJveFdlV["user"] as String;
        LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
          UFWAGwHDnWMkeYVR.fnTzLwBLboKJENZV.zEpfxXprHiKaSqtJ?.call(EyGhqnWGTezVVEnB, YIMEnum_EventOnline.Offline);
        });
        break;
      case "update_user":
        LLTqoNwdULMbTCMh.jgLTIuyajFGofHiY = YIMUser.fromJson(mCBPWMvoUJveFdlV["user"]);
    }
  });
}