mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 19:32:17 +08:00 
			
		
		
		
	seq void filling
This commit is contained in:
		
							parent
							
								
									2e7a4e03d2
								
							
						
					
					
						commit
						c9c961e927
					
				@ -94,6 +94,29 @@ func (m *MsgMgo) FindOneByDocID(ctx context.Context, docID string) (*model.MsgDo
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *MsgMgo) GetMsgBySeqIndexIn1Doc(ctx context.Context, userID, docID string, seqs []int64) ([]*model.MsgInfoModel, error) {
 | 
					func (m *MsgMgo) GetMsgBySeqIndexIn1Doc(ctx context.Context, userID, docID string, seqs []int64) ([]*model.MsgInfoModel, error) {
 | 
				
			||||||
 | 
						msgs, err := m.getMsgBySeqIndexIn1Doc(ctx, userID, docID, seqs)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if len(msgs) == len(seqs) {
 | 
				
			||||||
 | 
							return msgs, nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						tmp := make(map[int64]*model.MsgInfoModel)
 | 
				
			||||||
 | 
						for i, val := range msgs {
 | 
				
			||||||
 | 
							tmp[val.Msg.Seq] = msgs[i]
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						res := make([]*model.MsgInfoModel, 0, len(seqs))
 | 
				
			||||||
 | 
						for _, seq := range seqs {
 | 
				
			||||||
 | 
							if val, ok := tmp[seq]; ok {
 | 
				
			||||||
 | 
								res = append(res, val)
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								res = append(res, &model.MsgInfoModel{Msg: &model.MsgDataModel{Seq: seq}})
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return res, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *MsgMgo) getMsgBySeqIndexIn1Doc(ctx context.Context, userID, docID string, seqs []int64) ([]*model.MsgInfoModel, error) {
 | 
				
			||||||
	indexs := make([]int64, 0, len(seqs))
 | 
						indexs := make([]int64, 0, len(seqs))
 | 
				
			||||||
	for _, seq := range seqs {
 | 
						for _, seq := range seqs {
 | 
				
			||||||
		indexs = append(indexs, m.model.GetMsgIndex(seq))
 | 
							indexs = append(indexs, m.model.GetMsgIndex(seq))
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user