msa : msa - add web book chapter

This commit is contained in:
haerong22
2021-07-31 18:52:46 +09:00
parent a4b3ea5689
commit 1fc5c1711b
7 changed files with 104 additions and 23 deletions

View File

@@ -1,5 +1,6 @@
package com.userdemo.client;
import com.userdemo.client.form.WebBookChapterRegisterForm;
import com.userdemo.client.form.WebBookRegisterForm;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@@ -10,4 +11,7 @@ public interface WebBookClient {
@PostMapping("")
Long addBook(@RequestBody WebBookRegisterForm registerWebBookForm);
@PostMapping("/chapter")
Long addWebBookChapter(WebBookChapterRegisterForm webBookChapterRegisterForm);
}

View File

@@ -0,0 +1,25 @@
package com.userdemo.client.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
@Setter
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
public class WebBookChapterRegisterForm {
private Long webBookId;
@ApiModelProperty(value = "웹소설 제목", example = "MSA 실습")
private String name;
@ApiModelProperty(value = "웹소설 내용", example = "Blah ~~.")
private String detail;
private Integer price;
}

View File

@@ -1,5 +1,6 @@
package com.userdemo.controller;
import com.userdemo.model.form.RegisterWebBookChapterForm;
import com.userdemo.model.form.RegisterWebBookForm;
import com.userdemo.model.form.RegisterWriterForm;
import com.userdemo.service.WriterService;
@@ -28,11 +29,11 @@ public class WriterController {
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));
// }
@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));
}
}

View File

@@ -1,14 +1,14 @@
package com.userdemo.service;
import com.userdemo.client.WebBookClient;
import com.userdemo.client.form.WebBookChapterRegisterForm;
import com.userdemo.client.form.WebBookRegisterForm;
import com.userdemo.model.entity.repository.WriterRepository;
import com.userdemo.model.form.RegisterWebBookChapterForm;
import com.userdemo.model.form.RegisterWebBookForm;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@Service
@RequiredArgsConstructor
public class WriterWebBookService {
@@ -31,18 +31,18 @@ public class WriterWebBookService {
}
}
// 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;
// }
// }
public Long registerWebBookChapter(Long writerId, Long webBookId, RegisterWebBookChapterForm registerWebBookChapterForm) {
if (writerRepository.existsById(writerId)) {
WebBookChapterRegisterForm webBookChapterRegisterForm = WebBookChapterRegisterForm.builder()
.webBookId(webBookId)
.name(registerWebBookChapterForm.getName())
.detail(registerWebBookChapterForm.getDetail())
.price(registerWebBookChapterForm.getPrice())
.build();
return webBookClient.addWebBookChapter(webBookChapterRegisterForm);
} else {
return null;
}
}
}

View File

@@ -1,5 +1,6 @@
package com.webbookdemo.controller;
import com.webbookdemo.model.form.WebBookChapterRegisterForm;
import com.webbookdemo.model.form.WebBookRegisterForm;
import com.webbookdemo.service.WebBookService;
import lombok.RequiredArgsConstructor;
@@ -21,4 +22,9 @@ public class WebBookController {
return ResponseEntity.ok().body(webBookService.addWebBook(webBookRegisterForm));
}
@PostMapping("/chapter")
public ResponseEntity<Long> addWebBookChapter(@RequestBody WebBookChapterRegisterForm webBookChapterRegisterForm) {
return ResponseEntity.ok().body(webBookService.addWebBookChapter(webBookChapterRegisterForm));
}
}

View File

@@ -0,0 +1,25 @@
package com.webbookdemo.model.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
@Setter
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
public class WebBookChapterRegisterForm {
private Long webBookId;
@ApiModelProperty(value = "웹소설 제목", example = "MSA 실습")
private String name;
@ApiModelProperty(value = "웹소설 내용", example = "Blah ~~.")
private String detail;
private Integer price;
}

View File

@@ -1,7 +1,10 @@
package com.webbookdemo.service;
import com.webbookdemo.model.entity.WebBook;
import com.webbookdemo.model.entity.WebBookChapter;
import com.webbookdemo.model.entity.repository.WebBookChapterRepository;
import com.webbookdemo.model.entity.repository.WebBookRepository;
import com.webbookdemo.model.form.WebBookChapterRegisterForm;
import com.webbookdemo.model.form.WebBookRegisterForm;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -13,6 +16,7 @@ import java.time.LocalDateTime;
public class WebBookService {
private final WebBookRepository webBookRepository;
private final WebBookChapterRepository webBookChapterRepository;
public Long addWebBook(WebBookRegisterForm webBookRegisterForm) {
@@ -25,4 +29,20 @@ public class WebBookService {
.build()
).getWebBookId();
}
public Long addWebBookChapter(WebBookChapterRegisterForm webBookChapterRegisterForm) {
if (webBookRepository.existsById(webBookChapterRegisterForm.getWebBookId())) {
return webBookChapterRepository.save(
WebBookChapter.builder()
.webBookId(webBookChapterRegisterForm.getWebBookId())
.name(webBookChapterRegisterForm.getName())
.detail(webBookChapterRegisterForm.getDetail())
.price(webBookChapterRegisterForm.getPrice())
.build()
).getWebBookChapterId();
} else {
return null;
}
}
}