fix is_read
This commit is contained in:
@@ -540,8 +540,15 @@ func (r *LetterOutgoingRecipientRepository) GetByLetterIDsAndUser(ctx context.Co
|
||||
|
||||
db := DBFromContext(ctx, r.db)
|
||||
var recipients []entities.LetterOutgoingRecipient
|
||||
|
||||
if err := db.WithContext(ctx).
|
||||
Where("letter_id IN ? AND user_id = ?", letterIDs, userID).
|
||||
Where(`id IN (
|
||||
SELECT id FROM (
|
||||
SELECT id, ROW_NUMBER() OVER (PARTITION BY letter_id ORDER BY created_at DESC) as rn
|
||||
FROM letter_outgoing_recipients
|
||||
WHERE letter_id IN ? AND user_id = ?
|
||||
) t WHERE rn = 1
|
||||
)`, letterIDs, userID).
|
||||
Find(&recipients).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -890,8 +890,15 @@ func (r *LetterIncomingRecipientRepository) GetByLetterIDsAndUser(ctx context.Co
|
||||
|
||||
db := DBFromContext(ctx, r.db)
|
||||
var recipients []entities.LetterIncomingRecipient
|
||||
|
||||
if err := db.WithContext(ctx).
|
||||
Where("letter_id IN ? AND recipient_user_id = ?", letterIDs, userID).
|
||||
Where(`id IN (
|
||||
SELECT id FROM (
|
||||
SELECT id, ROW_NUMBER() OVER (PARTITION BY letter_id ORDER BY created_at DESC) as rn
|
||||
FROM letter_incoming_recipients
|
||||
WHERE letter_id IN ? AND recipient_user_id = ?
|
||||
) t WHERE rn = 1
|
||||
)`, letterIDs, userID).
|
||||
Find(&recipients).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user