From f3c6a6dabdb39bf64d27c26f0780325faad332d0 Mon Sep 17 00:00:00 2001 From: lcomment Date: Thu, 22 Aug 2024 14:27:46 +0900 Subject: [PATCH 1/5] =?UTF-8?q?Refactor=20|=20CAKK-41=20|=20Param=EC=97=90?= =?UTF-8?q?=20Builder=20=EC=B6=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dto/request/shop/UpdateShopRequest.java | 16 ++++++++-------- .../mysql/dto/param/link/UpdateLinkParam.java | 3 +++ .../operation/UpdateShopOperationParam.java | 3 +++ .../dto/param/shop/CakeShopUpdateParam.java | 3 +++ .../dto/param/shop/UpdateShopAddressParam.java | 3 +++ 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/cakk-api/src/main/java/com/cakk/api/dto/request/shop/UpdateShopRequest.java b/cakk-api/src/main/java/com/cakk/api/dto/request/shop/UpdateShopRequest.java index 11439b3e..56d24ece 100644 --- a/cakk-api/src/main/java/com/cakk/api/dto/request/shop/UpdateShopRequest.java +++ b/cakk-api/src/main/java/com/cakk/api/dto/request/shop/UpdateShopRequest.java @@ -18,13 +18,13 @@ public record UpdateShopRequest( ) { public CakeShopUpdateParam toParam(User user, Long cakeShopId) { - return new CakeShopUpdateParam( - thumbnailUrl, - shopName, - shopBio, - shopDescription, - user, - cakeShopId - ); + return CakeShopUpdateParam.builder() + .user(user) + .cakeShopId(cakeShopId) + .thumbnailUrl(thumbnailUrl()) + .shopName(shopName()) + .shopBio(shopBio()) + .shopDescription(shopDescription()) + .build(); } } diff --git a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/link/UpdateLinkParam.java b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/link/UpdateLinkParam.java index 6ee64ca2..b592bcd0 100644 --- a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/link/UpdateLinkParam.java +++ b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/link/UpdateLinkParam.java @@ -2,9 +2,12 @@ import java.util.List; +import lombok.Builder; + import com.cakk.domain.mysql.entity.shop.CakeShopLink; import com.cakk.domain.mysql.entity.user.User; +@Builder public record UpdateLinkParam( User user, Long cakeShopId, diff --git a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/operation/UpdateShopOperationParam.java b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/operation/UpdateShopOperationParam.java index 3b648d08..e658e207 100644 --- a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/operation/UpdateShopOperationParam.java +++ b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/operation/UpdateShopOperationParam.java @@ -2,9 +2,12 @@ import java.util.List; +import lombok.Builder; + import com.cakk.domain.mysql.entity.shop.CakeShopOperation; import com.cakk.domain.mysql.entity.user.User; +@Builder public record UpdateShopOperationParam( List cakeShopOperations, User user, diff --git a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/CakeShopUpdateParam.java b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/CakeShopUpdateParam.java index c8c521df..9167cf07 100644 --- a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/CakeShopUpdateParam.java +++ b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/CakeShopUpdateParam.java @@ -1,7 +1,10 @@ package com.cakk.domain.mysql.dto.param.shop; +import lombok.Builder; + import com.cakk.domain.mysql.entity.user.User; +@Builder public record CakeShopUpdateParam( String thumbnailUrl, String shopName, diff --git a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/UpdateShopAddressParam.java b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/UpdateShopAddressParam.java index d0d639f8..1768788e 100644 --- a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/UpdateShopAddressParam.java +++ b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/dto/param/shop/UpdateShopAddressParam.java @@ -2,8 +2,11 @@ import org.locationtech.jts.geom.Point; +import lombok.Builder; + import com.cakk.domain.mysql.entity.user.User; +@Builder public record UpdateShopAddressParam( String shopAddress, Point location, From 39b5e35712d3147341e2c09b3ebae3cbf47d5d32 Mon Sep 17 00:00:00 2001 From: lcomment Date: Thu, 22 Aug 2024 14:29:16 +0900 Subject: [PATCH 2/5] =?UTF-8?q?Refactor=20|=20CAKK-41=20|=20api=20?= =?UTF-8?q?=EC=84=A4=EA=B3=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusinessInformationController.kt | 14 ++------------ .../admin/service/BusinessInformationService.kt | 17 ----------------- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/controller/BusinessInformationController.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/controller/BusinessInformationController.kt index e2e72738..a58ff10a 100644 --- a/cakk-admin/src/main/kotlin/com/cakk/admin/controller/BusinessInformationController.kt +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/controller/BusinessInformationController.kt @@ -1,8 +1,6 @@ package com.cakk.admin.controller -import com.cakk.admin.dto.request.CakeShopCreateByAdminRequest import com.cakk.admin.dto.request.PromotionRequest -import com.cakk.admin.dto.response.CakeShopCreateResponse import com.cakk.admin.dto.response.CakeShopOwnerCandidateResponse import com.cakk.admin.dto.response.CakeShopOwnerCandidatesResponse import com.cakk.admin.service.BusinessInformationService @@ -11,7 +9,7 @@ import jakarta.validation.Valid import org.springframework.web.bind.annotation.* @RestController -@RequestMapping("/shops") +@RequestMapping("/business-information") class BusinessInformationController( private val businessInformationService: BusinessInformationService ) { @@ -30,15 +28,7 @@ class BusinessInformationController( return ApiResponse.success(response) } - @PostMapping("/create") - fun createByAdmin( - @RequestBody @Valid request: CakeShopCreateByAdminRequest - ): ApiResponse { - val response = businessInformationService.createCakeShopByCertification(request.toParam()) - return ApiResponse.success(response) - } - - @PutMapping("/shops/promote") + @PutMapping("/promote") fun promoteUser( @RequestBody @Valid promotionRequest: PromotionRequest ): ApiResponse { diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/service/BusinessInformationService.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/service/BusinessInformationService.kt index 3bcc193d..e948fede 100644 --- a/cakk-admin/src/main/kotlin/com/cakk/admin/service/BusinessInformationService.kt +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/service/BusinessInformationService.kt @@ -1,19 +1,15 @@ package com.cakk.admin.service -import com.cakk.admin.dto.param.CakeShopCreateByAdminParam import com.cakk.admin.dto.request.PromotionRequest -import com.cakk.admin.dto.response.CakeShopCreateResponse import com.cakk.admin.dto.response.CakeShopOwnerCandidateResponse import com.cakk.admin.dto.response.CakeShopOwnerCandidatesResponse import com.cakk.admin.mapper.* import com.cakk.domain.mysql.bo.user.VerificationPolicy -import com.cakk.domain.mysql.entity.shop.CakeShop import com.cakk.domain.mysql.entity.user.BusinessInformation import com.cakk.domain.mysql.entity.user.User import com.cakk.domain.mysql.repository.reader.BusinessInformationReader import com.cakk.domain.mysql.repository.reader.CakeShopReader import com.cakk.domain.mysql.repository.reader.UserReader -import com.cakk.domain.mysql.repository.writer.CakeShopWriter import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -21,23 +17,10 @@ import org.springframework.transaction.annotation.Transactional class BusinessInformationService( private val businessInformationReader: BusinessInformationReader, private val userReader: UserReader, - private val cakeShopWriter: CakeShopWriter, private val cakeShopReader: CakeShopReader, private val verificationPolicy: VerificationPolicy, ) { - @Transactional - fun createCakeShopByCertification(dto: CakeShopCreateByAdminParam): CakeShopCreateResponse { - val result: CakeShop = cakeShopWriter.createCakeShop( - dto.cakeShop, - dto.cakeShopOperations, - dto.businessInformation, - dto.cakeShopLinks - ) - - return supplyCakeShopCreateResponseBy(result) - } - @Transactional fun promoteUserToBusinessOwner(dto: PromotionRequest) { val user: User = userReader.findByUserId(dto.userId) From 5db333e6c71ca078ad7f14808795c056d13f6aa2 Mon Sep 17 00:00:00 2001 From: lcomment Date: Thu, 22 Aug 2024 14:29:47 +0900 Subject: [PATCH 3/5] =?UTF-8?q?Refactor=20|=20CAKK-41=20|=20=EC=BC=80?= =?UTF-8?q?=EC=9D=B4=ED=81=AC=20=EC=83=B5=20=EA=B4=80=EB=A0=A8=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=9D=B4=EA=B4=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cakk/admin/controller/ShopController.kt | 64 +++++++++++++++++++ .../request/AddressUpdateByAdminRequest.kt | 27 ++++++++ .../request/CakeShopUpdateByAdminRequest.kt | 27 ++++++++ .../dto/request/LinkUpdateByAdminRequest.kt | 31 +++++++++ .../ShopOperationUpdateByAdminRequest.kt | 19 ++++++ .../com/cakk/admin/mapper/LinkMapper.kt | 12 ++-- .../cakk/admin/mapper/ShopOperationMapper.kt | 18 ++++++ .../com/cakk/admin/service/ShopService.kt | 57 +++++++++++++++++ 8 files changed, 249 insertions(+), 6 deletions(-) create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/controller/ShopController.kt create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/AddressUpdateByAdminRequest.kt create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/CakeShopUpdateByAdminRequest.kt create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/LinkUpdateByAdminRequest.kt create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/ShopOperationUpdateByAdminRequest.kt create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/mapper/ShopOperationMapper.kt create mode 100644 cakk-admin/src/main/kotlin/com/cakk/admin/service/ShopService.kt diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/controller/ShopController.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/controller/ShopController.kt new file mode 100644 index 00000000..e2641e47 --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/controller/ShopController.kt @@ -0,0 +1,64 @@ +package com.cakk.admin.controller + +import com.cakk.admin.dto.request.* +import com.cakk.admin.dto.response.CakeShopCreateResponse +import com.cakk.admin.service.ShopService +import com.cakk.common.response.ApiResponse +import jakarta.validation.Valid +import org.springframework.web.bind.annotation.* + +@RestController +@RequestMapping("/shops") +class ShopController( + private val shopService: ShopService +) { + + @PostMapping + fun createByAdmin( + @RequestBody @Valid request: CakeShopCreateByAdminRequest + ): ApiResponse { + val response = shopService.createCakeShopByCertification(request.toParam()) + + return ApiResponse.success(response) + } + + @PutMapping("/{cakeShopId}") + fun updateBasicInformation( + @PathVariable cakeShopId: Long, + @RequestBody @Valid request: CakeShopUpdateByAdminRequest + ): ApiResponse { + shopService.updateBasicInformation(request.toParam(cakeShopId)) + + return ApiResponse.success() + } + + @PutMapping("/{cakeShopId}/links") + fun updateLinks( + @PathVariable cakeShopId: Long, + @RequestBody request: @Valid LinkUpdateByAdminRequest + ): ApiResponse { + shopService.updateShopLinks(request.toParam(cakeShopId)) + + return ApiResponse.success() + } + + @PutMapping("/{cakeShopId}/operation-days") + fun updateOperationDays( + @PathVariable cakeShopId: Long, + @RequestBody @Valid request: ShopOperationUpdateByAdminRequest + ): ApiResponse { + shopService.updateShopOperationDays(request.toParam(cakeShopId)) + + return ApiResponse.success() + } + + @PutMapping("/{cakeShopId}/address") + fun updateAddress( + @PathVariable cakeShopId: Long, + @RequestBody @Valid request: AddressUpdateByAdminRequest + ): ApiResponse { + shopService.updateShopAddress(request.toParam(cakeShopId)) + + return ApiResponse.success() + } +} diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/AddressUpdateByAdminRequest.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/AddressUpdateByAdminRequest.kt new file mode 100644 index 00000000..01fdbede --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/AddressUpdateByAdminRequest.kt @@ -0,0 +1,27 @@ +package com.cakk.admin.dto.request + +import com.cakk.admin.mapper.supplyPointBy +import com.cakk.domain.mysql.dto.param.shop.UpdateShopAddressParam +import jakarta.validation.constraints.Max +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Size + +data class AddressUpdateByAdminRequest( + @field:NotBlank @field:Size(max = 50) + val shopAddress: String?, + @field:NotNull @field:Min(-90) @field:Max(90) + val latitude: Double?, + @field:NotNull @field:Min(-180) @field:Max(180) + val longitude: Double? +) { + + fun toParam(cakeShopId: Long): UpdateShopAddressParam { + return UpdateShopAddressParam.builder() + .cakeShopId(cakeShopId) + .shopAddress(shopAddress) + .location(supplyPointBy(latitude, longitude)) + .build() + } +} diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/CakeShopUpdateByAdminRequest.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/CakeShopUpdateByAdminRequest.kt new file mode 100644 index 00000000..0c4ca55b --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/CakeShopUpdateByAdminRequest.kt @@ -0,0 +1,27 @@ +package com.cakk.admin.dto.request + +import com.cakk.domain.mysql.dto.param.shop.CakeShopUpdateParam +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.Size + +data class CakeShopUpdateByAdminRequest( + @field:Size(max = 200) + val thumbnailUrl: String?, + @field:NotBlank @Size(max = 30) + val shopName: String, + @field:Size(max = 40) + val shopBio: String?, + @field:Size(max = 500) + val shopDescription: String? +) { + + fun toParam(cakeShopId: Long): CakeShopUpdateParam { + return CakeShopUpdateParam.builder() + .cakeShopId(cakeShopId) + .thumbnailUrl(thumbnailUrl) + .shopName(shopName) + .shopBio(shopBio) + .shopDescription(shopDescription) + .build() + } +} diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/LinkUpdateByAdminRequest.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/LinkUpdateByAdminRequest.kt new file mode 100644 index 00000000..39ed9c08 --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/LinkUpdateByAdminRequest.kt @@ -0,0 +1,31 @@ +package com.cakk.admin.dto.request + +import com.cakk.admin.mapper.supplyCakeShopLinkByInstagram +import com.cakk.admin.mapper.supplyCakeShopLinkByKakao +import com.cakk.admin.mapper.supplyCakeShopLinkByWeb +import com.cakk.domain.mysql.dto.param.link.UpdateLinkParam +import com.cakk.domain.mysql.entity.shop.CakeShopLink +import jakarta.validation.constraints.Size + +data class LinkUpdateByAdminRequest( + @field:Size(min = 1, max = 200) + val instagram: String?, + @field:Size(min = 1, max = 200) + val kakao: String?, + @field:Size(min = 1, max = 200) + val web: String? +) { + + fun toParam(cakeShopId: Long): UpdateLinkParam { + val cakeShopLinks = mutableListOf() + + instagram?.let { cakeShopLinks.add(supplyCakeShopLinkByInstagram(it)) } + kakao?.let { cakeShopLinks.add(supplyCakeShopLinkByKakao(it)) } + web?.let { cakeShopLinks.add(supplyCakeShopLinkByWeb(it)) } + + return UpdateLinkParam.builder() + .cakeShopId(cakeShopId) + .cakeShopLinks(cakeShopLinks) + .build() + } +} diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/ShopOperationUpdateByAdminRequest.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/ShopOperationUpdateByAdminRequest.kt new file mode 100644 index 00000000..d36c25bd --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/dto/request/ShopOperationUpdateByAdminRequest.kt @@ -0,0 +1,19 @@ +package com.cakk.admin.dto.request + +import com.cakk.admin.mapper.supplyCakeShopOperationListBy +import com.cakk.domain.mysql.dto.param.operation.UpdateShopOperationParam +import com.cakk.domain.mysql.dto.param.shop.ShopOperationParam +import jakarta.validation.constraints.NotNull + +data class ShopOperationUpdateByAdminRequest( + @field:NotNull + val operationDays: List +) { + + fun toParam(cakeShopId: Long): UpdateShopOperationParam { + return UpdateShopOperationParam.builder() + .cakeShopId(cakeShopId) + .cakeShopOperations(supplyCakeShopOperationListBy(operationDays)) + .build() + } +} diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/LinkMapper.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/LinkMapper.kt index 437c918c..33238fba 100644 --- a/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/LinkMapper.kt +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/LinkMapper.kt @@ -8,14 +8,14 @@ import com.cakk.domain.mysql.entity.shop.CakeShopLink fun supplyCakeShopLinksBy(cakeShop: CakeShop, links: List): List { return links.map { when (it.linkKind) { - LinkKind.WEB -> supplyCakeShopLinkByWeb(cakeShop, it.linkPath) - LinkKind.INSTAGRAM -> supplyCakeShopLinkByInstagram(cakeShop, it.linkPath) - LinkKind.KAKAOTALK -> supplyCakeShopLinkByKakao(cakeShop, it.linkPath) + LinkKind.WEB -> supplyCakeShopLinkByWeb(it.linkPath, cakeShop) + LinkKind.INSTAGRAM -> supplyCakeShopLinkByInstagram(it.linkPath, cakeShop) + LinkKind.KAKAOTALK -> supplyCakeShopLinkByKakao(it.linkPath, cakeShop) } }.toList() } -private fun supplyCakeShopLinkByWeb(cakeShop: CakeShop, web: String): CakeShopLink { +fun supplyCakeShopLinkByWeb(web: String, cakeShop: CakeShop? = null): CakeShopLink { return CakeShopLink.builder() .linkKind(LinkKind.WEB) .linkPath(web) @@ -23,7 +23,7 @@ private fun supplyCakeShopLinkByWeb(cakeShop: CakeShop, web: String): CakeShopLi .build() } -private fun supplyCakeShopLinkByInstagram(cakeShop: CakeShop, instagram: String): CakeShopLink { +fun supplyCakeShopLinkByInstagram(instagram: String, cakeShop: CakeShop? = null): CakeShopLink { return CakeShopLink.builder() .linkKind(LinkKind.INSTAGRAM) .linkPath(instagram) @@ -31,7 +31,7 @@ private fun supplyCakeShopLinkByInstagram(cakeShop: CakeShop, instagram: String) .build() } -private fun supplyCakeShopLinkByKakao(cakeShop: CakeShop, kakao: String): CakeShopLink { +fun supplyCakeShopLinkByKakao(kakao: String, cakeShop: CakeShop? = null): CakeShopLink { return CakeShopLink.builder() .linkKind(LinkKind.KAKAOTALK) .linkPath(kakao) diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/ShopOperationMapper.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/ShopOperationMapper.kt new file mode 100644 index 00000000..089ef73f --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/mapper/ShopOperationMapper.kt @@ -0,0 +1,18 @@ +package com.cakk.admin.mapper + +import com.cakk.domain.mysql.dto.param.shop.ShopOperationParam +import com.cakk.domain.mysql.entity.shop.CakeShopOperation + +fun supplyCakeShopOperationListBy(operationDays: List): List { + return operationDays + .map { supplyCakeShopOperationBy(it) } + .toList() +} + +fun supplyCakeShopOperationBy(param: ShopOperationParam): CakeShopOperation { + return CakeShopOperation.builder() + .operationDay(param.operationDay) + .operationStartTime(param.operationStartTime) + .operationEndTime(param.operationEndTime) + .build() +} diff --git a/cakk-admin/src/main/kotlin/com/cakk/admin/service/ShopService.kt b/cakk-admin/src/main/kotlin/com/cakk/admin/service/ShopService.kt new file mode 100644 index 00000000..2997f2fe --- /dev/null +++ b/cakk-admin/src/main/kotlin/com/cakk/admin/service/ShopService.kt @@ -0,0 +1,57 @@ +package com.cakk.admin.service + +import com.cakk.admin.dto.param.CakeShopCreateByAdminParam +import com.cakk.admin.dto.response.CakeShopCreateResponse +import com.cakk.admin.mapper.supplyCakeShopCreateResponseBy +import com.cakk.domain.mysql.dto.param.link.UpdateLinkParam +import com.cakk.domain.mysql.dto.param.operation.UpdateShopOperationParam +import com.cakk.domain.mysql.dto.param.shop.CakeShopUpdateParam +import com.cakk.domain.mysql.dto.param.shop.UpdateShopAddressParam +import com.cakk.domain.mysql.entity.shop.CakeShop +import com.cakk.domain.mysql.repository.reader.CakeShopReader +import com.cakk.domain.mysql.repository.writer.CakeShopWriter +import org.springframework.stereotype.Service +import org.springframework.transaction.annotation.Transactional + +@Service +class ShopService( + private val cakeShopReader: CakeShopReader, + private val cakeShopWriter: CakeShopWriter +) { + + @Transactional + fun createCakeShopByCertification(dto: CakeShopCreateByAdminParam): CakeShopCreateResponse { + val result: CakeShop = cakeShopWriter.createCakeShop( + dto.cakeShop, + dto.cakeShopOperations, + dto.businessInformation, + dto.cakeShopLinks + ) + + return supplyCakeShopCreateResponseBy(result) + } + + @Transactional + fun updateBasicInformation(dto: CakeShopUpdateParam) { + val cakeShop = cakeShopReader.findById(dto.cakeShopId) + cakeShop.updateBasicInformation(dto) + } + + @Transactional + fun updateShopLinks(param: UpdateLinkParam) { + val cakeShop = cakeShopReader.findById(param.cakeShopId) + cakeShop.updateShopLinks(param.cakeShopLinks) + } + + @Transactional + fun updateShopOperationDays(param: UpdateShopOperationParam) { + val cakeShop = cakeShopReader.findById(param.cakeShopId) + cakeShop.updateShopOperationDays(param.cakeShopOperations) + } + + @Transactional + fun updateShopAddress(param: UpdateShopAddressParam) { + val cakeShop = cakeShopReader.findById(param.cakeShopId) + cakeShop.updateShopAddress(param) + } +} From eccefaad5c4b8b0970d6908053ecae94f4ccb482 Mon Sep 17 00:00:00 2001 From: lcomment Date: Fri, 23 Aug 2024 10:56:58 +0900 Subject: [PATCH 4/5] =?UTF-8?q?Refactor=20|=20CAKK-41=20|=20kotlin=20?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 2 +- codecov.yml | 1 + gradlew | 1 + gradlew.bat | 1 + lombok.config | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 00beb6b4..3222812f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,6 @@ root = true -[{*.java,*.gradle}] +[{*.java,*.gradle,*.kt,*.kts}] charset = utf-8 end_of_line = lf indent_style = tab diff --git a/codecov.yml b/codecov.yml index 79ebec85..1b0491a9 100644 --- a/codecov.yml +++ b/codecov.yml @@ -7,3 +7,4 @@ comment: require_changes: false require_base: no require_head: yes + diff --git a/gradlew b/gradlew index 1aa94a42..326fe239 100755 --- a/gradlew +++ b/gradlew @@ -247,3 +247,4 @@ eval "set -- $( )" '"$@"' exec "$JAVACMD" "$@" + diff --git a/gradlew.bat b/gradlew.bat index 7101f8e4..dbfc1943 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -90,3 +90,4 @@ exit /b %EXIT_CODE% if "%OS%"=="Windows_NT" endlocal :omega + diff --git a/lombok.config b/lombok.config index 7a21e880..8ef1593f 100644 --- a/lombok.config +++ b/lombok.config @@ -1 +1,2 @@ lombok.addLombokGeneratedAnnotation = true + From 85a138a33d9e24c7014986730a0a9880956e34e8 Mon Sep 17 00:00:00 2001 From: lcomment Date: Fri, 23 Aug 2024 10:58:03 +0900 Subject: [PATCH 5/5] =?UTF-8?q?Refactor=20|=20CAKK-41=20|=20kotlin=20?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codecov.yml | 1 - gradlew | 1 - gradlew.bat | 1 - lombok.config | 1 - 4 files changed, 4 deletions(-) diff --git a/codecov.yml b/codecov.yml index 1b0491a9..79ebec85 100644 --- a/codecov.yml +++ b/codecov.yml @@ -7,4 +7,3 @@ comment: require_changes: false require_base: no require_head: yes - diff --git a/gradlew b/gradlew index 326fe239..1aa94a42 100755 --- a/gradlew +++ b/gradlew @@ -247,4 +247,3 @@ eval "set -- $( )" '"$@"' exec "$JAVACMD" "$@" - diff --git a/gradlew.bat b/gradlew.bat index dbfc1943..7101f8e4 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -90,4 +90,3 @@ exit /b %EXIT_CODE% if "%OS%"=="Windows_NT" endlocal :omega - diff --git a/lombok.config b/lombok.config index 8ef1593f..7a21e880 100644 --- a/lombok.config +++ b/lombok.config @@ -1,2 +1 @@ lombok.addLombokGeneratedAnnotation = true -