[#16] Reservation 도메인 코드 코틀린 마이그레이션 #17

Merged
pricelees merged 40 commits from refactor/#16 into main 2025-07-21 12:08:56 +00:00
Showing only changes of commit 8a09eb045f - Show all commits

View File

@ -1,21 +1,18 @@
package roomescape.reservation.infrastructure.persistence; package roomescape.reservation.infrastructure.persistence
import java.util.List; import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.JpaSpecificationExecutor
import org.springframework.data.jpa.repository.Modifying
import org.springframework.data.jpa.repository.Query
import org.springframework.data.repository.query.Param
import roomescape.reservation.web.MyReservationResponse
import org.springframework.data.jpa.repository.JpaRepository; interface ReservationRepository
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; : JpaRepository<ReservationEntity, Long>, JpaSpecificationExecutor<ReservationEntity>
import org.springframework.data.jpa.repository.Modifying; {
import org.springframework.data.jpa.repository.Query; fun findByReservationTime(reservationTime: ReservationTimeEntity): List<ReservationEntity>
import org.springframework.data.repository.query.Param;
import roomescape.reservation.web.MyReservationResponse; fun findByThemeId(themeId: Long): List<ReservationEntity>
public interface ReservationRepository
extends JpaRepository<ReservationEntity, Long>, JpaSpecificationExecutor<ReservationEntity> {
List<ReservationEntity> findByReservationTime(ReservationTimeEntity reservationTime);
List<ReservationEntity> findByThemeId(Long themeId);
@Modifying @Modifying
@Query(""" @Query("""
@ -23,8 +20,10 @@ public interface ReservationRepository
SET r.reservationStatus = :status SET r.reservationStatus = :status
WHERE r.id = :id WHERE r.id = :id
""") """)
int updateStatusByReservationId(@Param(value = "id") Long reservationId, fun updateStatusByReservationId(
@Param(value = "status") ReservationStatus statusForChange); @Param(value = "id") reservationId: Long,
@Param(value = "status") statusForChange: ReservationStatus
): Int
@Query(""" @Query("""
SELECT EXISTS ( SELECT EXISTS (
@ -37,7 +36,7 @@ public interface ReservationRepository
FROM ReservationEntity r2 FROM ReservationEntity r2
WHERE r2.id = :id WHERE r2.id = :id
""") """)
boolean isExistConfirmedReservation(@Param("id") Long reservationId); fun isExistConfirmedReservation(@Param("id") reservationId: Long): Boolean
@Query(""" @Query("""
SELECT new roomescape.reservation.web.MyReservationResponse( SELECT new roomescape.reservation.web.MyReservationResponse(
@ -56,5 +55,5 @@ public interface ReservationRepository
ON p.reservation = r ON p.reservation = r
WHERE r.member.id = :memberId WHERE r.member.id = :memberId
""") """)
List<MyReservationResponse> findMyReservations(Long memberId); fun findMyReservations(memberId: Long): List<MyReservationResponse>
} }