diff --git a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/client/WebBookClient.java b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/client/WebBookClient.java index 266754c8..e5b1b1b4 100644 --- a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/client/WebBookClient.java +++ b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/client/WebBookClient.java @@ -2,11 +2,13 @@ package com.userdemo.client; import com.userdemo.client.form.WebBookChapterRegisterForm; import com.userdemo.client.form.WebBookRegisterForm; +import com.userdemo.model.dto.ReaderWebBookChapterDto; import com.userdemo.model.dto.WebBookDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -17,8 +19,11 @@ public interface WebBookClient { Long addBook(@RequestBody WebBookRegisterForm registerWebBookForm); @PostMapping("/chapter") - Long addWebBookChapter(WebBookChapterRegisterForm webBookChapterRegisterForm); + Long addWebBookChapter(@RequestBody WebBookChapterRegisterForm webBookChapterRegisterForm); @GetMapping("") List getWebBookList(); + + @GetMapping("/chapter") + List getWebBookChapterList(@RequestParam("webBookId") Long webBookId); } diff --git a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java index 4c1072b7..b356d15b 100644 --- a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java +++ b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java @@ -1,5 +1,6 @@ package com.userdemo.controller; +import com.userdemo.model.dto.ReaderWebBookChapterDto; import com.userdemo.model.dto.WebBookDto; import com.userdemo.model.form.RegisterReaderForm; import com.userdemo.service.ReaderService; @@ -27,13 +28,13 @@ public class ReaderController { public ResponseEntity> getWebBookList() { return ResponseEntity.ok().body(readerWebBookService.getWebBookList()); } -// -// @GetMapping("/{readerId}/webBook/{webBookId}/chapter") -// public ResponseEntity> getWebBookChapterList( -// @PathVariable(value = "readerId") Long readerId, -// @PathVariable(value = "webBookId") Long webBookId) { -// return ResponseEntity.ok().body(webBookService.getWebBookChapterList(readerId, webBookId)); -// } + + @GetMapping("/{readerId}/webBook/{webBookId}/chapter") + public ResponseEntity> getWebBookChapterList( + @PathVariable(value = "readerId") Long readerId, + @PathVariable(value = "webBookId") Long webBookId) { + return ResponseEntity.ok().body(readerWebBookService.getWebBookChapterList(readerId, webBookId)); + } // // @PostMapping("/{readerId}/payment") // public ResponseEntity paymentWebBookChapter( diff --git a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/model/dto/ReaderWebBookChapterDto.java b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/model/dto/ReaderWebBookChapterDto.java new file mode 100644 index 00000000..4a34099e --- /dev/null +++ b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/model/dto/ReaderWebBookChapterDto.java @@ -0,0 +1,18 @@ +package com.userdemo.model.dto; + +import lombok.*; + + +@Setter +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ReaderWebBookChapterDto { + + private Long webBookChapterId; + private String name; + private Integer price; +// private Boolean isPaid; + +} diff --git a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/model/dto/WebBookChapterDto.java b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/model/dto/WebBookChapterDto.java new file mode 100644 index 00000000..f9fb89be --- /dev/null +++ b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/model/dto/WebBookChapterDto.java @@ -0,0 +1,35 @@ +package com.userdemo.model.dto; + +import lombok.*; + +import java.time.LocalDateTime; + +@Setter +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WebBookChapterDto { + + private Long webBookChapterId; + //제목 + private String name; + //내용 + private String detail; + + private LocalDateTime createdAt; + +// private Integer price; + +// private Boolean isPaid; +// +// public static WebBookChapterPaidDto from(WebBookChapter webBookChapter){ +// return WebBookChapterPaidDto.builder() +// .webBookChapterId(webBookChapter.getWebBookChapterId()) +// .name(webBookChapter.getName()) +// .detail(webBookChapter.getDetail()) +// .createdAt(webBookChapter.getCreatedAt()) +// .price(webBookChapter.getPrice()) +// .build(); +// } +} diff --git a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/service/ReaderWebBookService.java b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/service/ReaderWebBookService.java index e0d8e7e6..38c2cb1e 100644 --- a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/service/ReaderWebBookService.java +++ b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/service/ReaderWebBookService.java @@ -1,6 +1,7 @@ package com.userdemo.service; import com.userdemo.client.WebBookClient; +import com.userdemo.model.dto.ReaderWebBookChapterDto; import com.userdemo.model.dto.WebBookDto; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -16,4 +17,8 @@ public class ReaderWebBookService { public List getWebBookList() { return webBookClient.getWebBookList(); } + + public List getWebBookChapterList(Long readerId, Long webBookId) { + return webBookClient.getWebBookChapterList(webBookId); + } } diff --git a/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/controller/WebBookController.java b/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/controller/WebBookController.java index 3fd17c9c..b5317b79 100644 --- a/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/controller/WebBookController.java +++ b/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/controller/WebBookController.java @@ -1,5 +1,6 @@ package com.webbookdemo.controller; +import com.webbookdemo.model.dto.WebBookChapterDto; import com.webbookdemo.model.dto.WebBookDto; import com.webbookdemo.model.form.WebBookChapterRegisterForm; import com.webbookdemo.model.form.WebBookRegisterForm; @@ -31,4 +32,9 @@ public class WebBookController { public ResponseEntity> getWebBookList() { return ResponseEntity.ok().body(webBookService.getWebBookList()); } + + @GetMapping("/chapter") + public ResponseEntity> getWebBookChapterList(Long webBookId) { + return ResponseEntity.ok().body(webBookService.getWebBookChapterList(webBookId)); + } } diff --git a/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/model/dto/WebBookChapterDto.java b/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/model/dto/WebBookChapterDto.java new file mode 100644 index 00000000..4d9b3319 --- /dev/null +++ b/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/model/dto/WebBookChapterDto.java @@ -0,0 +1,35 @@ +package com.webbookdemo.model.dto; + +import com.webbookdemo.model.entity.WebBookChapter; +import lombok.*; + +import java.time.LocalDateTime; + +@Setter +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WebBookChapterDto { + + private Long webBookChapterId; + //제목 + private String name; +// //내용 +// private String detail; + + private LocalDateTime createdAt; + + private Integer price; + +// private Boolean isPaid; +public static WebBookChapterDto from(WebBookChapter webBookChapter){ + return WebBookChapterDto.builder() + .webBookChapterId(webBookChapter.getWebBookChapterId()) + .name(webBookChapter.getName()) +// .detail(webBookChapter.getDetail()) + .createdAt(webBookChapter.getCreatedAt()) + .price(webBookChapter.getPrice()) + .build(); +} +} diff --git a/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/service/WebBookService.java b/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/service/WebBookService.java index 02bd709e..0915c589 100644 --- a/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/service/WebBookService.java +++ b/msa_practice/msatest/webbookdemo/src/main/java/com/webbookdemo/service/WebBookService.java @@ -1,5 +1,6 @@ package com.webbookdemo.service; +import com.webbookdemo.model.dto.WebBookChapterDto; import com.webbookdemo.model.dto.WebBookDto; import com.webbookdemo.model.entity.WebBook; import com.webbookdemo.model.entity.WebBookChapter; @@ -54,4 +55,10 @@ public class WebBookService { .map(WebBookDto::from) .collect(Collectors.toList()); } + + public List getWebBookChapterList(Long webBookId) { + return webBookChapterRepository.findAllByWebBookId(webBookId).stream() + .map(WebBookChapterDto::from) + .collect(Collectors.toList()); + } }