msa : monolithic - regist webbook chapter
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.monolithicdemo.controller;
|
||||
|
||||
import com.monolithicdemo.model.form.RegisterWebBookChapterForm;
|
||||
import com.monolithicdemo.model.form.RegisterWebBookForm;
|
||||
import com.monolithicdemo.model.form.RegisterWriterForm;
|
||||
import com.monolithicdemo.service.WriterService;
|
||||
@@ -27,4 +28,12 @@ public class WriterController {
|
||||
@RequestBody RegisterWebBookForm registerWebBookForm) {
|
||||
return ResponseEntity.ok(writerWebBookService.registerWebBook(writerId, registerWebBookForm));
|
||||
}
|
||||
|
||||
@PostMapping("/{writerId}/webBook/{webBookId}")
|
||||
public ResponseEntity<Long> registerWebBookChapter(
|
||||
@PathVariable(value = "writerId") Long writerId,
|
||||
@PathVariable(value = "webBookId") Long webBookId,
|
||||
@RequestBody RegisterWebBookChapterForm registerWebBookChapterForm) {
|
||||
return ResponseEntity.ok(writerWebBookService.registerWebBookChapter(writerId, webBookId, registerWebBookChapterForm));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.monolithicdemo.model.entity;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table
|
||||
@Entity
|
||||
public class WebBookChapter {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Long webBookChapterId;
|
||||
//제목
|
||||
private String name;
|
||||
//내용
|
||||
private String detail;
|
||||
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
private Integer price;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.monolithicdemo.model.form;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
@ApiModel
|
||||
public class RegisterWebBookChapterForm {
|
||||
|
||||
@ApiModelProperty(value = "웹소설 제목", example = "MSA 실습")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "웹소설 설명", example = "blah, blah ~~~")
|
||||
private String detail;
|
||||
|
||||
@ApiModelProperty(value = "웹소설 가격", example = "100")
|
||||
private Integer price;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.monolithicdemo.repository;
|
||||
|
||||
import com.monolithicdemo.model.entity.WebBookChapter;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface WebBookChapterRepository extends JpaRepository<WebBookChapter,Long> {
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.monolithicdemo.service;
|
||||
|
||||
import com.monolithicdemo.model.entity.WebBook;
|
||||
import com.monolithicdemo.model.entity.WebBookChapter;
|
||||
import com.monolithicdemo.model.form.RegisterWebBookChapterForm;
|
||||
import com.monolithicdemo.model.form.RegisterWebBookForm;
|
||||
import com.monolithicdemo.repository.WebBookChapterRepository;
|
||||
import com.monolithicdemo.repository.WebBookRepository;
|
||||
import com.monolithicdemo.repository.WriterRepository;
|
||||
|
||||
@@ -16,6 +19,7 @@ public class WriterWebBookService {
|
||||
|
||||
private final WriterRepository writerRepository;
|
||||
private final WebBookRepository webBookRepository;
|
||||
private final WebBookChapterRepository webBookChapterRepository;
|
||||
|
||||
public Long registerWebBook(Long writerId, RegisterWebBookForm registerWebBookForm) {
|
||||
|
||||
@@ -31,4 +35,19 @@ public class WriterWebBookService {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Long registerWebBookChapter(Long writerId, Long webBookId, RegisterWebBookChapterForm registerWebBookChapterForm) {
|
||||
if (writerRepository.existsById(writerId) && webBookRepository.existsById(webBookId)) {
|
||||
return webBookChapterRepository.save(
|
||||
WebBookChapter.builder()
|
||||
.name(registerWebBookChapterForm.getName())
|
||||
.detail(registerWebBookChapterForm.getDetail())
|
||||
.createdAt(LocalDateTime.now())
|
||||
.price(registerWebBookChapterForm.getPrice())
|
||||
.build())
|
||||
.getWebBookChapterId();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user