diff --git a/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteCommandService.java b/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteCommandService.java index dd2b813d..4e88d35b 100644 --- a/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteCommandService.java +++ b/src/main/java/umc/th/juinjang/api/note/shared/service/SharedNoteCommandService.java @@ -145,10 +145,12 @@ public void createSharedNote(Member member, Long noteId, SharedNotePostRequest r // 최초 공유라면 보상 지급 boolean isFirstTimeShared = latestSharedNote.isEmpty(); - Integer rewardPencilCount = isFirstTimeShared ? calculateReward(limjang, request) : 0; + int reward = calculateReward(limjang, request); + Integer rewardPencilCount = isFirstTimeShared ? reward : 0; + Long price = calculatePrice(reward); // 공유 저장 - SharedNote sharedNote = SharedNote.toSharedNote(member, limjang, request); + SharedNote sharedNote = SharedNote.toSharedNote(member, limjang, request, price); sharedNoteUpdater.save(sharedNote); // 보상 처리 @@ -161,11 +163,15 @@ private int calculateReward(Limjang limjang, SharedNotePostRequest request) { if (request.isImageShared() == Boolean.TRUE && !limjang.getImageList().isEmpty()) { validateImagesAreSafe(limjang); return 7; - } - if (request.isImageShared() == Boolean.TRUE || limjang.getImageList().isEmpty()) { + } else return 2; - } - return 0; + } + + private Long calculatePrice(int reward) { + if (reward == 7) + return 10L; + else + return 5L; } private void validateImagesAreSafe(Limjang limjang) { diff --git a/src/main/java/umc/th/juinjang/domain/note/shared/model/SharedNote.java b/src/main/java/umc/th/juinjang/domain/note/shared/model/SharedNote.java index acf27b40..c2d302f9 100644 --- a/src/main/java/umc/th/juinjang/domain/note/shared/model/SharedNote.java +++ b/src/main/java/umc/th/juinjang/domain/note/shared/model/SharedNote.java @@ -73,7 +73,7 @@ public Long increaseLikedCount() { return this.likeCount = (likeCount == null ? 1L : likeCount + 1); } - public static SharedNote toSharedNote(Member member, Limjang limjang, SharedNotePostRequest dto) { + public static SharedNote toSharedNote(Member member, Limjang limjang, SharedNotePostRequest dto, Long price) { return SharedNote.builder() .member(member) .limjang(limjang) @@ -85,6 +85,7 @@ public static SharedNote toSharedNote(Member member, Limjang limjang, SharedNote .isImageShared(dto.isImageShared()) .viewCount(0L) .likeCount(0L) + .price(price) .build(); }