diff --git a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/dto/res/GetMyFarmClubResponseDto.java b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/dto/res/GetMyFarmClubResponseDto.java index 0cf4187..2924083 100644 --- a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/dto/res/GetMyFarmClubResponseDto.java +++ b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/dto/res/GetMyFarmClubResponseDto.java @@ -40,7 +40,8 @@ public static List createSteps(List stepVoList, List images = new ArrayList<>(); for (GetMissionPostListVo mission: missionList) { if (step.num() == mission.stepNum()) { - images.add(mission.image()); + if (!mission.isReported()) + images.add(mission.image()); count++; } } diff --git a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/repository/MissionPostRepositoryImpl.java b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/repository/MissionPostRepositoryImpl.java index abadd02..e038e9d 100644 --- a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/repository/MissionPostRepositoryImpl.java +++ b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/repository/MissionPostRepositoryImpl.java @@ -41,11 +41,12 @@ public List getMissionPostStepNumAndImage(Long userId, Lon .select(Projections.constructor( GetMissionPostListVo.class, missionPost.stepNum, - missionPost.image)) + missionPost.image, + missionPost.id.in(reportMissionPostIds))) .from(missionPost) .join(missionPost.userFarmClub, userFarmClub) .join(userFarmClub.farmClub, farmClub) - .where(farmClub.id.eq(farmClubId).and(missionPost.id.notIn(reportMissionPostIds))) + .where(farmClub.id.eq(farmClubId)) .fetch(); } @@ -58,10 +59,15 @@ public GetMissionPostCommentResponseDto getMissionPostComment(Long missionPostId .fetch(); List comments = queryFactory - .select(new QMissionPostCommentVo(missionPostComment, user, Expressions.constant(userId))) + .select(new QMissionPostCommentVo( + missionPostComment, + user, + Expressions.constant(userId), + missionPostComment.id.in(reportCommentIds) + )) .from(missionPostComment) .join(missionPostComment.missionPost, missionPost) - .where(missionPost.id.eq(missionPostId).and(missionPostComment.id.notIn(reportCommentIds))) + .where(missionPost.id.eq(missionPostId)) .fetch(); Boolean isMyPost = queryFactory @@ -81,11 +87,6 @@ public List getMissionPostList(Long userId, Long farmClubId) { .from(missionPostReport) .where(missionPostReport.user.id.eq(userId)) .fetch(); - List reportCommentIds = queryFactory - .select(missionPostCommentReport.missionPostComment.id) - .from(missionPostCommentReport) - .where(missionPostCommentReport.user.id.eq(userId)) - .fetch(); return queryFactory .select(new QMissionPostVo( @@ -96,8 +97,7 @@ public List getMissionPostList(Long userId, Long farmClubId) { .where(missionPostLike.missionPost.eq(missionPost)), JPAExpressions.select(missionPostComment.count()) .from(missionPostComment) - .where(missionPostComment.missionPost.eq(missionPost) - .and(missionPostComment.id.notIn(reportCommentIds))), + .where(missionPostComment.missionPost.eq(missionPost)), JPAExpressions.selectOne() .from(missionPostLike) .where(missionPostLike.missionPost.eq(missionPost) diff --git a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/GetMissionPostListVo.java b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/GetMissionPostListVo.java index 4eb2f52..3af2bfe 100644 --- a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/GetMissionPostListVo.java +++ b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/GetMissionPostListVo.java @@ -4,7 +4,8 @@ public record GetMissionPostListVo( int stepNum, - String image + String image, + Boolean isReported ) { @QueryProjection public GetMissionPostListVo { diff --git a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/MissionPostCommentVo.java b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/MissionPostCommentVo.java index 524ab2e..96b0ac2 100644 --- a/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/MissionPostCommentVo.java +++ b/src/main/java/com/modernfarmer/farmusspring/domain/farmclub/vo/MissionPostCommentVo.java @@ -11,10 +11,11 @@ public record MissionPostCommentVo( String profileImage, String date, String content, - Boolean isMyComment + Boolean isMyComment, + Boolean isReported ) { @QueryProjection - public MissionPostCommentVo(MissionPostComment missionPostComment, User user, Long myId) + public MissionPostCommentVo(MissionPostComment missionPostComment, User user, Long myId, Boolean isReported) { this( missionPostComment.getId(), @@ -22,7 +23,8 @@ public MissionPostCommentVo(MissionPostComment missionPostComment, User user, Lo user.getProfileImage(), missionPostComment.getCreatedDate().toString(), missionPostComment.getComment(), - user.getId().equals(myId) + user.getId().equals(myId), + isReported ); } }