msa : msa - get webbook chapter list

This commit is contained in:
haerong22
2021-07-31 20:15:26 +09:00
parent 491a6dd63e
commit b69e694be9
8 changed files with 120 additions and 8 deletions

View File

@@ -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<WebBookDto> getWebBookList();
@GetMapping("/chapter")
List<ReaderWebBookChapterDto> getWebBookChapterList(@RequestParam("webBookId") Long webBookId);
}

View File

@@ -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<List<WebBookDto>> getWebBookList() {
return ResponseEntity.ok().body(readerWebBookService.getWebBookList());
}
//
// @GetMapping("/{readerId}/webBook/{webBookId}/chapter")
// public ResponseEntity<List<WebBookChapterDto>> 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<List<ReaderWebBookChapterDto>> getWebBookChapterList(
@PathVariable(value = "readerId") Long readerId,
@PathVariable(value = "webBookId") Long webBookId) {
return ResponseEntity.ok().body(readerWebBookService.getWebBookChapterList(readerId, webBookId));
}
//
// @PostMapping("/{readerId}/payment")
// public ResponseEntity<WebBookChapterPaidDto> paymentWebBookChapter(

View File

@@ -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;
}

View File

@@ -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();
// }
}

View File

@@ -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<WebBookDto> getWebBookList() {
return webBookClient.getWebBookList();
}
public List<ReaderWebBookChapterDto> getWebBookChapterList(Long readerId, Long webBookId) {
return webBookClient.getWebBookChapterList(webBookId);
}
}

View File

@@ -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<List<WebBookDto>> getWebBookList() {
return ResponseEntity.ok().body(webBookService.getWebBookList());
}
@GetMapping("/chapter")
public ResponseEntity<List<WebBookChapterDto>> getWebBookChapterList(Long webBookId) {
return ResponseEntity.ok().body(webBookService.getWebBookChapterList(webBookId));
}
}

View File

@@ -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();
}
}

View File

@@ -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<WebBookChapterDto> getWebBookChapterList(Long webBookId) {
return webBookChapterRepository.findAllByWebBookId(webBookId).stream()
.map(WebBookChapterDto::from)
.collect(Collectors.toList());
}
}