mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-04 03:13:15 +08:00
update clearMsg logic.
This commit is contained in:
parent
0f42b330ed
commit
031c0f1eb2
@ -2,7 +2,6 @@ package msg
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/authverify"
|
"github.com/openimsdk/open-im-server/v3/pkg/authverify"
|
||||||
@ -32,8 +31,6 @@ func (m *msgServer) ClearMsg(ctx context.Context, req *msg.ClearMsgReq) (_ *msg.
|
|||||||
start = time.Now()
|
start = time.Now()
|
||||||
)
|
)
|
||||||
clearMsg := func(ctx context.Context) (bool, error) {
|
clearMsg := func(ctx context.Context) (bool, error) {
|
||||||
conversationSeqs := make(map[string]struct{})
|
|
||||||
|
|
||||||
msgs, err := m.MsgDatabase.GetBeforeMsg(ctx, req.Timestamp, 100)
|
msgs, err := m.MsgDatabase.GetBeforeMsg(ctx, req.Timestamp, 100)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
@ -41,6 +38,7 @@ func (m *msgServer) ClearMsg(ctx context.Context, req *msg.ClearMsgReq) (_ *msg.
|
|||||||
if len(msgs) == 0 {
|
if len(msgs) == 0 {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, msg := range msgs {
|
for _, msg := range msgs {
|
||||||
index, err := m.MsgDatabase.DeleteDocMsgBefore(ctx, req.Timestamp, msg)
|
index, err := m.MsgDatabase.DeleteDocMsgBefore(ctx, req.Timestamp, msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -49,13 +47,11 @@ func (m *msgServer) ClearMsg(ctx context.Context, req *msg.ClearMsgReq) (_ *msg.
|
|||||||
if len(index) == 0 {
|
if len(index) == 0 {
|
||||||
return false, errs.ErrInternalServer.WrapMsg("delete doc msg failed")
|
return false, errs.ErrInternalServer.WrapMsg("delete doc msg failed")
|
||||||
}
|
}
|
||||||
|
|
||||||
docNum++
|
docNum++
|
||||||
msgNum += len(index)
|
msgNum += len(index)
|
||||||
conversationID := msg.DocID[:strings.LastIndex(msg.DocID, ":")]
|
|
||||||
if _, ok := conversationSeqs[conversationID]; !ok {
|
|
||||||
conversationSeqs[conversationID] = struct{}{}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,6 +65,7 @@ func (m *msgServer) ClearMsg(ctx context.Context, req *msg.ClearMsgReq) (_ *msg.
|
|||||||
log.ZInfo(ctx, "clear msg success", "docNum", docNum, "msgNum", msgNum, "cost", time.Since(start))
|
log.ZInfo(ctx, "clear msg success", "docNum", docNum, "msgNum", msgNum, "cost", time.Since(start))
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
log.ZInfo(ctx, "clearing message", "docNum", docNum, "msgNum", msgNum, "cost", time.Since(start))
|
log.ZInfo(ctx, "clearing message", "docNum", docNum, "msgNum", msgNum, "cost", time.Since(start))
|
||||||
}
|
}
|
||||||
return &msg.ClearMsgResp{}, nil
|
return &msg.ClearMsgResp{}, nil
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user