Skip to content

Commit

Permalink
Merge pull request #151 from Modagbul/feat/mission-alarm
Browse files Browse the repository at this point in the history
feat : 신고하기 (게시물/미션인증)  내용 변경 로직 추가
  • Loading branch information
seungueonn authored Dec 17, 2023
2 parents 60881d2 + e1bc12a commit 89f89b0
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
@Mapper
public class ReportMapper {

public static Report mapToReport(Long memberId, Long targetId, String reportType) {
public static Report mapToReport(Long memberId, Long targetId, String reportType,String targetMemberNickName) {
return Report.builder()
.reportMemberId(memberId)
.reportType(ReportType.valueOf(reportType))
.targetId(targetId)
.targetMemberNickName(targetMemberNickName)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
package com.moing.backend.domain.report.application.service;

import com.moing.backend.domain.board.application.dto.request.UpdateBoardRequest;
import com.moing.backend.domain.board.domain.entity.Board;
import com.moing.backend.domain.board.domain.service.BoardGetService;
import com.moing.backend.domain.member.domain.service.MemberGetService;
import com.moing.backend.domain.mission.domain.entity.Mission;
import com.moing.backend.domain.mission.domain.entity.constant.MissionWay;
import com.moing.backend.domain.missionArchive.application.dto.req.MissionArchiveReq;
import com.moing.backend.domain.missionArchive.domain.entity.MissionArchive;
import com.moing.backend.domain.missionArchive.domain.service.MissionArchiveQueryService;
import com.moing.backend.domain.missionState.domain.entity.MissionState;
import com.moing.backend.domain.report.application.mapper.ReportMapper;
import com.moing.backend.domain.report.domain.entity.Report;
import com.moing.backend.domain.report.domain.entity.constant.ReportType;
import com.moing.backend.domain.report.domain.service.ReportSaveService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
Expand All @@ -16,9 +26,53 @@ public class ReportCreateUseCase {
private final ReportSaveService reportSaveService;
private final MemberGetService memberGetService;

private final BoardGetService boardGetService;
private final MissionArchiveQueryService missionArchiveQueryService;

private final String REPORT_BOARD_TITLE ="신고 접수된 게시물입니다.";
private final String REPORT_BOARD_MESSAGE ="신고 접수로 삭제된 게시물입니다.";
private final String REPORT_MISSION_MESSAGE ="신고 접수로 삭제된 인증입니다.";
private final String REPORT_MISSION_PHOTO ="https://modagbul.s3.ap-northeast-2.amazonaws.com/reportImage.png";


public Long createReport(String socialId, Long targetId, String reportType) {
Long memberId = memberGetService.getMemberBySocialId(socialId).getMemberId();
Report save = reportSaveService.save(ReportMapper.mapToReport(memberId, targetId, reportType));
String targetMemberNickName = null ;

if (reportType.equals(ReportType.BOARD.name())) {
Board board = boardGetService.getBoard(targetId);

targetMemberNickName = board.getWriterNickName();

board.updateBoard(UpdateBoardRequest.builder()
.title(REPORT_BOARD_TITLE)
.content(REPORT_BOARD_MESSAGE)
.isNotice(board.isNotice())
.build());
} else {

MissionArchive missionArchive = missionArchiveQueryService.findByMissionArchiveId(targetId);
Mission mission = missionArchive.getMission();

targetMemberNickName = missionArchive.getMember().getNickName();

if (mission.getWay().equals(MissionWay.PHOTO)) {
missionArchive.updateArchive(MissionArchiveReq.builder()
.archive(REPORT_MISSION_PHOTO)
.status(missionArchive.getStatus().name())
.build());
} else {
missionArchive.updateArchive(MissionArchiveReq.builder()
.archive(REPORT_MISSION_MESSAGE)
.status(missionArchive.getStatus().name())
.build());

}

}

Report save = reportSaveService.save(ReportMapper.mapToReport(memberId, targetId, reportType,targetMemberNickName));

return save.getTargetId();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,5 @@ public class Report extends BaseTimeEntity {

private Long reportMemberId;
private Long targetId;
private String targetMemberNickName;
}

0 comments on commit 89f89b0

Please sign in to comment.