Skip to content
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 @@ -29,6 +29,7 @@
import umc.th.juinjang.api.note.shared.service.response.SharedNoteCheckListAndReviewResponse;
import umc.th.juinjang.api.note.shared.service.response.SharedNoteExploreGetResponse;
import umc.th.juinjang.api.note.shared.service.response.SharedNoteGetResponse;
import umc.th.juinjang.api.note.shared.service.response.SharedNotePostResponse;
import umc.th.juinjang.api.note.shared.service.response.UserSharedNotesGetResponse;
import umc.th.juinjang.domain.limjang.model.LimjangPriceType;
import umc.th.juinjang.domain.limjang.model.LimjangPropertyType;
Expand Down Expand Up @@ -67,11 +68,10 @@ public ApiResponse<Void> deleteSharedNote(@AuthenticationPrincipal Member member

@Operation(summary = "공유 노트 생성 API")
@PostMapping("/{noteId}")
public ApiResponse<Void> uploadSharedNote(@AuthenticationPrincipal Member member,
public ApiResponse<SharedNotePostResponse> uploadSharedNote(@AuthenticationPrincipal Member member,
@PathVariable("noteId") Long noteId,
@RequestBody SharedNotePostRequest request) {
sharedNoteCommandService.createSharedNote(member, noteId, request);
return ApiResponse.onSuccess(null);
return ApiResponse.onSuccess(sharedNoteCommandService.createSharedNote(member, noteId, request));
}

@Operation(summary = "공유 노트 둘러보기 API")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import umc.th.juinjang.api.limjang.service.NoteFinder;
import umc.th.juinjang.api.limjang.service.NoteUpdater;
import umc.th.juinjang.api.note.shared.controller.request.SharedNotePostRequest;
import umc.th.juinjang.api.note.shared.service.response.SharedNotePostResponse;
import umc.th.juinjang.api.pencil.service.AcquiredPencilUpdater;
import umc.th.juinjang.api.pencil.service.PurchasedPencilUpdater;
import umc.th.juinjang.api.pencil.service.UsedPencilFinder;
Expand Down Expand Up @@ -134,7 +135,7 @@ public void deleteSharedNote(Member member, Long sharedNoteId, LocalDateTime del
}

@Transactional
public void createSharedNote(Member member, Long noteId, SharedNotePostRequest request) {
public SharedNotePostResponse createSharedNote(Member member, Long noteId, SharedNotePostRequest request) {

Limjang limjang = noteFinder.getNoteByIdWhereDeletedIsFalse(noteId);
Optional<SharedNote> latestSharedNote = sharedNoteFinder.findLatestByLimjangId(noteId);
Expand All @@ -152,12 +153,13 @@ public void createSharedNote(Member member, Long noteId, SharedNotePostRequest r

// 공유 저장
SharedNote sharedNote = SharedNote.toSharedNote(member, limjang, request, price);
sharedNoteUpdater.save(sharedNote);
sharedNote = sharedNoteUpdater.save(sharedNote);

// 보상 처리
if (rewardPencilCount > 0) {
applyReward(member, limjang, sharedNote.getSharedNoteId(), rewardPencilCount);
}
return new SharedNotePostResponse(sharedNote.getSharedNoteId());
}

private int calculateReward(Limjang limjang, SharedNotePostRequest request) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package umc.th.juinjang.api.note.shared.service.response;

public record SharedNotePostResponse(
Long sharedNoteId
) {
}