From 9374cecc260291d72170ce8fa8a9d501af3b5a70 Mon Sep 17 00:00:00 2001 From: hyeesw Date: Sun, 25 Aug 2024 04:35:14 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[feat]=20#107=20=EC=98=A4=ED=94=88=ED=86=A1?= =?UTF-8?q?=20=EC=B0=B8=EC=97=AC=ED=95=98=EA=B8=B0=20api=20=EC=97=90=20?= =?UTF-8?q?=EC=A6=90=EC=B0=BE=20=EC=97=AC=EB=B6=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/opentalk/controller/OpentalkController.java | 6 +++--- .../domain/opentalk/dto/OpentalkJoinResponseDto.java | 3 +++ .../backend/domain/opentalk/service/OpentalkService.java | 9 +++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/book/backend/domain/opentalk/controller/OpentalkController.java b/src/main/java/com/book/backend/domain/opentalk/controller/OpentalkController.java index 20ad0966..f13b5c7f 100644 --- a/src/main/java/com/book/backend/domain/opentalk/controller/OpentalkController.java +++ b/src/main/java/com/book/backend/domain/opentalk/controller/OpentalkController.java @@ -52,10 +52,10 @@ public ResponseEntity opentalkMain() throws Exception { // [오픈톡 참여하기] - @Operation(summary="오픈톡 참여하기", description="isbn, pageSize를 입력으로 받아, 오픈톡 ID, 채팅 내역 반환", + @Operation(summary="오픈톡 참여하기", description="isbn, pageSize를 입력으로 받아 오픈톡 ID, 즐찾여부, 채팅 내역 반환", parameters = {@Parameter(name = "isbn", description = "책 ISBN"), @Parameter(name = "pageSize", description = "페이지 당 개수")}, - responses = {@ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = OpentalkResponseDto.class)), - description = OpentalkResponseDto.description)}) + responses = {@ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = OpentalkJoinResponseDto.class)), + description = OpentalkJoinResponseDto.description)}) @PostMapping("/join") public ResponseEntity joinOpentalk(@RequestParam String isbn, int pageSize) { RequestLogger.param(new String[]{"isbn"}, isbn); diff --git a/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkJoinResponseDto.java b/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkJoinResponseDto.java index 6d474e60..2404cf6a 100644 --- a/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkJoinResponseDto.java +++ b/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkJoinResponseDto.java @@ -10,5 +10,8 @@ @Builder public class OpentalkJoinResponseDto { private final Long opentalkId; + private final boolean isFavorite; //즐찾 여부 private final List messageResponseDto; //nullable + + public static final String description = "opentalkId : 오픈톡 DB ID | isFavorite : 즐찾여부 | messageResponseDto : 0번째 페이지의 채팅 리스트"; } diff --git a/src/main/java/com/book/backend/domain/opentalk/service/OpentalkService.java b/src/main/java/com/book/backend/domain/opentalk/service/OpentalkService.java index c288d761..a7f352cc 100644 --- a/src/main/java/com/book/backend/domain/opentalk/service/OpentalkService.java +++ b/src/main/java/com/book/backend/domain/opentalk/service/OpentalkService.java @@ -139,12 +139,17 @@ public OpentalkJoinResponseDto joinOpentalk(String isbn, int pageSize){ Long opentalkId = checkExistOpentalk(isbn); if(opentalkId == null){ opentalkId = createOpentalkIdByIsbn(isbn); - return OpentalkJoinResponseDto.builder().opentalkId(opentalkId).messageResponseDto(null).build(); + return OpentalkJoinResponseDto.builder().opentalkId(opentalkId).messageResponseDto(null).isFavorite(false).build(); } Pageable pageRequest = PageRequest.of(0, pageSize, Sort.by("createdAt").descending()); Page messagePage = messageService.getMessage(opentalkId, pageRequest); List response = messageService.pageToDto(messagePage); - return OpentalkJoinResponseDto.builder().opentalkId(opentalkId).messageResponseDto(response).build(); + + // 즐찾 여부 + UserOpentalk userOpentalk= userOpentalkRepository.findByUserIdAndOpentalkId(userService.loadLoggedinUser(), opentalkRepository.findById(opentalkId).get()); + boolean isFavorite = userOpentalk != null; + + return OpentalkJoinResponseDto.builder().opentalkId(opentalkId).messageResponseDto(response).isFavorite(isFavorite).build(); } @Transactional From 9e60ba16fe026f094948169cdb864a1709e83190 Mon Sep 17 00:00:00 2001 From: hyeesw Date: Sun, 25 Aug 2024 04:48:22 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[feat]=20#107=20=EC=98=A4=ED=94=88=ED=86=A1?= =?UTF-8?q?=20=EB=A9=94=EC=9D=B8=20API=20response=20=EC=97=90=20isbn=20?= =?UTF-8?q?=EA=B0=92=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/book/backend/domain/opentalk/dto/OpentalkDto.java | 1 + .../backend/domain/opentalk/service/OpentalkResponseParser.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkDto.java b/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkDto.java index eb5893ca..b3fbe961 100644 --- a/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkDto.java +++ b/src/main/java/com/book/backend/domain/opentalk/dto/OpentalkDto.java @@ -9,6 +9,7 @@ @Setter public class OpentalkDto { private Long id; + private String isbn13; private String bookName; private String bookImageURL; } diff --git a/src/main/java/com/book/backend/domain/opentalk/service/OpentalkResponseParser.java b/src/main/java/com/book/backend/domain/opentalk/service/OpentalkResponseParser.java index be07662f..07477d72 100644 --- a/src/main/java/com/book/backend/domain/opentalk/service/OpentalkResponseParser.java +++ b/src/main/java/com/book/backend/domain/opentalk/service/OpentalkResponseParser.java @@ -13,6 +13,7 @@ public class OpentalkResponseParser { public void setSimpleBookInfo(OpentalkDto opentalkDto, DetailResponseDto responseDto){ log.trace("OpentalkResponseParser > setSimpleBookInfo()"); + opentalkDto.setIsbn13(responseDto.getBookInfoDto().getIsbn13()); opentalkDto.setBookName(responseDto.getBookInfoDto().getBookname()); opentalkDto.setBookImageURL(responseDto.getBookInfoDto().getBookImageURL()); }