mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-23 09:50:27 +08:00
pull
This commit is contained in:
parent
0b5838c79b
commit
03679caed9
@ -134,7 +134,6 @@ func (m *msgServer) GetMaxSeq(ctx context.Context, req *sdkws.GetMaxSeqReq) (*sd
|
|||||||
for _, conversationID := range conversationIDs {
|
for _, conversationID := range conversationIDs {
|
||||||
conversationIDs = append(conversationIDs, utils.GetNotificationConvetstionID(conversationID))
|
conversationIDs = append(conversationIDs, utils.GetNotificationConvetstionID(conversationID))
|
||||||
}
|
}
|
||||||
conversationIDs = append(conversationIDs, utils.GetSelfNotificationConversationID(req.UserID)...)
|
|
||||||
log.ZDebug(ctx, "GetMaxSeq", "conversationIDs", conversationIDs)
|
log.ZDebug(ctx, "GetMaxSeq", "conversationIDs", conversationIDs)
|
||||||
maxSeqs, err := m.MsgDatabase.GetMaxSeqs(ctx, conversationIDs)
|
maxSeqs, err := m.MsgDatabase.GetMaxSeqs(ctx, conversationIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -154,7 +153,8 @@ func (m *msgServer) PullMessageBySeqs(ctx context.Context, req *sdkws.PullMessag
|
|||||||
if !utils.IsNotification(seq.ConversationID) {
|
if !utils.IsNotification(seq.ConversationID) {
|
||||||
msgs, err := m.MsgDatabase.GetMsgBySeqsRange(ctx, seq.ConversationID, seq.Begin, seq.End, seq.Num)
|
msgs, err := m.MsgDatabase.GetMsgBySeqsRange(ctx, seq.ConversationID, seq.Begin, seq.End, seq.Num)
|
||||||
if err != nil {
|
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}
|
resp.Msgs[seq.ConversationID] = &sdkws.PullMsgs{Msgs: msgs}
|
||||||
} else {
|
} else {
|
||||||
@ -164,7 +164,8 @@ func (m *msgServer) PullMessageBySeqs(ctx context.Context, req *sdkws.PullMessag
|
|||||||
}
|
}
|
||||||
notificationMsgs, err := m.MsgDatabase.GetMsgBySeqs(ctx, seq.ConversationID, seqs)
|
notificationMsgs, err := m.MsgDatabase.GetMsgBySeqs(ctx, seq.ConversationID, seqs)
|
||||||
if err != nil {
|
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}
|
resp.Msgs[seq.ConversationID] = &sdkws.PullMsgs{Msgs: notificationMsgs}
|
||||||
|
|
||||||
|
@ -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))
|
log.ZDebug(ctx, "findMsgBySeq", "docID", docID, "seqs", seqs, "beginSeq", beginSeq, "endSeq", endSeq, "len(msgs)", len(msgs))
|
||||||
seqMsgs = append(seqMsgs, msgs...)
|
seqMsgs = append(seqMsgs, msgs...)
|
||||||
for i, seq := range seqs {
|
if len(msgs) == 0 {
|
||||||
for _, msg := range msgs {
|
unExistSeqs = seqs
|
||||||
if seq == msg.Seq {
|
} else {
|
||||||
break
|
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)
|
msgs, _, unExistSeqs, err = db.GetMsgAndIndexBySeqsInOneDoc(ctx, docID, unExistSeqs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user