Skip to content

Commit 6fa0511

Browse files
committed
refactor Repo 수정
- CustomSharePostRepositoryImpl QSharePost.sharePost 명시적 생성 수정 - ShareProposalRepository SHARE_PROPOSAL같은 공통 Q클래스 상수 추가
1 parent 1123de3 commit 6fa0511

File tree

2 files changed

+42
-51
lines changed

2 files changed

+42
-51
lines changed

src/main/java/io/crops/warmletter/domain/share/repository/CustomSharePostRepositoryImpl.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
package io.crops.warmletter.domain.share.repository;
2-
32
import com.querydsl.core.Tuple;
43
import com.querydsl.core.types.Projections;
54
import com.querydsl.jpa.impl.JPAQueryFactory;
@@ -12,14 +11,7 @@
1211
import io.crops.warmletter.domain.share.entity.QShareProposal;
1312
import io.crops.warmletter.domain.share.entity.QShareProposalLetter;
1413
import io.crops.warmletter.domain.share.enums.ProposalStatus;
15-
import io.crops.warmletter.global.response.BaseResponse;
16-
import io.swagger.v3.oas.annotations.Operation;
1714
import lombok.extern.slf4j.Slf4j;
18-
import org.springframework.http.HttpStatus;
19-
import org.springframework.http.ResponseEntity;
20-
import org.springframework.transaction.annotation.Transactional;
21-
import org.springframework.web.bind.annotation.GetMapping;
22-
2315
import java.util.List;
2416
import java.util.Optional;
2517
import java.util.stream.Collectors;
@@ -32,10 +24,10 @@ public CustomSharePostRepositoryImpl(JPAQueryFactory queryFactory) {
3224
this.queryFactory = queryFactory;
3325
}
3426

35-
private static final QSharePost SHARE_POST = QSharePost.sharePost;
36-
private static final QShareProposal PROPOSAL = QShareProposal.shareProposal;
37-
private static final QShareProposalLetter PROPOSAL_LETTER = QShareProposalLetter.shareProposalLetter;
38-
private static final QLetter LETTER = QLetter.letter;
27+
private static final QSharePost SHARE_POST = new QSharePost("sharePost");
28+
private static final QShareProposal PROPOSAL = new QShareProposal("shareProposal");
29+
private static final QShareProposalLetter PROPOSAL_LETTER = new QShareProposalLetter("shareProposalLetter");
30+
private static final QLetter LETTER = new QLetter("letter");
3931
private static final QMember WRITER = new QMember("writer");
4032
private static final QMember RECEIVER = new QMember("receiver");
4133

src/main/java/io/crops/warmletter/domain/share/repository/ShareProposalRepositoryImpl.java

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,77 +14,76 @@
1414
import lombok.RequiredArgsConstructor;
1515
import java.util.List;
1616
import java.util.stream.Collectors;
17-
import static io.crops.warmletter.domain.member.entity.QMember.member;
18-
import static io.crops.warmletter.domain.share.entity.QShareProposal.shareProposal;
1917

2018
@RequiredArgsConstructor
2119
public class ShareProposalRepositoryImpl implements ShareProposalRepositoryCustom {
2220

2321
private final JPAQueryFactory queryFactory;
24-
private final QMember requesterMember = new QMember("requesterMember");
25-
private final QMember recipientMember = new QMember("recipientMember");
22+
private static final QMember MEMBER = new QMember("member");
23+
private static final QShareProposal SHARE_PROPOSAL = new QShareProposal("shareProposal");
24+
private static final QMember REQUESTER_MEMBER = new QMember("requesterMember");
25+
private static final QMember RECIPIENT_MEMBER = new QMember("recipientMember");
2626

2727
@Override
2828
public ShareProposalResponse findShareProposalWithZipCode(Long shareProposalId) {
2929
return queryFactory
3030
.select(Projections.constructor(ShareProposalResponse.class,
31-
shareProposal.id,
32-
member.zipCode))
33-
.from(shareProposal)
34-
.join(member).on(shareProposal.requesterId.eq(member.id))
35-
.where(shareProposal.id.eq(shareProposalId))
31+
SHARE_PROPOSAL.id,
32+
MEMBER.zipCode))
33+
.from(SHARE_PROPOSAL)
34+
.join(MEMBER).on(SHARE_PROPOSAL.requesterId.eq(MEMBER.id))
35+
.where(SHARE_PROPOSAL.id.eq(shareProposalId))
3636
.fetchOne();
3737
}
3838

3939
@Override
4040
public List<ShareInboxResponse> getAllByRecipientIdOrderByCreatedAtDesc(Long receiverId) {
41-
4241
return queryFactory
4342
.select(Projections.constructor(ShareInboxResponse.class,
44-
shareProposal.id.as("shareProposalId"),
45-
requesterMember.zipCode.as("requesterZipCode"),
46-
recipientMember.zipCode.as("recipientZipCode"),
47-
shareProposal.message,
48-
shareProposal.status))
49-
.from(shareProposal)
50-
.join(requesterMember).on(shareProposal.requesterId.eq(requesterMember.id))
51-
.join(recipientMember).on(shareProposal.recipientId.eq(recipientMember.id))
52-
.where(shareProposal.recipientId.eq(receiverId)
53-
.and(shareProposal.status.eq(ProposalStatus.PENDING))
43+
SHARE_PROPOSAL.id.as("shareProposalId"),
44+
REQUESTER_MEMBER.zipCode.as("requesterZipCode"),
45+
RECIPIENT_MEMBER.zipCode.as("recipientZipCode"),
46+
SHARE_PROPOSAL.message,
47+
SHARE_PROPOSAL.status))
48+
.from(SHARE_PROPOSAL)
49+
.join(REQUESTER_MEMBER).on(SHARE_PROPOSAL.requesterId.eq(REQUESTER_MEMBER.id))
50+
.join(RECIPIENT_MEMBER).on(SHARE_PROPOSAL.recipientId.eq(RECIPIENT_MEMBER.id))
51+
.where(SHARE_PROPOSAL.recipientId.eq(receiverId)
52+
.and(SHARE_PROPOSAL.status.eq(ProposalStatus.PENDING))
5453
)
55-
.orderBy(shareProposal.createdAt.desc())
54+
.orderBy(SHARE_PROPOSAL.createdAt.desc())
5655
.fetch();
5756
}
5857

5958
@Override
6059
public ShareProposalDetailResponse findShareProposalDetailById(Long shareProposalId) {
61-
QShareProposal shareProposal = QShareProposal.shareProposal;
62-
QShareProposalLetter shareProposalLetter = QShareProposalLetter.shareProposalLetter;
63-
QLetter letter = QLetter.letter;
60+
61+
QShareProposalLetter shareProposalLetter = new QShareProposalLetter("shareProposalLetter");
62+
QLetter letter = new QLetter("letter");
6463
QMember letterWriterMember = new QMember("letterWriterMember");
6564
QMember letterReceiverMember = new QMember("letterReceiverMember");
6665

6766
List<Tuple> results = queryFactory
6867
.select(
69-
shareProposal.id,
70-
requesterMember.zipCode,
71-
recipientMember.zipCode,
72-
shareProposal.message,
73-
shareProposal.status,
68+
SHARE_PROPOSAL.id,
69+
REQUESTER_MEMBER.zipCode,
70+
RECIPIENT_MEMBER.zipCode,
71+
SHARE_PROPOSAL.message,
72+
SHARE_PROPOSAL.status,
7473
letter.id,
7574
letter.content,
7675
letterWriterMember.zipCode,
7776
letterReceiverMember.zipCode,
7877
letter.createdAt
7978
)
80-
.from(shareProposal)
81-
.join(requesterMember).on(shareProposal.requesterId.eq(requesterMember.id))
82-
.join(recipientMember).on(shareProposal.recipientId.eq(recipientMember.id))
83-
.leftJoin(shareProposalLetter).on(shareProposal.id.eq(shareProposalLetter.proposalId))
79+
.from(SHARE_PROPOSAL)
80+
.join(REQUESTER_MEMBER).on(SHARE_PROPOSAL.requesterId.eq(REQUESTER_MEMBER.id))
81+
.join(RECIPIENT_MEMBER).on(SHARE_PROPOSAL.recipientId.eq(RECIPIENT_MEMBER.id))
82+
.leftJoin(shareProposalLetter).on(SHARE_PROPOSAL.id.eq(shareProposalLetter.proposalId))
8483
.leftJoin(letter).on(shareProposalLetter.letterId.eq(letter.id))
8584
.leftJoin(letterWriterMember).on(letter.writerId.eq(letterWriterMember.id))
8685
.leftJoin(letterReceiverMember).on(letter.receiverId.eq(letterReceiverMember.id))
87-
.where(shareProposal.id.eq(shareProposalId))
86+
.where(SHARE_PROPOSAL.id.eq(shareProposalId))
8887
.fetch();
8988

9089
if (results.isEmpty()) {
@@ -102,11 +101,11 @@ public ShareProposalDetailResponse findShareProposalDetailById(Long shareProposa
102101
.collect(Collectors.toList());
103102

104103
return ShareProposalDetailResponse.builder()
105-
.shareProposalId(firstRow.get(shareProposal.id))
106-
.requesterZipCode(firstRow.get(requesterMember.zipCode))
107-
.recipientZipCode(firstRow.get(recipientMember.zipCode))
108-
.message(firstRow.get(shareProposal.message))
109-
.status(firstRow.get(shareProposal.status))
104+
.shareProposalId(firstRow.get(SHARE_PROPOSAL.id))
105+
.requesterZipCode(firstRow.get(REQUESTER_MEMBER.zipCode))
106+
.recipientZipCode(firstRow.get(RECIPIENT_MEMBER.zipCode))
107+
.message(firstRow.get(SHARE_PROPOSAL.message))
108+
.status(firstRow.get(SHARE_PROPOSAL.status))
110109
.letters(letters)
111110
.build();
112111
}

0 commit comments

Comments
 (0)