Skip to content

Commit 4cfb279

Browse files
fix: 임시저장 편지 조회 API 500 에러 수정 (WR9-123)
- JPQL 쿼리와 DTO 클래스 필드명 일치시킴 (l.id → letterId 별칭 추가) - LetterDraftResponse 클래스에 @AllArgsConstructor 어노테이션 추가 - 매칭 여부 판단 로직 명확히 표현 (CASE WHEN 구문 별칭 추가)
1 parent 837df9d commit 4cfb279

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/main/java/io/crops/warmletter/domain/letter/dto/response/LetterDraftResponse.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
@Getter
1212
@Builder
13+
@AllArgsConstructor
1314
public class LetterDraftResponse {
1415

1516
private final Long letterId;

src/main/java/io/crops/warmletter/domain/letter/repository/LetterRepository.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,20 @@ Page<Letter> findDeliveredOrMyLettersByMatchingId(
5151
List<Letter> findByReceiverIdAndStatus(Long currentUserId, Status status);
5252

5353
@Query("SELECT new io.crops.warmletter.domain.letter.dto.response.LetterDraftResponse(" +
54-
"l.id, l.writerId, l.receiverId, l.parentLetterId, " +
55-
"l.title, l.content, l.category, l.paperType, l.fontType, l.status, " +
56-
"CASE WHEN m.id IS NOT NULL THEN m.isActive ELSE false END, " +
57-
"l.deliveryStartedAt, l.deliveryCompletedAt, l.matchingId) " +
54+
"l.id AS letterId, " +
55+
"l.writerId, " +
56+
"l.receiverId, " +
57+
"l.parentLetterId, " +
58+
"l.title, " +
59+
"l.content, " +
60+
"l.category, " +
61+
"l.paperType, " +
62+
"l.fontType, " +
63+
"l.status, " +
64+
"CASE WHEN m.id IS NOT NULL THEN m.isActive ELSE false END AS matched, " +
65+
"l.deliveryStartedAt, " +
66+
"l.deliveryCompletedAt, " +
67+
"l.matchingId) " +
5868
"FROM Letter l LEFT JOIN LetterMatching m ON l.matchingId = m.id " +
5969
"WHERE l.writerId = :writerId AND l.status = :status")
6070
List<LetterDraftResponse> findDraftLettersWithMatching(@Param("writerId") Long writerId,

0 commit comments

Comments
 (0)