From 1f81020adc46b6a9a5dfa1f3aa6204fb8eea570a Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 12 Jul 2025 18:51:48 +0900 Subject: [PATCH 1/4] =?UTF-8?q?fix=20:=20sigungo,=20bname1,=20bname2?= =?UTF-8?q?=EC=97=90=EC=84=9C=20null=20=EB=BF=90=EB=A7=8C=20=EC=95=84?= =?UTF-8?q?=EB=8B=88=EB=9D=BC=20=EB=B9=88=EB=B0=B0=EC=97=B4=EB=8F=84=20fil?= =?UTF-8?q?ter=20#437?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/umc/th/juinjang/domain/limjang/model/Address.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/umc/th/juinjang/domain/limjang/model/Address.java b/src/main/java/umc/th/juinjang/domain/limjang/model/Address.java index be641278..063f51f8 100644 --- a/src/main/java/umc/th/juinjang/domain/limjang/model/Address.java +++ b/src/main/java/umc/th/juinjang/domain/limjang/model/Address.java @@ -70,7 +70,7 @@ public static Address create(String roadAddress, String addressDetail, String bc public String getShortAddress() { return Stream.of(sigungo, bname1, bname2) - .filter(Objects::nonNull) + .filter(s -> s != null && !s.isBlank()) .collect(Collectors.joining(" ")); } From ae9ada3009dccc4c6fc5c4b547368dc604dfc4a2 Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 12 Jul 2025 18:52:17 +0900 Subject: [PATCH 2/4] =?UTF-8?q?fix=20:=20=EC=9E=84=EC=9E=A5=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=EB=B3=B4=EA=B8=B0=EC=97=90=EC=84=9C=20=EB=8F=84?= =?UTF-8?q?=EB=A1=9C=EB=AA=85=20=EC=A3=BC=EC=86=8C=EB=A7=8C=20=EB=A6=AC?= =?UTF-8?q?=ED=84=B4=20#437?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../note/shared/service/response/SharedNoteGetResponse.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/umc/th/juinjang/api/note/shared/service/response/SharedNoteGetResponse.java b/src/main/java/umc/th/juinjang/api/note/shared/service/response/SharedNoteGetResponse.java index 3eecec5e..44079de5 100644 --- a/src/main/java/umc/th/juinjang/api/note/shared/service/response/SharedNoteGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/note/shared/service/response/SharedNoteGetResponse.java @@ -62,7 +62,7 @@ public static SharedNoteGetResponse ofNotPurchased( limjang.getPriceType(), buyerCount, findImagesUrlBySharingStatus(sharedNote.isImageShared(), limjang, 2), - address.getFullAddress(), + address.getRoadAddress(), address.getShortAddress(), limjang.getLimjangPrice().getPrice(limjang.getPriceType(), limjang.getPurpose()), limjang.getPriceType() == LimjangPriceType.MONTHLY_RENT ? limjang.getLimjangPrice().getMonthlyRent() : @@ -103,7 +103,7 @@ public static SharedNoteGetResponse ofPurchased( limjang.getPriceType(), buyerCount, findImagesUrlBySharingStatus(sharedNote.isImageShared(), limjang, 3), - address.getFullAddress(), + address.getRoadAddress(), address.getShortAddress(), limjang.getLimjangPrice().getPrice(limjang.getPriceType(), limjang.getPurpose()), limjang.getPriceType() == LimjangPriceType.MONTHLY_RENT ? limjang.getLimjangPrice().getMonthlyRent() : From 3e91846ab7c09fbc471d395fad0218b22724944a Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 12 Jul 2025 19:25:53 +0900 Subject: [PATCH 3/4] =?UTF-8?q?fix=20:=20=EC=9E=84=EC=9E=A5=20=EC=A3=BC?= =?UTF-8?q?=EC=9D=B8=EC=9D=B8=20=EA=B2=BD=EC=9A=B0=20=EA=B3=A0=EB=A0=A4?= =?UTF-8?q?=ED=95=98=EC=97=AC=20isBuyer=ED=95=84=EB=93=9C=20fix=20#437?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../note/shared/service/SharedNoteQueryService.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteQueryService.java b/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteQueryService.java index 3c9537ef..2fc918ff 100644 --- a/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteQueryService.java +++ b/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteQueryService.java @@ -59,22 +59,27 @@ public SharedNoteGetResponse findSharedNote(Member member, Long sharedNoteId) { SharedNote sharedNote = sharedNoteFinder.findByIdWithNoteAndAddress(sharedNoteId); Limjang limjang = sharedNote.getLimjang(); - boolean isBuyer = usedPencilFinder.existsByMemberAndSharedNoteId(member, sharedNoteId); + boolean isBuyerOrOwner = getIsBuyerOrOwner(member, sharedNote); long viewCount = getViewCountAndCheckReward(member, sharedNoteId, sharedNote); Integer countBuyer = makeBuyerCount(usedPencilFinder.countBySharedNoteId(sharedNoteId)); boolean isLiked = likedNoteFinder.existsByMemberAndSharedNote(member, sharedNote); - if (isBuyer) { - return SharedNoteGetResponse.ofPurchased(isBuyer, limjang, limjang.getAddressEntity(), sharedNote, + if (isBuyerOrOwner) { + return SharedNoteGetResponse.ofPurchased(isBuyerOrOwner, limjang, limjang.getAddressEntity(), sharedNote, sharedNote.getMember(), countBuyer, isLiked, viewCount); } else { - return SharedNoteGetResponse.ofNotPurchased(isBuyer, limjang, limjang.getAddressEntity(), sharedNote, + return SharedNoteGetResponse.ofNotPurchased(isBuyerOrOwner, limjang, limjang.getAddressEntity(), sharedNote, sharedNote.getMember(), countBuyer, isLiked, viewCount); } } + private boolean getIsBuyerOrOwner(Member requestMember, SharedNote sharedNote) { + return usedPencilFinder.existsByMemberAndSharedNoteId(requestMember, sharedNote.getSharedNoteId()) || + sharedNote.getMember().getMemberId().equals(requestMember.getMemberId()); + } + private long getViewCountAndCheckReward(Member member, Long sharedNoteId, SharedNote sharedNote) { long viewCount = viewCountService.getRedisViewCount(sharedNote.getSharedNoteId()); if (!viewCountService.isDuplicate(member.getMemberId(), sharedNoteId)) { From 050b6aa99bb5f9cae95542266e0786262415cd6c Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 12 Jul 2025 19:59:51 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix=20:=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20?= =?UTF-8?q?=EA=B0=AF=EC=88=98=20=EB=B6=88=EC=9D=BC=EC=B9=98=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20fix=20#437?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/SharedNoteQueryDSLRepositoryImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/umc/th/juinjang/domain/note/shared/repository/SharedNoteQueryDSLRepositoryImpl.java b/src/main/java/umc/th/juinjang/domain/note/shared/repository/SharedNoteQueryDSLRepositoryImpl.java index bf6ed23a..9e374247 100644 --- a/src/main/java/umc/th/juinjang/domain/note/shared/repository/SharedNoteQueryDSLRepositoryImpl.java +++ b/src/main/java/umc/th/juinjang/domain/note/shared/repository/SharedNoteQueryDSLRepositoryImpl.java @@ -10,6 +10,7 @@ import static umc.th.juinjang.domain.report.model.QReport.*; import java.util.List; +import java.util.Optional; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; @@ -64,9 +65,10 @@ public Page findSharedNoteInExployer(List code, ExploreSortT .fetch(); JPAQuery countQuery = queryFactory - .select(sharedNote.count()) - .from(sharedNote) + .select(sharedNote.count()).from(sharedNote) .join(sharedNote.limjang, limjang) + .join(sharedNote.member, member) + .join(limjang.limjangPrice, limjangPrice) .join(limjang.addressEntity, address) .leftJoin(limjang.report, report) .where( @@ -74,9 +76,10 @@ public Page findSharedNoteInExployer(List code, ExploreSortT getWhereByPropertyType(propertyType), getWhereByPriceType(priceType), keywordCondition(keyword), - sharedNote.deletedAt.isNull() + sharedNote.deletedAt.isNull(), + limjang.deleted.isFalse() ); - long totalCount = countQuery.fetchOne(); + long totalCount = Optional.ofNullable(countQuery.fetchOne()).orElse(0L); return new PageImpl<>(content, pageable, totalCount); }