deleteWithClientMsgNo method

dynamic deleteWithClientMsgNo(
  1. String clientMsgNo
)

Implementation

deleteWithClientMsgNo(String clientMsgNo) async {
  var map = <String, Object>{};
  map['is_deleted'] = 1;

  var result = await MessageDB.shared
      .updateMsgWithFieldAndClientMsgNo(map, clientMsgNo);
  if (result > 0) {
    _setDeleteMsg(clientMsgNo);
    var wkMsg = await getWithClientMsgNo(clientMsgNo);
    if (wkMsg != null) {
      var coverMsg = await ConversationDB.shared
          .queryMsgByMsgChannelId(wkMsg.channelID, wkMsg.channelType);
      if (coverMsg != null && coverMsg.lastClientMsgNO == clientMsgNo) {
        var tempMsg = await MessageDB.shared.queryMaxOrderSeqMsgWithChannel(
            wkMsg.channelID, wkMsg.channelType);
        if (tempMsg != null) {
          var uiMsg = await WKIM.shared.conversationManager
              .saveWithLiMMsg(tempMsg, 0);
          if (uiMsg != null) {
            List<WKUIConversationMsg> uiMsgs = [];
            uiMsgs.add(uiMsg);
            WKIM.shared.conversationManager.setRefreshUIMsgs(uiMsgs);
          }
        }
      }
    }
  }
}