msa : msa - get webbook list

This commit is contained in:
haerong22
2021-07-31 19:53:56 +09:00
parent 1fc5c1711b
commit 491a6dd63e
7 changed files with 127 additions and 40 deletions

View File

@@ -2,10 +2,14 @@ package com.userdemo.client;
import com.userdemo.client.form.WebBookChapterRegisterForm; import com.userdemo.client.form.WebBookChapterRegisterForm;
import com.userdemo.client.form.WebBookRegisterForm; import com.userdemo.client.form.WebBookRegisterForm;
import com.userdemo.model.dto.WebBookDto;
import org.springframework.cloud.openfeign.FeignClient; 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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient(value = "webBook", url = "${external-api.webBook.url}") @FeignClient(value = "webBook", url = "${external-api.webBook.url}")
public interface WebBookClient { public interface WebBookClient {
@@ -14,4 +18,7 @@ public interface WebBookClient {
@PostMapping("/chapter") @PostMapping("/chapter")
Long addWebBookChapter(WebBookChapterRegisterForm webBookChapterRegisterForm); Long addWebBookChapter(WebBookChapterRegisterForm webBookChapterRegisterForm);
@GetMapping("")
List<WebBookDto> getWebBookList();
} }

View File

@@ -1,37 +1,32 @@
//package com.userdemo.controller; package com.userdemo.controller;
//
//import com.monolithicdemo.model.dto.WebBookChapterDto; import com.userdemo.model.dto.WebBookDto;
//import com.monolithicdemo.model.dto.WebBookChapterPaidDto; import com.userdemo.model.form.RegisterReaderForm;
//import com.monolithicdemo.model.dto.WebBookDto; import com.userdemo.service.ReaderService;
//import com.monolithicdemo.model.form.RegisterReaderForm; import com.userdemo.service.ReaderWebBookService;
//import com.monolithicdemo.model.form.WebBookChapterPaymentForm; import lombok.RequiredArgsConstructor;
//import com.monolithicdemo.service.ReaderService; import org.springframework.http.ResponseEntity;
//import com.monolithicdemo.service.WebBookPaymentService; import org.springframework.web.bind.annotation.*;
//import com.monolithicdemo.service.WebBookService;
//import lombok.RequiredArgsConstructor; import java.util.List;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*; @RestController
// @RequestMapping("/reader")
//import java.util.List; @RequiredArgsConstructor
// public class ReaderController {
//@RestController
//@RequestMapping("/reader") private final ReaderService ReaderService;
//@RequiredArgsConstructor private final ReaderWebBookService readerWebBookService;
//public class ReaderController {
// @PostMapping("/")
// private final ReaderService ReaderService; public ResponseEntity<Long> registerReader(@RequestBody RegisterReaderForm registerReaderForm){
// private final WebBookService webBookService; return ResponseEntity.ok(ReaderService.registerReader(registerReaderForm));
// private final WebBookPaymentService webBookPaymentService; }
//
// @PostMapping("/") @GetMapping("/webBook")
// public ResponseEntity<Long> registerReader(@RequestBody RegisterReaderForm registerReaderForm){ public ResponseEntity<List<WebBookDto>> getWebBookList() {
// return ResponseEntity.ok(ReaderService.registerReader(registerReaderForm)); return ResponseEntity.ok().body(readerWebBookService.getWebBookList());
// } }
//
// @GetMapping("/webBook")
// public ResponseEntity<List<WebBookDto>> getWebBookList() {
// return ResponseEntity.ok().body(webBookService.getWebBookList());
// }
// //
// @GetMapping("/{readerId}/webBook/{webBookId}/chapter") // @GetMapping("/{readerId}/webBook/{webBookId}/chapter")
// public ResponseEntity<List<WebBookChapterDto>> getWebBookChapterList( // public ResponseEntity<List<WebBookChapterDto>> getWebBookChapterList(
@@ -46,4 +41,4 @@
// @RequestBody WebBookChapterPaymentForm webBookChapterPaymentForm) { // @RequestBody WebBookChapterPaymentForm webBookChapterPaymentForm) {
// return ResponseEntity.ok().body(webBookPaymentService.payment(readerId, webBookChapterPaymentForm)); // return ResponseEntity.ok().body(webBookPaymentService.payment(readerId, webBookChapterPaymentForm));
// } // }
//} }

View File

@@ -0,0 +1,22 @@
package com.userdemo.model.dto;
import lombok.*;
import java.time.LocalDateTime;
@Setter
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WebBookDto {
private Long webBookId;
//제목
private String name;
//설명
private String description;
private LocalDateTime createdAt;
}

View File

@@ -0,0 +1,19 @@
package com.userdemo.service;
import com.userdemo.client.WebBookClient;
import com.userdemo.model.dto.WebBookDto;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@RequiredArgsConstructor
public class ReaderWebBookService {
private final WebBookClient webBookClient;
public List<WebBookDto> getWebBookList() {
return webBookClient.getWebBookList();
}
}

View File

@@ -1,14 +1,14 @@
package com.webbookdemo.controller; package com.webbookdemo.controller;
import com.webbookdemo.model.dto.WebBookDto;
import com.webbookdemo.model.form.WebBookChapterRegisterForm; import com.webbookdemo.model.form.WebBookChapterRegisterForm;
import com.webbookdemo.model.form.WebBookRegisterForm; import com.webbookdemo.model.form.WebBookRegisterForm;
import com.webbookdemo.service.WebBookService; import com.webbookdemo.service.WebBookService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.List;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("") @RequestMapping("")
@@ -17,7 +17,7 @@ public class WebBookController {
private final WebBookService webBookService; private final WebBookService webBookService;
@PostMapping @PostMapping("")
public ResponseEntity<Long> addWebBook(@RequestBody WebBookRegisterForm webBookRegisterForm) { public ResponseEntity<Long> addWebBook(@RequestBody WebBookRegisterForm webBookRegisterForm) {
return ResponseEntity.ok().body(webBookService.addWebBook(webBookRegisterForm)); return ResponseEntity.ok().body(webBookService.addWebBook(webBookRegisterForm));
} }
@@ -27,4 +27,8 @@ public class WebBookController {
return ResponseEntity.ok().body(webBookService.addWebBookChapter(webBookChapterRegisterForm)); return ResponseEntity.ok().body(webBookService.addWebBookChapter(webBookChapterRegisterForm));
} }
@GetMapping("")
public ResponseEntity<List<WebBookDto>> getWebBookList() {
return ResponseEntity.ok().body(webBookService.getWebBookList());
}
} }

View File

@@ -0,0 +1,31 @@
package com.webbookdemo.model.dto;
import com.webbookdemo.model.entity.WebBook;
import lombok.*;
import java.time.LocalDateTime;
@Setter
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WebBookDto {
private Long webBookId;
//제목
private String name;
//설명
private String description;
private LocalDateTime createdAt;
public static WebBookDto from(WebBook webBook){
return WebBookDto.builder()
.webBookId(webBook.getWebBookId())
.name(webBook.getName())
.description(webBook.getDescription())
.createdAt(webBook.getCreatedAt())
.build();
}
}

View File

@@ -1,5 +1,6 @@
package com.webbookdemo.service; package com.webbookdemo.service;
import com.webbookdemo.model.dto.WebBookDto;
import com.webbookdemo.model.entity.WebBook; import com.webbookdemo.model.entity.WebBook;
import com.webbookdemo.model.entity.WebBookChapter; import com.webbookdemo.model.entity.WebBookChapter;
import com.webbookdemo.model.entity.repository.WebBookChapterRepository; import com.webbookdemo.model.entity.repository.WebBookChapterRepository;
@@ -10,6 +11,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -45,4 +48,10 @@ public class WebBookService {
return null; return null;
} }
} }
public List<WebBookDto> getWebBookList() {
return webBookRepository.findAll().stream()
.map(WebBookDto::from)
.collect(Collectors.toList());
}
} }