[#8] feat: Cafe 기본적인 CRUD 구성

- Cafe 생성 로직 수정 및 적용
This commit is contained in:
beaniejoy
2022-08-04 01:37:15 +09:00
parent d9bafc8e80
commit aeff3a51af
3 changed files with 28 additions and 11 deletions

View File

@@ -16,8 +16,8 @@ class CafeController(
private val cafeService: CafeService
) {
@PostMapping
fun createCafe(@RequestBody resource: CafeInfoRequestDto) {
val savedCafeId = cafeService.createCafe(
fun createCafe(@RequestBody resource: CafeInfoRequestDto): Long {
return cafeService.createCafe(
name = resource.name!!,
address = resource.address!!,
phoneNumber = resource.phoneNumber!!,

View File

@@ -47,8 +47,26 @@ class Cafe protected constructor(
address: String,
phoneNumber: String,
description: String,
cafeMenuList: List<CafeMenu>
cafeMenuRequestList: List<CafeMenuInfoRequestDto>,
): Cafe {
val cafeMenuList = cafeMenuRequestList.map { cafeMenuRequestDto ->
CafeMenu.createCafeMenu(
name = cafeMenuRequestDto.name!!,
price = cafeMenuRequestDto.price,
menuOptionList = cafeMenuRequestDto.menuOptionList.map { menuOptionRequestDto ->
MenuOption.createMenuOption(
title = menuOptionRequestDto.title,
optionDetailList = menuOptionRequestDto.optionDetailList.map { optionDetailRequestDto ->
OptionDetail.createOptionDetail(
name = optionDetailRequestDto.name,
extraPrice = optionDetailRequestDto.extraPrice
)
}
)
}
)
}
return Cafe(
name = name,
address = address,
@@ -69,7 +87,7 @@ class Cafe protected constructor(
name: String,
address: String,
phoneNumber: String,
description: String
description: String,
) {
this.name = name
this.address = address

View File

@@ -5,6 +5,8 @@ import io.beaniejoy.dongnecafe.domain.cafe.dto.cafe.CafeSearchResponseDto
import io.beaniejoy.dongnecafe.domain.cafe.dto.request.CafeMenuInfoRequestDto
import io.beaniejoy.dongnecafe.domain.cafe.entity.Cafe
import io.beaniejoy.dongnecafe.domain.cafe.entity.CafeMenu
import io.beaniejoy.dongnecafe.domain.cafe.entity.MenuOption
import io.beaniejoy.dongnecafe.domain.cafe.entity.OptionDetail
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeExistedException
import io.beaniejoy.dongnecafe.domain.cafe.error.CafeNotFoundException
import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeRepository
@@ -22,6 +24,9 @@ class CafeService(
) {
companion object : KLogging()
/**
* 카페 생성 로직
*/
fun createCafe(
name: String,
address: String,
@@ -31,18 +36,12 @@ class CafeService(
): Long {
checkCafeExistedByName(name)
val cafeMenuList = cafeMenuRequestList.map {
CafeMenu.createCafeMenu(it.name!!, it.price)
}
val cafe = Cafe.createCafe(
name = name,
address = address,
phoneNumber = phoneNumber,
description = description,
cafeMenuList = cafeMenuList
cafeMenuRequestList = cafeMenuRequestList
)
val savedCafe = cafeRepository.save(cafe)