refactor: theme 패키지 구조 수정

This commit is contained in:
이상진 2025-07-17 09:16:58 +09:00
parent ed383c3092
commit fae11c4212
21 changed files with 42 additions and 50 deletions

View File

@ -18,7 +18,7 @@ import jakarta.persistence.ManyToOne;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomescapeException;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.theme.domain.Theme;
import roomescape.theme.infrastructure.persistence.Theme;
@Entity
public class Reservation {

View File

@ -8,7 +8,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import roomescape.member.web.MemberResponse;
import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus;
import roomescape.theme.dto.ThemeResponse;
import roomescape.theme.web.ThemeResponse;
@Schema(name = "예약 정보", description = "예약 저장 및 조회 응답에 사용됩니다.")
public record ReservationResponse(

View File

@ -24,8 +24,8 @@ import roomescape.reservation.dto.request.WaitingRequest;
import roomescape.reservation.dto.response.MyReservationsResponse;
import roomescape.reservation.dto.response.ReservationResponse;
import roomescape.reservation.dto.response.ReservationsResponse;
import roomescape.theme.domain.Theme;
import roomescape.theme.service.ThemeService;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.business.ThemeService;
@Service
@Transactional

View File

@ -1,4 +1,4 @@
package roomescape.theme.service;
package roomescape.theme.business;
import java.time.LocalDate;
import java.util.List;
@ -9,12 +9,11 @@ import org.springframework.transaction.annotation.Transactional;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomescapeException;
import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.dto.ThemeRequest;
import roomescape.theme.dto.ThemeResponse;
import roomescape.theme.dto.ThemesResponse;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
import roomescape.theme.web.ThemeRequest;
import roomescape.theme.web.ThemeResponse;
import roomescape.theme.web.ThemesResponse;
@Service
@Transactional

View File

@ -1,4 +1,4 @@
package roomescape.theme.domain;
package roomescape.theme.infrastructure.persistence;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;

View File

@ -1,4 +1,4 @@
package roomescape.theme.domain.repository;
package roomescape.theme.infrastructure.persistence;
import java.time.LocalDate;
import java.util.List;
@ -6,8 +6,6 @@ import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import roomescape.theme.domain.Theme;
public interface ThemeRepository extends JpaRepository<Theme, Long> {
@Query(value = """

View File

@ -1,4 +1,4 @@
package roomescape.theme.controller;
package roomescape.theme.web;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
@ -25,10 +25,7 @@ import roomescape.auth.web.support.Admin;
import roomescape.auth.web.support.LoginRequired;
import roomescape.common.dto.response.RoomescapeApiResponse;
import roomescape.common.dto.response.RoomescapeErrorResponse;
import roomescape.theme.dto.ThemeRequest;
import roomescape.theme.dto.ThemeResponse;
import roomescape.theme.dto.ThemesResponse;
import roomescape.theme.service.ThemeService;
import roomescape.theme.business.ThemeService;
@RestController
@Tag(name = "5. 테마 API", description = "테마를 조회 / 추가 / 삭제할 때 사용합니다.")

View File

@ -1,4 +1,4 @@
package roomescape.theme.dto;
package roomescape.theme.web;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

View File

@ -1,7 +1,7 @@
package roomescape.theme.dto;
package roomescape.theme.web;
import io.swagger.v3.oas.annotations.media.Schema;
import roomescape.theme.domain.Theme;
import roomescape.theme.infrastructure.persistence.Theme;
@Schema(name = "테마 정보", description = "테마 추가 및 조회 응답에 사용됩니다.")
public record ThemeResponse(

View File

@ -1,4 +1,4 @@
package roomescape.theme.dto;
package roomescape.theme.web;
import java.util.List;

View File

@ -27,8 +27,8 @@ import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime;
import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
@SpringBootTest
@Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -2,7 +2,6 @@ package roomescape.reservation.controller;
import static org.assertj.core.api.Assertions.*;
import static org.hamcrest.Matchers.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
@ -12,7 +11,6 @@ import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Stream;
import org.junit.jupiter.api.BeforeEach;
@ -51,8 +49,8 @@ import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.reservation.dto.request.AdminReservationRequest;
import roomescape.reservation.dto.request.ReservationRequest;
import roomescape.reservation.dto.request.WaitingRequest;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -29,8 +29,8 @@ import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime;
import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -13,7 +13,7 @@ import org.junit.jupiter.params.provider.MethodSource;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.common.exception.RoomescapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.infrastructure.persistence.Theme;
public class ReservationTest {

View File

@ -19,8 +19,8 @@ import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
@DataJpaTest
class ReservationSearchSpecificationTest {

View File

@ -27,9 +27,9 @@ import roomescape.reservation.dto.request.ReservationRequest;
import roomescape.reservation.dto.request.WaitingRequest;
import roomescape.reservation.dto.response.ReservationResponse;
import roomescape.common.exception.RoomescapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.service.ThemeService;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
import roomescape.theme.business.ThemeService;
@SpringBootTest
@Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -23,8 +23,8 @@ import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.reservation.dto.request.ReservationTimeRequest;
import roomescape.common.exception.RoomescapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
@SpringBootTest
@Import(ReservationTimeService.class)

View File

@ -28,8 +28,8 @@ import roomescape.reservation.domain.repository.ReservationRepository;
import roomescape.reservation.domain.repository.ReservationTimeRepository;
import roomescape.reservation.dto.request.ReservationRequest;
import roomescape.reservation.dto.response.ReservationResponse;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
@SpringBootTest
@Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -1,4 +1,4 @@
package roomescape.theme.service;
package roomescape.theme.business;
import static org.assertj.core.api.Assertions.*;
@ -23,11 +23,11 @@ import roomescape.reservation.dto.response.ReservationTimeResponse;
import roomescape.reservation.service.ReservationService;
import roomescape.reservation.service.ReservationTimeService;
import roomescape.common.exception.RoomescapeException;
import roomescape.theme.domain.Theme;
import roomescape.theme.domain.repository.ThemeRepository;
import roomescape.theme.dto.ThemeRequest;
import roomescape.theme.dto.ThemeResponse;
import roomescape.theme.dto.ThemesResponse;
import roomescape.theme.infrastructure.persistence.Theme;
import roomescape.theme.infrastructure.persistence.ThemeRepository;
import roomescape.theme.web.ThemeRequest;
import roomescape.theme.web.ThemeResponse;
import roomescape.theme.web.ThemesResponse;
@DataJpaTest
@Import({ReservationTimeService.class, ReservationService.class, MemberService.class, ThemeService.class})

View File

@ -1,4 +1,4 @@
package roomescape.theme.controller;
package roomescape.theme.web;
import static org.hamcrest.Matchers.*;

View File

@ -11,7 +11,7 @@ import roomescape.payment.web.PaymentCancel
import roomescape.reservation.domain.Reservation
import roomescape.reservation.domain.ReservationStatus
import roomescape.reservation.domain.ReservationTime
import roomescape.theme.domain.Theme
import roomescape.theme.infrastructure.persistence.Theme
import java.time.LocalDate
import java.time.LocalTime
import java.time.OffsetDateTime