From aeff3a51af7147cdf5c1a2cdff89f2b6ffee3483 Mon Sep 17 00:00:00 2001 From: beaniejoy Date: Thu, 4 Aug 2022 01:37:15 +0900 Subject: [PATCH] =?UTF-8?q?[#8]=20feat:=20Cafe=20=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=EC=A0=81=EC=9D=B8=20CRUD=20=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cafe 생성 로직 수정 및 적용 --- .../domain/cafe/controller/CafeController.kt | 4 ++-- .../dongnecafe/domain/cafe/entity/Cafe.kt | 22 +++++++++++++++++-- .../domain/cafe/service/CafeService.kt | 13 +++++------ 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt b/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt index cf00f69..d9dbfee 100644 --- a/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt +++ b/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt @@ -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!!, diff --git a/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/entity/Cafe.kt b/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/entity/Cafe.kt index 0027cee..41d6442 100644 --- a/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/entity/Cafe.kt +++ b/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/entity/Cafe.kt @@ -47,8 +47,26 @@ class Cafe protected constructor( address: String, phoneNumber: String, description: String, - cafeMenuList: List + cafeMenuRequestList: List, ): 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 diff --git a/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt b/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt index 309c0c7..74afe0f 100644 --- a/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt +++ b/src/main/java/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt @@ -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)