Skip to content

Commit

Permalink
hotfix: 피드 댓글 수 조회 쿼리 수정 및 탈퇴 회원 예외처리
Browse files Browse the repository at this point in the history
  • Loading branch information
char-yb committed Oct 22, 2024
1 parent cebb0b0 commit 5596675
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ private void updateMemberNormalStatus(Member member) {
}

private void withdrawMemberRelationByMemberId(List<Long> recordIds, Long memberId) {
commentRepository.updateEmptyMemberAllByMember(memberId);
missionRecordBoostRepository.deleteAllByRecordIds(recordIds);
missionRecordRepository.deleteAllByMember(memberId);
fcmNotificationRepository.deleteAllByMember(memberId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.depromeet.stonebed.domain.fcm.domain.FcmNotificationType;
import com.depromeet.stonebed.domain.fcm.domain.FcmToken;
import com.depromeet.stonebed.domain.member.domain.Member;
import com.depromeet.stonebed.domain.member.domain.MemberStatus;
import com.depromeet.stonebed.domain.missionRecord.dao.MissionRecordRepository;
import com.depromeet.stonebed.domain.missionRecord.domain.MissionRecord;
import com.depromeet.stonebed.global.common.constants.FcmNotificationConstants;
Expand Down Expand Up @@ -211,15 +212,18 @@ private CommentFindOneResponse convertToCommentFindOneResponse(
.collect(Collectors.toList());

// 작성자가 null인지 확인
Long writerId = comment.getWriter() != null ? comment.getWriter().getId() : null;
Long writerId =
comment.getWriter().getStatus() != MemberStatus.DELETED
? comment.getWriter().getId()
: null;
String writerNickname =
comment.getWriter() != null
comment.getWriter().getStatus() != MemberStatus.DELETED
? comment.getWriter().getProfile().getNickname()
: "탈퇴한 회원";
String writerProfileImageUrl =
comment.getWriter() != null
comment.getWriter().getStatus() != MemberStatus.DELETED
? comment.getWriter().getProfile().getProfileImageUrl()
: null;
: "INACTIVE_" + comment.getWriter().getRaisePet().getValue();

return CommentFindOneResponse.of(
comment.getParent() != null ? comment.getParent().getId() : null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.core.types.dsl.Expressions;
import com.querydsl.jpa.JPAExpressions;
import com.querydsl.jpa.impl.JPAQuery;
import com.querydsl.jpa.impl.JPAQueryFactory;
import java.util.List;
Expand Down Expand Up @@ -62,7 +63,10 @@ private JPAQuery<FindFeedDto> getBaseSelectQuery() {
mission,
missionRecord,
member,
comment.id.count().as("commentCount"),
// 서브쿼리를 통해 댓글 개수 계산
JPAExpressions.select(comment.id.count())
.from(comment)
.where(comment.recordId.eq(missionRecord.id)),
Expressions.asNumber(missionRecordBoost.count.sumLong().coalesce(0L))
.as("totalBoostCount")));
}
Expand All @@ -76,9 +80,7 @@ private JPAQuery<FindFeedDto> applyJoinsAndConditions(JPAQuery<FindFeedDto> quer
.leftJoin(missionHistory)
.on(missionRecord.missionHistory.eq(missionHistory))
.leftJoin(mission)
.on(missionHistory.mission.eq(mission))
.leftJoin(comment)
.on(comment.recordId.eq(missionRecord.id)); // Join Comment entity
.on(missionHistory.mission.eq(mission));
}

private BooleanExpression ltMissionRecordId(Long missionRecordId) {
Expand Down

0 comments on commit 5596675

Please sign in to comment.