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.WebBookRegisterForm;
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 java.util.List;
@FeignClient(value = "webBook", url = "${external-api.webBook.url}")
public interface WebBookClient {
@@ -14,4 +18,7 @@ public interface WebBookClient {
@PostMapping("/chapter")
Long addWebBookChapter(WebBookChapterRegisterForm webBookChapterRegisterForm);
@GetMapping("")
List<WebBookDto> getWebBookList();
}

View File

@@ -1,37 +1,32 @@
//package com.userdemo.controller;
//
//import com.monolithicdemo.model.dto.WebBookChapterDto;
//import com.monolithicdemo.model.dto.WebBookChapterPaidDto;
//import com.monolithicdemo.model.dto.WebBookDto;
//import com.monolithicdemo.model.form.RegisterReaderForm;
//import com.monolithicdemo.model.form.WebBookChapterPaymentForm;
//import com.monolithicdemo.service.ReaderService;
//import com.monolithicdemo.service.WebBookPaymentService;
//import com.monolithicdemo.service.WebBookService;
//import lombok.RequiredArgsConstructor;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.List;
//
//@RestController
//@RequestMapping("/reader")
//@RequiredArgsConstructor
//public class ReaderController {
//
// private final ReaderService ReaderService;
// private final WebBookService webBookService;
// private final WebBookPaymentService webBookPaymentService;
//
// @PostMapping("/")
// public ResponseEntity<Long> registerReader(@RequestBody RegisterReaderForm registerReaderForm){
// return ResponseEntity.ok(ReaderService.registerReader(registerReaderForm));
// }
//
// @GetMapping("/webBook")
// public ResponseEntity<List<WebBookDto>> getWebBookList() {
// return ResponseEntity.ok().body(webBookService.getWebBookList());
// }
package com.userdemo.controller;
import com.userdemo.model.dto.WebBookDto;
import com.userdemo.model.form.RegisterReaderForm;
import com.userdemo.service.ReaderService;
import com.userdemo.service.ReaderWebBookService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/reader")
@RequiredArgsConstructor
public class ReaderController {
private final ReaderService ReaderService;
private final ReaderWebBookService readerWebBookService;
@PostMapping("/")
public ResponseEntity<Long> registerReader(@RequestBody RegisterReaderForm registerReaderForm){
return ResponseEntity.ok(ReaderService.registerReader(registerReaderForm));
}
@GetMapping("/webBook")
public ResponseEntity<List<WebBookDto>> getWebBookList() {
return ResponseEntity.ok().body(readerWebBookService.getWebBookList());
}
//
// @GetMapping("/{readerId}/webBook/{webBookId}/chapter")
// public ResponseEntity<List<WebBookChapterDto>> getWebBookChapterList(
@@ -46,4 +41,4 @@
// @RequestBody WebBookChapterPaymentForm 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;
import com.webbookdemo.model.dto.WebBookDto;
import com.webbookdemo.model.form.WebBookChapterRegisterForm;
import com.webbookdemo.model.form.WebBookRegisterForm;
import com.webbookdemo.service.WebBookService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("")
@@ -17,7 +17,7 @@ public class WebBookController {
private final WebBookService webBookService;
@PostMapping
@PostMapping("")
public ResponseEntity<Long> addWebBook(@RequestBody WebBookRegisterForm webBookRegisterForm) {
return ResponseEntity.ok().body(webBookService.addWebBook(webBookRegisterForm));
}
@@ -27,4 +27,8 @@ public class WebBookController {
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;
import com.webbookdemo.model.dto.WebBookDto;
import com.webbookdemo.model.entity.WebBook;
import com.webbookdemo.model.entity.WebBookChapter;
import com.webbookdemo.model.entity.repository.WebBookChapterRepository;
@@ -10,6 +11,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@@ -45,4 +48,10 @@ public class WebBookService {
return null;
}
}
public List<WebBookDto> getWebBookList() {
return webBookRepository.findAll().stream()
.map(WebBookDto::from)
.collect(Collectors.toList());
}
}