Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat 101/신고 로직 개발 #119

Merged
merged 2 commits into from
Sep 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -181,21 +181,21 @@ public BaseResponseDto<?> successFarmClub(
return BaseResponseDto.of(SuccessCode.SUCCESS, farmClubService.successFarmClub(farmClubId, user.getUserId()));
}

@PostMapping("/report/mission/{missionPostId}")
@PostMapping("/report/mission")
public BaseResponseDto<?> reportMissionPost(
@AuthenticationPrincipal CustomUser user,
@PathVariable Long missionPostId
@RequestBody CreateMissionPostReportRequestDto requestDto
) {
missionPostService.reportMissionPost(user.getUserId(), missionPostId);
missionPostService.reportMissionPost(user.getUserId(), requestDto);
return BaseResponseDto.of(SuccessCode.SUCCESS, null);
}

@PostMapping("/report/comment/{commentId}")
public BaseResponseDto<?> reportMissionPostComment(
@AuthenticationPrincipal CustomUser user,
@PathVariable Long commentId
@RequestBody CreateMissionPostCommentReportRequestDto requestDto
) {
missionPostService.reportMissionPostComment(user.getUserId(), commentId);
missionPostService.reportMissionPostComment(user.getUserId(), requestDto);
return BaseResponseDto.of(SuccessCode.SUCCESS, null);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.modernfarmer.farmusspring.domain.farmclub.dto.req;

public record CreateMissionPostCommentReportRequestDto(
Long missionPostCommentId,
String reason
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.modernfarmer.farmusspring.domain.farmclub.dto.req;

public record CreateMissionPostReportRequestDto(
Long missionPostId,
String reason
) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ public class MissionPostCommentReport {
@Column(name = "mission_post_comment_report_id")
private Long id;

@Column(name = "reason")
private String reason;

@OnDelete(action = OnDeleteAction.CASCADE)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "mission_post_comment_id")
Expand All @@ -31,10 +34,11 @@ public class MissionPostCommentReport {
@JoinColumn(name = "user_id")
private User user;

public static MissionPostCommentReport createMissionPostCommentReport(MissionPostComment missionPostComment, User user){
public static MissionPostCommentReport createMissionPostCommentReport(MissionPostComment missionPostComment, User user, String reason){
MissionPostCommentReport report = MissionPostCommentReport.builder()
.missionPostComment(missionPostComment)
.user(user)
.reason(reason)
.build();

missionPostComment.addReport(report);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ public class MissionPostReport {
@Column(name = "mission_post_report_id")
private Long id;

@Column(name = "reason")
private String reason;

@OnDelete(action = OnDeleteAction.CASCADE)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "mission_post_id")
Expand All @@ -31,10 +34,11 @@ public class MissionPostReport {
@JoinColumn(name = "user_id")
private User user;

public static MissionPostReport createMissionPostReport(MissionPost missionPost, User user){
public static MissionPostReport createMissionPostReport(MissionPost missionPost, User user, String reason){
MissionPostReport report = MissionPostReport.builder()
.missionPost(missionPost)
.user(user)
.reason(reason)
.build();

missionPost.addReport(report);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.modernfarmer.farmusspring.domain.farmclub.service;

import com.modernfarmer.farmusspring.domain.farmclub.dto.req.CreateMissionPostCommentReportRequestDto;
import com.modernfarmer.farmusspring.domain.farmclub.dto.req.CreateMissionPostCommentRequestDto;
import com.modernfarmer.farmusspring.domain.farmclub.dto.req.CreateMissionPostReportRequestDto;
import com.modernfarmer.farmusspring.domain.farmclub.dto.req.CreateMissionPostRequestDto;
import com.modernfarmer.farmusspring.domain.farmclub.dto.res.*;
import com.modernfarmer.farmusspring.domain.farmclub.entity.*;
Expand Down Expand Up @@ -77,9 +79,9 @@ public GetMissionPostCommentResponseDto getMissionPostComment(Long missionPostId
}

@Transactional
public void reportMissionPost(Long userId, Long missionPostId) {
MissionPost missionPost = missionPostHelper.getMissionPost(missionPostId);
MissionPostReport.createMissionPostReport(missionPost, userHelper.getUserEntity(userId));
public void reportMissionPost(Long userId, CreateMissionPostReportRequestDto requestDto) {
MissionPost missionPost = missionPostHelper.getMissionPost(requestDto.missionPostId());
MissionPostReport.createMissionPostReport(missionPost, userHelper.getUserEntity(userId), requestDto.reason());
int userCount = missionPost.getUserFarmClub().getFarmClub().getUserFarmClubs().size();
int reportCount = missionPost.getMissionPostReports().size();
if (userCount < 4 && reportCount >= 2) {
Expand All @@ -90,9 +92,9 @@ public void reportMissionPost(Long userId, Long missionPostId) {
}

@Transactional
public void reportMissionPostComment(Long userId, Long missionPostCommentId) {
MissionPostComment missionPostComment = missionPostHelper.getMissionPostComment(missionPostCommentId);
MissionPostCommentReport.createMissionPostCommentReport(missionPostComment, userHelper.getUserEntity(userId));
public void reportMissionPostComment(Long userId, CreateMissionPostCommentReportRequestDto requestDto) {
MissionPostComment missionPostComment = missionPostHelper.getMissionPostComment(requestDto.missionPostCommentId());
MissionPostCommentReport.createMissionPostCommentReport(missionPostComment, userHelper.getUserEntity(userId), requestDto.reason());
int userCount = missionPostComment.getMissionPost().getUserFarmClub().getFarmClub().getUserFarmClubs().size();
int reportCount = missionPostComment.getMissionPostCommentReports().size();
if (userCount < 4 && reportCount >= 2) {
Expand Down
Loading