Skip to content

Commit

Permalink
Merge pull request #90 from Lets-JUPJUP/feature/trashCan-v2
Browse files Browse the repository at this point in the history
  • Loading branch information
ParkIsComing authored Aug 17, 2024
2 parents f0e8c69 + cd4a876 commit 1067669
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,8 @@ public BinFeedback(Feedback feedback, Long trashCanId, Member member) {
this.trashCanId = trashCanId;
this.member = member;
}

public void updateFeedback(Feedback feedback) {
this.feedback = feedback;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package efub.back.jupjup.domain.trashCan.service;

import java.util.List;
import java.util.Optional;

import javax.persistence.EntityManager;
import javax.persistence.Query;
Expand Down Expand Up @@ -73,17 +74,28 @@ public ResponseEntity<StatusResponse> writeFeedback(Member member, FeedbackReqDt
throw new TrashCanNotFoundException();
}

if (binFeedbackRepository.existsBinFeedbackByMemberAndTrashCanId(member, feedbackReqDto.getTrashCanId())) {
throw new FeedbackAlreadyExistsException();
Optional<BinFeedback> binFeedbackOptional = binFeedbackRepository.findBinFeedbackByMemberAndTrashCanId(member,
feedbackReqDto.getTrashCanId());
BinFeedback binFeedback;
Feedback newFeedback = Feedback.getFeedbackByCode(feedbackReqDto.getFeedbackCode());

if (binFeedbackOptional.isPresent()) {
binFeedback = binFeedbackOptional.get();
// 동일한 피드백을 보내는 경우
if (binFeedback.getFeedback().equals(newFeedback)) {
throw new FeedbackAlreadyExistsException();
}
binFeedback.updateFeedback(newFeedback);
} else {
binFeedback = BinFeedback.builder()
.trashCanId(feedbackReqDto.getTrashCanId())
.feedback(newFeedback)
.member(member)
.build();
}

Feedback feedback = Feedback.getFeedbackByCode(feedbackReqDto.getFeedbackCode());
BinFeedback savedFeedback = binFeedbackRepository.save(BinFeedback.builder()
.trashCanId(feedbackReqDto.getTrashCanId())
.feedback(feedback)
.member(member)
.build());
FeedbackResDto resDto = FeedbackResDto.from(savedFeedback);
BinFeedback savedBinFeedback = binFeedbackRepository.save(binFeedback);
FeedbackResDto resDto = FeedbackResDto.from(savedBinFeedback);
return make200Response(resDto);
}

Expand Down

0 comments on commit 1067669

Please sign in to comment.