@@ -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!!,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user