1414import lombok .RequiredArgsConstructor ;
1515import java .util .List ;
1616import 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
2119public 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