msa : monolithic - get webook list

This commit is contained in:
haerong22
2021-07-29 15:39:41 +09:00
parent fd8c21fd12
commit bcc07b6e7e
7 changed files with 147 additions and 4 deletions

View File

@@ -1,13 +1,14 @@
package com.monolithicdemo.controller;
import com.monolithicdemo.model.dto.WebBookDto;
import com.monolithicdemo.model.form.RegisterReaderForm;
import com.monolithicdemo.service.ReaderService;
import com.monolithicdemo.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("/reader")
@@ -15,9 +16,15 @@ import org.springframework.web.bind.annotation.RestController;
public class ReaderController {
private final ReaderService ReaderService;
private final WebBookService webBookService;
@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());
}
}

View File

@@ -0,0 +1,21 @@
package com.monolithicdemo.model.dto;
import lombok.*;
import java.time.LocalDateTime;
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WebBookChapterDto {
private Long webBookChapterId;
private Long webBookId;
private String name;
private String detail;
private LocalDateTime createdAt;
private Integer price;
}

View File

@@ -0,0 +1,26 @@
package com.monolithicdemo.model.dto;
import com.monolithicdemo.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

@@ -0,0 +1,26 @@
package com.monolithicdemo.model.entity;
import lombok.*;
import javax.persistence.*;
import java.time.LocalDateTime;
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table
@Entity
public class ReaderWebBookPayment {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long readerWebBookPayment;
private Long webBookChapterId;
private Integer paymentAmount;
private LocalDateTime createdAt;
}

View File

@@ -0,0 +1,30 @@
package com.monolithicdemo.model.entity;
import lombok.*;
import javax.persistence.*;
import java.time.LocalDateTime;
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table
@Entity
public class WriterWebBookPayment {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long writerWebBookPayment;
private Long webBookChapterId;
private Long readerWebBookPaymentId;
private Integer paymentAmount;
private boolean isWithdraw; // default = false
private LocalDateTime createdAt;
}

View File

@@ -0,0 +1,11 @@
package com.monolithicdemo.model.form;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class WebBookChapterPaymentForm {
private Long webBookChapterId;
}

View File

@@ -0,0 +1,22 @@
package com.monolithicdemo.service;
import com.monolithicdemo.model.dto.WebBookDto;
import com.monolithicdemo.repository.WebBookRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class WebBookService {
private final WebBookRepository webBookRepository;
public List<WebBookDto> getWebBookList() {
return webBookRepository.findAll().stream()
.map(webBook -> WebBookDto.from(webBook))
.collect(Collectors.toList());
}
}