refactor: 패키지 구조 수정

This commit is contained in:
이상진 2025-07-12 18:19:13 +09:00
parent 7121d36523
commit b6531eb9fa
31 changed files with 77 additions and 79 deletions

View File

@ -1,4 +1,4 @@
package roomescape.member.service; package roomescape.member.business;
import java.util.List; import java.util.List;
@ -6,10 +6,10 @@ import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.member.dto.MemberResponse; import roomescape.member.web.MemberResponse;
import roomescape.member.dto.MembersResponse; import roomescape.member.web.MembersResponse;
import roomescape.system.exception.ErrorType; import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException; import roomescape.system.exception.RoomEscapeException;

View File

@ -1,6 +0,0 @@
package roomescape.member.domain;
public enum Role {
MEMBER,
ADMIN
}

View File

@ -1,4 +1,4 @@
package roomescape.member.domain; package roomescape.member.infrastructure.entity;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;

View File

@ -1,11 +1,9 @@
package roomescape.member.domain.repository; package roomescape.member.infrastructure.entity;
import java.util.Optional; import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import roomescape.member.domain.Member;
public interface MemberRepository extends JpaRepository<Member, Long> { public interface MemberRepository extends JpaRepository<Member, Long> {
Optional<Member> findByEmailAndPassword(String email, String password); Optional<Member> findByEmailAndPassword(String email, String password);

View File

@ -0,0 +1,6 @@
package roomescape.member.infrastructure.entity;
public enum Role {
MEMBER,
ADMIN
}

View File

@ -1,4 +1,4 @@
package roomescape.member.controller; package roomescape.member.web;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -9,8 +9,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import roomescape.member.dto.MembersResponse; import roomescape.member.business.MemberService;
import roomescape.member.service.MemberService;
import roomescape.system.auth.annotation.Admin; import roomescape.system.auth.annotation.Admin;
import roomescape.system.dto.response.RoomEscapeApiResponse; import roomescape.system.dto.response.RoomEscapeApiResponse;

View File

@ -1,7 +1,7 @@
package roomescape.member.dto; package roomescape.member.web;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
@Schema(name = "회원 조회 응답", description = "회원 정보 조회 응답시 사용됩니다.") @Schema(name = "회원 조회 응답", description = "회원 정보 조회 응답시 사용됩니다.")
public record MemberResponse( public record MemberResponse(

View File

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

View File

@ -15,7 +15,7 @@ import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne; import jakarta.persistence.ManyToOne;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.system.exception.ErrorType; import roomescape.system.exception.ErrorType;
import roomescape.system.exception.RoomEscapeException; import roomescape.system.exception.RoomEscapeException;
import roomescape.theme.domain.Theme; import roomescape.theme.domain.Theme;

View File

@ -5,7 +5,7 @@ import java.time.LocalDate;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import roomescape.member.dto.MemberResponse; import roomescape.member.web.MemberResponse;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.theme.dto.ThemeResponse; import roomescape.theme.dto.ThemeResponse;

View File

@ -9,8 +9,8 @@ import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime; import roomescape.reservation.domain.ReservationTime;

View File

@ -10,8 +10,8 @@ import org.springframework.web.servlet.HandlerInterceptor;
import jakarta.servlet.http.Cookie; import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.system.auth.annotation.Admin; import roomescape.system.auth.annotation.Admin;
import roomescape.system.auth.jwt.JwtHandler; import roomescape.system.auth.jwt.JwtHandler;
import roomescape.system.exception.ErrorType; import roomescape.system.exception.ErrorType;

View File

@ -10,8 +10,8 @@ import org.springframework.web.servlet.HandlerInterceptor;
import jakarta.servlet.http.Cookie; import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.system.auth.annotation.LoginRequired; import roomescape.system.auth.annotation.LoginRequired;
import roomescape.system.auth.jwt.JwtHandler; import roomescape.system.auth.jwt.JwtHandler;
import roomescape.system.exception.ErrorType; import roomescape.system.exception.ErrorType;

View File

@ -2,8 +2,8 @@ package roomescape.system.auth.service;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.system.auth.dto.LoginCheckResponse; import roomescape.system.auth.dto.LoginCheckResponse;
import roomescape.system.auth.dto.LoginRequest; import roomescape.system.auth.dto.LoginRequest;
import roomescape.system.auth.jwt.JwtHandler; import roomescape.system.auth.jwt.JwtHandler;

View File

@ -1,7 +1,7 @@
package roomescape.common package roomescape.common
import roomescape.member.domain.Member import roomescape.member.infrastructure.entity.Member
import roomescape.member.domain.Role import roomescape.member.infrastructure.entity.Role
import java.util.concurrent.atomic.AtomicLong import java.util.concurrent.atomic.AtomicLong
object MemberFixture { object MemberFixture {

View File

@ -13,9 +13,9 @@ import org.springframework.test.context.jdbc.Sql;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.http.Header; import io.restassured.http.Header;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Sql(scripts = "/truncate.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) @Sql(scripts = "/truncate.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -4,6 +4,8 @@ import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import roomescape.member.infrastructure.entity.Member;
import roomescape.member.infrastructure.entity.Role;
import roomescape.system.exception.RoomEscapeException; import roomescape.system.exception.RoomEscapeException;
class MemberTest { class MemberTest {

View File

@ -13,8 +13,8 @@ import org.junit.jupiter.params.provider.CsvSource;
import org.junit.jupiter.params.provider.NullAndEmptySource; import org.junit.jupiter.params.provider.NullAndEmptySource;
import org.junit.jupiter.params.provider.NullSource; import org.junit.jupiter.params.provider.NullSource;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime; import roomescape.reservation.domain.ReservationTime;

View File

@ -13,9 +13,9 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.payment.domain.repository.CanceledPaymentRepository; import roomescape.payment.domain.repository.CanceledPaymentRepository;
import roomescape.payment.dto.request.PaymentCancelRequest; import roomescape.payment.dto.request.PaymentCancelRequest;
import roomescape.payment.dto.response.PaymentResponse; import roomescape.payment.dto.response.PaymentResponse;

View File

@ -2,7 +2,6 @@ package roomescape.reservation.controller;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.hamcrest.Matchers.*; import static org.hamcrest.Matchers.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
@ -33,9 +32,9 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.http.Header; import io.restassured.http.Header;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.payment.client.TossPaymentClient; import roomescape.payment.client.TossPaymentClient;
import roomescape.payment.domain.CanceledPayment; import roomescape.payment.domain.CanceledPayment;
import roomescape.payment.domain.Payment; import roomescape.payment.domain.Payment;

View File

@ -21,9 +21,9 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.http.Header; import io.restassured.http.Header;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime; import roomescape.reservation.domain.ReservationTime;

View File

@ -10,8 +10,8 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource; import org.junit.jupiter.params.provider.MethodSource;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.system.exception.RoomEscapeException; import roomescape.system.exception.RoomEscapeException;
import roomescape.theme.domain.Theme; import roomescape.theme.domain.Theme;

View File

@ -13,9 +13,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime; import roomescape.reservation.domain.ReservationTime;

View File

@ -14,10 +14,10 @@ import org.springframework.context.annotation.Import;
import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime; import roomescape.reservation.domain.ReservationTime;

View File

@ -13,9 +13,9 @@ import org.springframework.context.annotation.Import;
import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus; import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime; import roomescape.reservation.domain.ReservationTime;

View File

@ -13,9 +13,9 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.payment.domain.repository.CanceledPaymentRepository; import roomescape.payment.domain.repository.CanceledPaymentRepository;
import roomescape.payment.domain.repository.PaymentRepository; import roomescape.payment.domain.repository.PaymentRepository;
import roomescape.payment.dto.request.PaymentCancelRequest; import roomescape.payment.dto.request.PaymentCancelRequest;

View File

@ -14,9 +14,9 @@ import org.springframework.test.context.jdbc.Sql;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Sql(scripts = "/truncate.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) @Sql(scripts = "/truncate.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -9,10 +9,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.system.auth.dto.LoginRequest; import roomescape.system.auth.dto.LoginRequest;
import roomescape.system.auth.jwt.JwtHandler; import roomescape.system.auth.jwt.JwtHandler;
import roomescape.system.auth.jwt.dto.TokenDto; import roomescape.system.auth.jwt.dto.TokenDto;

View File

@ -18,9 +18,9 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.http.Header; import io.restassured.http.Header;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD) @Sql(scripts = "/truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

View File

@ -13,10 +13,10 @@ import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql;
import roomescape.member.domain.Member; import roomescape.member.infrastructure.entity.Member;
import roomescape.member.domain.Role; import roomescape.member.infrastructure.entity.Role;
import roomescape.member.domain.repository.MemberRepository; import roomescape.member.infrastructure.entity.MemberRepository;
import roomescape.member.service.MemberService; import roomescape.member.business.MemberService;
import roomescape.reservation.dto.request.ReservationRequest; import roomescape.reservation.dto.request.ReservationRequest;
import roomescape.reservation.dto.request.ReservationTimeRequest; import roomescape.reservation.dto.request.ReservationTimeRequest;
import roomescape.reservation.dto.response.ReservationTimeResponse; import roomescape.reservation.dto.response.ReservationTimeResponse;

View File

@ -13,8 +13,8 @@ import org.springframework.boot.test.web.server.LocalServerPort
import org.springframework.http.HttpStatus import org.springframework.http.HttpStatus
import roomescape.common.MemberFixture import roomescape.common.MemberFixture
import roomescape.common.NoSqlInitialize import roomescape.common.NoSqlInitialize
import roomescape.member.domain.Member import roomescape.member.infrastructure.entity.Member
import roomescape.member.service.MemberService import roomescape.member.business.MemberService
import roomescape.system.auth.jwt.JwtHandler import roomescape.system.auth.jwt.JwtHandler
import roomescape.system.exception.ErrorType import roomescape.system.exception.ErrorType
import roomescape.system.exception.RoomEscapeException import roomescape.system.exception.RoomEscapeException