|
|
@ -25,42 +25,43 @@ func (m *MsgMongoDriver) ConvertMsgsDocLen(ctx context.Context, conversationIDs
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(msgDocs) < 1 {
|
|
|
|
if len(msgDocs) < 1 {
|
|
|
|
// log.ZDebug(ctx, "len(msgs) < 1", "conversationID", conversationID)
|
|
|
|
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
}
|
|
|
|
log.ZInfo(ctx, "msg doc convert", "conversationID", conversationID, "len(msgDocs)", len(msgDocs))
|
|
|
|
log.ZInfo(ctx, "msg doc convert", "conversationID", conversationID, "len(msgDocs)", len(msgDocs))
|
|
|
|
if _, err := m.MsgCollection.DeleteMany(ctx, bson.M{"doc_id": regex}); err != nil {
|
|
|
|
if len(msgDocs[0].Msg) == int(m.model.GetSingleGocMsgNum5000()) {
|
|
|
|
log.ZError(ctx, "convertAll delete many failed", err, "conversationID", conversationID)
|
|
|
|
if _, err := m.MsgCollection.DeleteMany(ctx, bson.M{"doc_id": regex}); err != nil {
|
|
|
|
continue
|
|
|
|
log.ZError(ctx, "convertAll delete many failed", err, "conversationID", conversationID)
|
|
|
|
}
|
|
|
|
|
|
|
|
var newMsgDocs []interface{}
|
|
|
|
|
|
|
|
for _, msgDoc := range msgDocs {
|
|
|
|
|
|
|
|
if int64(len(msgDoc.Msg)) == m.model.GetSingleGocMsgNum() {
|
|
|
|
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var index int64
|
|
|
|
var newMsgDocs []interface{}
|
|
|
|
for index < int64(len(msgDoc.Msg)) {
|
|
|
|
for _, msgDoc := range msgDocs {
|
|
|
|
msg := msgDoc.Msg[index]
|
|
|
|
if int64(len(msgDoc.Msg)) == m.model.GetSingleGocMsgNum() {
|
|
|
|
if msg != nil && msg.Msg != nil {
|
|
|
|
continue
|
|
|
|
msgDocModel := table.MsgDocModel{DocID: m.model.GetDocID(conversationID, msg.Msg.Seq)}
|
|
|
|
}
|
|
|
|
end := index + m.model.GetSingleGocMsgNum()
|
|
|
|
var index int64
|
|
|
|
if int(end) >= len(msgDoc.Msg) {
|
|
|
|
for index < int64(len(msgDoc.Msg)) {
|
|
|
|
msgDocModel.Msg = msgDoc.Msg[index:]
|
|
|
|
msg := msgDoc.Msg[index]
|
|
|
|
|
|
|
|
if msg != nil && msg.Msg != nil {
|
|
|
|
|
|
|
|
msgDocModel := table.MsgDocModel{DocID: m.model.GetDocID(conversationID, msg.Msg.Seq)}
|
|
|
|
|
|
|
|
end := index + m.model.GetSingleGocMsgNum()
|
|
|
|
|
|
|
|
if int(end) >= len(msgDoc.Msg) {
|
|
|
|
|
|
|
|
msgDocModel.Msg = msgDoc.Msg[index:]
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
msgDocModel.Msg = msgDoc.Msg[index:end]
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
newMsgDocs = append(newMsgDocs, msgDocModel)
|
|
|
|
|
|
|
|
index = end
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
msgDocModel.Msg = msgDoc.Msg[index:end]
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newMsgDocs = append(newMsgDocs, msgDocModel)
|
|
|
|
|
|
|
|
index = end
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_, err = m.MsgCollection.InsertMany(ctx, newMsgDocs)
|
|
|
|
_, err = m.MsgCollection.InsertMany(ctx, newMsgDocs)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
log.ZError(ctx, "convertAll insert many failed", err, "conversationID", conversationID)
|
|
|
|
log.ZError(ctx, "convertAll insert many failed", err, "conversationID", conversationID)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
log.ZInfo(ctx, "convertAll insert many success", "conversationID", conversationID)
|
|
|
|
log.ZInfo(ctx, "convertAll insert many success", "conversationID", conversationID)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|