diff --git a/sam/repository/message.go b/sam/repository/message.go index 5afb60dc5..bcc6cab42 100644 --- a/sam/repository/message.go +++ b/sam/repository/message.go @@ -199,6 +199,10 @@ func (r *message) PrefillThreadParticipants(mm types.MessageSet) error { UserID uint64 `db:"rel_user"` }{} + if len(mm) == 0 { + return nil + } + if sql, args, err := sqlx.In(sqlThreadParticipantsByMessageID, mm.IDs()); err != nil { return err } else if err = r.db().Select(&rval, sql, args...); err != nil { diff --git a/sam/repository/message_flag.go b/sam/repository/message_flag.go index 1e18e8b41..70e648628 100644 --- a/sam/repository/message_flag.go +++ b/sam/repository/message_flag.go @@ -63,6 +63,10 @@ func (r *messageFlag) FindByFlag(messageID, userID uint64, flag string) (*types. func (r *messageFlag) FindByMessageIDs(IDs ...uint64) ([]*types.MessageFlag, error) { rval := make([]*types.MessageFlag, 0) + if len(IDs) == 0 { + return rval, nil + } + sql := `SELECT * FROM message_flags WHERE rel_message IN (?)` if sql, args, err := sqlx.In(sql, IDs); err != nil {