fix is_read
This commit is contained in:
parent
b8beebf3f2
commit
99cb544a0f
@ -540,8 +540,15 @@ func (r *LetterOutgoingRecipientRepository) GetByLetterIDsAndUser(ctx context.Co
|
|||||||
|
|
||||||
db := DBFromContext(ctx, r.db)
|
db := DBFromContext(ctx, r.db)
|
||||||
var recipients []entities.LetterOutgoingRecipient
|
var recipients []entities.LetterOutgoingRecipient
|
||||||
|
|
||||||
if err := db.WithContext(ctx).
|
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 {
|
Find(&recipients).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@ -890,8 +890,15 @@ func (r *LetterIncomingRecipientRepository) GetByLetterIDsAndUser(ctx context.Co
|
|||||||
|
|
||||||
db := DBFromContext(ctx, r.db)
|
db := DBFromContext(ctx, r.db)
|
||||||
var recipients []entities.LetterIncomingRecipient
|
var recipients []entities.LetterIncomingRecipient
|
||||||
|
|
||||||
if err := db.WithContext(ctx).
|
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 {
|
Find(&recipients).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@ -431,7 +431,7 @@ func (s *LetterServiceImpl) ListIncomingLetters(ctx context.Context, req *contra
|
|||||||
isRead := false
|
isRead := false
|
||||||
if recipient, exists := batchData.recipients[letter.ID]; exists && recipient != nil {
|
if recipient, exists := batchData.recipients[letter.ID]; exists && recipient != nil {
|
||||||
isRead = recipient.ReadAt != nil
|
isRead = recipient.ReadAt != nil
|
||||||
log.Printf("Recipient: %+v\n", recipient)
|
log.Printf("Recipient debug: %+v\n", recipient)
|
||||||
}
|
}
|
||||||
|
|
||||||
resp := transformer.LetterEntityToContract(&letter, attachments, dispositions, priority, institution)
|
resp := transformer.LetterEntityToContract(&letter, attachments, dispositions, priority, institution)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user