|
|
|
@ -19,6 +19,7 @@ import (
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"errors"
|
|
|
|
|
"fmt"
|
|
|
|
|
"github.com/OpenIMSDK/tools/log"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/OpenIMSDK/protocol/msg"
|
|
|
|
@ -1166,9 +1167,7 @@ func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessa
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, nil, err
|
|
|
|
|
}
|
|
|
|
|
if len(msgsDocs) == 0 {
|
|
|
|
|
return 0, nil, errs.Wrap(mongo.ErrNoDocuments)
|
|
|
|
|
}
|
|
|
|
|
log.ZDebug(ctx, "query mongoDB", "result", msgsDocs)
|
|
|
|
|
msgs := make([]*table.MsgInfoModel, 0)
|
|
|
|
|
for index := range msgsDocs {
|
|
|
|
|
msgInfo := msgsDocs[index].Msg
|
|
|
|
@ -1207,7 +1206,9 @@ func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessa
|
|
|
|
|
}
|
|
|
|
|
start := (req.Pagination.PageNumber - 1) * req.Pagination.ShowNumber
|
|
|
|
|
n := int32(len(msgs))
|
|
|
|
|
if start+req.Pagination.ShowNumber < n {
|
|
|
|
|
if start >= n {
|
|
|
|
|
return n, []*table.MsgInfoModel{}, nil
|
|
|
|
|
} else if start+req.Pagination.ShowNumber < n {
|
|
|
|
|
msgs = msgs[start : start+req.Pagination.ShowNumber]
|
|
|
|
|
} else {
|
|
|
|
|
msgs = msgs[start:]
|
|
|
|
|