From 6d131e9137f0904d4b1ed0962cf9fa60e9bdb4b7 Mon Sep 17 00:00:00 2001 From: HyungJu Date: Mon, 12 Feb 2024 19:10:21 +0900 Subject: [PATCH] feat: implement get by genre --- .../nagazaserver/domain/repository/CafeRoomRepository.kt | 3 +++ .../kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt | 4 ++++ .../infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt | 4 ++++ .../infrastructure/jpa/repository/JpaCafeRoomRepository.kt | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt b/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt index 45da1d4..40a0962 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt @@ -4,5 +4,8 @@ import kr.nagaza.nagazaserver.domain.model.CafeRoom interface CafeRoomRepository { fun getAllRoomByCafeId(cafeId: String): List + fun findByRoomId(roomId: String): CafeRoom? + + fun getAllGenres(): List } diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt b/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt index b2e55ff..a9b5ea6 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt @@ -24,4 +24,8 @@ class CafeRoomService( fun getRoomByRoomId(roomId: String): CafeRoom { return cafeRoomRepository.findByRoomId(roomId) ?: throw CafeRoomNotFoundException() } + + fun getAllGenres(): List { + return cafeRoomRepository.getAllGenres() + } } diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt index 4796cda..475f6be 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt @@ -9,6 +9,10 @@ import org.springframework.stereotype.Repository class CafeRoomRepositoryImpl( private val jpaCafeRoomRepository: JpaCafeRoomRepository, ) : CafeRoomRepository { + override fun getAllGenres(): List { + return jpaCafeRoomRepository.findAllGenres() + } + override fun getAllRoomByCafeId(cafeId: String): List { return jpaCafeRoomRepository.findAllByCafeId(cafeId) .map { diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt index abddbd9..88b7e6d 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt @@ -2,7 +2,11 @@ package kr.nagaza.nagazaserver.infrastructure.jpa.repository import kr.nagaza.nagazaserver.infrastructure.jpa.entity.CafeRoomEntity import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.data.jpa.repository.Query interface JpaCafeRoomRepository : JpaRepository { fun findAllByCafeId(cafeId: String): List + + @Query("SELECT DISTINCT cafe_room.genre FROM cafe_room") + fun findAllGenres(): List }