From 03679caed9ba3f5af0be6f0034e3dc89b5d80ece Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 15 May 2023 16:44:59 +0800 Subject: [PATCH] pull --- internal/rpc/msg/server.go | 7 ++++--- pkg/common/db/controller/common_msg.go | 18 +++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/internal/rpc/msg/server.go b/internal/rpc/msg/server.go index f49461c1d..b82b7d81a 100644 --- a/internal/rpc/msg/server.go +++ b/internal/rpc/msg/server.go @@ -134,7 +134,6 @@ func (m *msgServer) GetMaxSeq(ctx context.Context, req *sdkws.GetMaxSeqReq) (*sd for _, conversationID := range conversationIDs { conversationIDs = append(conversationIDs, utils.GetNotificationConvetstionID(conversationID)) } - conversationIDs = append(conversationIDs, utils.GetSelfNotificationConversationID(req.UserID)...) log.ZDebug(ctx, "GetMaxSeq", "conversationIDs", conversationIDs) maxSeqs, err := m.MsgDatabase.GetMaxSeqs(ctx, conversationIDs) if err != nil { @@ -154,7 +153,8 @@ func (m *msgServer) PullMessageBySeqs(ctx context.Context, req *sdkws.PullMessag if !utils.IsNotification(seq.ConversationID) { msgs, err := m.MsgDatabase.GetMsgBySeqsRange(ctx, seq.ConversationID, seq.Begin, seq.End, seq.Num) if err != nil { - return nil, err + log.ZWarn(ctx, "GetMsgBySeqsRange error", err, "conversationID", seq.ConversationID, "seq", seq) + continue } resp.Msgs[seq.ConversationID] = &sdkws.PullMsgs{Msgs: msgs} } else { @@ -164,7 +164,8 @@ func (m *msgServer) PullMessageBySeqs(ctx context.Context, req *sdkws.PullMessag } notificationMsgs, err := m.MsgDatabase.GetMsgBySeqs(ctx, seq.ConversationID, seqs) if err != nil { - return nil, err + log.ZWarn(ctx, "GetMsgBySeqs error", err, "conversationID", seq.ConversationID, "seq", seq) + continue } resp.Msgs[seq.ConversationID] = &sdkws.PullMsgs{Msgs: notificationMsgs} diff --git a/pkg/common/db/controller/common_msg.go b/pkg/common/db/controller/common_msg.go index 3abbae275..819d20811 100644 --- a/pkg/common/db/controller/common_msg.go +++ b/pkg/common/db/controller/common_msg.go @@ -402,15 +402,19 @@ func (db *commonMsgDatabase) findMsgBySeq(ctx context.Context, docID string, seq } log.ZDebug(ctx, "findMsgBySeq", "docID", docID, "seqs", seqs, "beginSeq", beginSeq, "endSeq", endSeq, "len(msgs)", len(msgs)) seqMsgs = append(seqMsgs, msgs...) - for i, seq := range seqs { - for _, msg := range msgs { - if seq == msg.Seq { - break + if len(msgs) == 0 { + unExistSeqs = seqs + } else { + for _, seq := range seqs { + for i, msg := range msgs { + if seq == msg.Seq { + break + } + if i == len(msgs)-1 { + unExistSeqs = append(unExistSeqs, seq) + } } } - if i == len(seqs)-1 { - unExistSeqs = append(unExistSeqs, seq) - } } msgs, _, unExistSeqs, err = db.GetMsgAndIndexBySeqsInOneDoc(ctx, docID, unExistSeqs) if err != nil {