diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/DummyUseCase.java b/src/main/java/konkuk/thip/attendanceCheck/application/port/in/DummyUseCase.java deleted file mode 100644 index 7c3062dc0..000000000 --- a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/DummyUseCase.java +++ /dev/null @@ -1,5 +0,0 @@ -package konkuk.thip.attendanceCheck.application.port.in; - -public interface DummyUseCase { - -} diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/port/out/AttendanceCheckCommandPort.java b/src/main/java/konkuk/thip/attendanceCheck/application/port/out/AttendanceCheckCommandPort.java deleted file mode 100644 index 89950ed23..000000000 --- a/src/main/java/konkuk/thip/attendanceCheck/application/port/out/AttendanceCheckCommandPort.java +++ /dev/null @@ -1,6 +0,0 @@ -package konkuk.thip.attendanceCheck.application.port.out; - - -public interface AttendanceCheckCommandPort { - -} diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/port/out/AttendnaceCheckQueryPort.java b/src/main/java/konkuk/thip/attendanceCheck/application/port/out/AttendnaceCheckQueryPort.java deleted file mode 100644 index 822f17916..000000000 --- a/src/main/java/konkuk/thip/attendanceCheck/application/port/out/AttendnaceCheckQueryPort.java +++ /dev/null @@ -1,5 +0,0 @@ -package konkuk.thip.attendanceCheck.application.port.out; - -public interface AttendnaceCheckQueryPort { - -} diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/AttendanceCheckCommandController.java b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/AttendanceCheckCommandController.java similarity index 79% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/AttendanceCheckCommandController.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/in/web/AttendanceCheckCommandController.java index 567e65b76..da8918ddc 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/AttendanceCheckCommandController.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/AttendanceCheckCommandController.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.adapter.in.web; +package konkuk.thip.attendancecheck.adapter.in.web; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/AttendanceCheckQuerydController.java b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/AttendanceCheckQuerydController.java similarity index 78% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/AttendanceCheckQuerydController.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/in/web/AttendanceCheckQuerydController.java index 86154854c..8210d1d6e 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/AttendanceCheckQuerydController.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/AttendanceCheckQuerydController.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.adapter.in.web; +package konkuk.thip.attendancecheck.adapter.in.web; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/request/UserSignupRequest.java b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/request/UserSignupRequest.java similarity index 52% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/request/UserSignupRequest.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/in/web/request/UserSignupRequest.java index 501d847b4..f633bdf7f 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/request/UserSignupRequest.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/request/UserSignupRequest.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.adapter.in.web.request; +package konkuk.thip.attendancecheck.adapter.in.web.request; import lombok.Getter; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/response/DummyResponse.java b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/response/DummyResponse.java similarity index 50% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/response/DummyResponse.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/in/web/response/DummyResponse.java index 62477d148..66cb481ba 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/in/web/response/DummyResponse.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/in/web/response/DummyResponse.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.adapter.in.web.response; +package konkuk.thip.attendancecheck.adapter.in.web.response; import lombok.Getter; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/jpa/AttendanceCheckJpaEntity.java b/src/main/java/konkuk/thip/attendancecheck/adapter/out/jpa/AttendanceCheckJpaEntity.java similarity index 94% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/out/jpa/AttendanceCheckJpaEntity.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/out/jpa/AttendanceCheckJpaEntity.java index fb3b166c7..1df4b5560 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/jpa/AttendanceCheckJpaEntity.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/out/jpa/AttendanceCheckJpaEntity.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.adapter.out.jpa; +package konkuk.thip.attendancecheck.adapter.out.jpa; import jakarta.persistence.*; import konkuk.thip.common.entity.BaseJpaEntity; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/mapper/AttendanceCheckMapper.java b/src/main/java/konkuk/thip/attendancecheck/adapter/out/mapper/AttendanceCheckMapper.java similarity index 87% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/out/mapper/AttendanceCheckMapper.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/out/mapper/AttendanceCheckMapper.java index 83a838cfa..6d8cee9d5 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/mapper/AttendanceCheckMapper.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/out/mapper/AttendanceCheckMapper.java @@ -1,7 +1,7 @@ -package konkuk.thip.attendanceCheck.adapter.out.mapper; +package konkuk.thip.attendancecheck.adapter.out.mapper; -import konkuk.thip.attendanceCheck.adapter.out.jpa.AttendanceCheckJpaEntity; -import konkuk.thip.attendanceCheck.domain.AttendanceCheck; +import konkuk.thip.attendancecheck.adapter.out.jpa.AttendanceCheckJpaEntity; +import konkuk.thip.attendancecheck.domain.AttendanceCheck; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import org.springframework.stereotype.Component; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/AttendanceCheckCommandPersistenceAdapter.java similarity index 57% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckCommandPersistenceAdapter.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/AttendanceCheckCommandPersistenceAdapter.java index 6fed8b555..6b5d5ede2 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/AttendanceCheckCommandPersistenceAdapter.java @@ -1,7 +1,8 @@ -package konkuk.thip.attendanceCheck.adapter.out.persistence; +package konkuk.thip.attendancecheck.adapter.out.persistence; -import konkuk.thip.attendanceCheck.adapter.out.mapper.AttendanceCheckMapper; -import konkuk.thip.attendanceCheck.application.port.out.AttendanceCheckCommandPort; +import konkuk.thip.attendancecheck.adapter.out.mapper.AttendanceCheckMapper; +import konkuk.thip.attendancecheck.adapter.out.persistence.repository.AttendanceCheckRepository; +import konkuk.thip.attendancecheck.application.port.out.AttendanceCheckCommandPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/AttendanceCheckQueryPersistenceAdapter.java similarity index 52% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckQueryPersistenceAdapter.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/AttendanceCheckQueryPersistenceAdapter.java index 40dfb34b6..b920227ec 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/AttendanceCheckQueryPersistenceAdapter.java @@ -1,13 +1,14 @@ -package konkuk.thip.attendanceCheck.adapter.out.persistence; +package konkuk.thip.attendancecheck.adapter.out.persistence; -import konkuk.thip.attendanceCheck.adapter.out.mapper.AttendanceCheckMapper; -import konkuk.thip.attendanceCheck.application.port.out.AttendnaceCheckQueryPort; +import konkuk.thip.attendancecheck.adapter.out.mapper.AttendanceCheckMapper; +import konkuk.thip.attendancecheck.adapter.out.persistence.repository.AttendanceCheckRepository; +import konkuk.thip.attendancecheck.application.port.out.AttendanceCheckQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; @Repository @RequiredArgsConstructor -public class AttendanceCheckQueryPersistenceAdapter implements AttendnaceCheckQueryPort { +public class AttendanceCheckQueryPersistenceAdapter implements AttendanceCheckQueryPort { private final AttendanceCheckRepository jpaRepository; private final AttendanceCheckMapper attendanceCheckMapper; diff --git a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckRepository.java b/src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/repository/AttendanceCheckRepository.java similarity index 56% rename from src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckRepository.java rename to src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/repository/AttendanceCheckRepository.java index 096ecf14d..e05af0e34 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/adapter/out/persistence/AttendanceCheckRepository.java +++ b/src/main/java/konkuk/thip/attendancecheck/adapter/out/persistence/repository/AttendanceCheckRepository.java @@ -1,6 +1,6 @@ -package konkuk.thip.attendanceCheck.adapter.out.persistence; +package konkuk.thip.attendancecheck.adapter.out.persistence.repository; -import konkuk.thip.attendanceCheck.adapter.out.jpa.AttendanceCheckJpaEntity; +import konkuk.thip.attendancecheck.adapter.out.jpa.AttendanceCheckJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; public interface AttendanceCheckRepository extends JpaRepository { diff --git a/src/main/java/konkuk/thip/attendancecheck/application/port/in/DummyUseCase.java b/src/main/java/konkuk/thip/attendancecheck/application/port/in/DummyUseCase.java new file mode 100644 index 000000000..89d539283 --- /dev/null +++ b/src/main/java/konkuk/thip/attendancecheck/application/port/in/DummyUseCase.java @@ -0,0 +1,5 @@ +package konkuk.thip.attendancecheck.application.port.in; + +public interface DummyUseCase { + +} diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyCommand.java b/src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyCommand.java similarity index 60% rename from src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyCommand.java rename to src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyCommand.java index 4794abc90..d87cec95f 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyCommand.java +++ b/src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyCommand.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.application.port.in.dto; +package konkuk.thip.attendancecheck.application.port.in.dto; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyQuery.java b/src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyQuery.java similarity index 60% rename from src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyQuery.java rename to src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyQuery.java index 81ecf67db..886e70317 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyQuery.java +++ b/src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyQuery.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.application.port.in.dto; +package konkuk.thip.attendancecheck.application.port.in.dto; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyResult.java b/src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyResult.java similarity index 60% rename from src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyResult.java rename to src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyResult.java index 56e0d57b3..6bcf7a964 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/application/port/in/dto/DummyResult.java +++ b/src/main/java/konkuk/thip/attendancecheck/application/port/in/dto/DummyResult.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.application.port.in.dto; +package konkuk.thip.attendancecheck.application.port.in.dto; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/konkuk/thip/attendancecheck/application/port/out/AttendanceCheckCommandPort.java b/src/main/java/konkuk/thip/attendancecheck/application/port/out/AttendanceCheckCommandPort.java new file mode 100644 index 000000000..c7697b4fa --- /dev/null +++ b/src/main/java/konkuk/thip/attendancecheck/application/port/out/AttendanceCheckCommandPort.java @@ -0,0 +1,6 @@ +package konkuk.thip.attendancecheck.application.port.out; + + +public interface AttendanceCheckCommandPort { + +} diff --git a/src/main/java/konkuk/thip/attendancecheck/application/port/out/AttendanceCheckQueryPort.java b/src/main/java/konkuk/thip/attendancecheck/application/port/out/AttendanceCheckQueryPort.java new file mode 100644 index 000000000..479cc8691 --- /dev/null +++ b/src/main/java/konkuk/thip/attendancecheck/application/port/out/AttendanceCheckQueryPort.java @@ -0,0 +1,5 @@ +package konkuk.thip.attendancecheck.application.port.out; + +public interface AttendanceCheckQueryPort { + +} diff --git a/src/main/java/konkuk/thip/attendanceCheck/application/service/AttendanceCheckService.java b/src/main/java/konkuk/thip/attendancecheck/application/service/AttendanceCheckService.java similarity index 61% rename from src/main/java/konkuk/thip/attendanceCheck/application/service/AttendanceCheckService.java rename to src/main/java/konkuk/thip/attendancecheck/application/service/AttendanceCheckService.java index 4903f4170..b49eba68e 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/application/service/AttendanceCheckService.java +++ b/src/main/java/konkuk/thip/attendancecheck/application/service/AttendanceCheckService.java @@ -1,6 +1,6 @@ -package konkuk.thip.attendanceCheck.application.service; +package konkuk.thip.attendancecheck.application.service; -import konkuk.thip.attendanceCheck.application.port.in.DummyUseCase; +import konkuk.thip.attendancecheck.application.port.in.DummyUseCase; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/src/main/java/konkuk/thip/attendanceCheck/domain/AttendanceCheck.java b/src/main/java/konkuk/thip/attendancecheck/domain/AttendanceCheck.java similarity index 87% rename from src/main/java/konkuk/thip/attendanceCheck/domain/AttendanceCheck.java rename to src/main/java/konkuk/thip/attendancecheck/domain/AttendanceCheck.java index fc9733879..a9c8d02ab 100644 --- a/src/main/java/konkuk/thip/attendanceCheck/domain/AttendanceCheck.java +++ b/src/main/java/konkuk/thip/attendancecheck/domain/AttendanceCheck.java @@ -1,4 +1,4 @@ -package konkuk.thip.attendanceCheck.domain; +package konkuk.thip.attendancecheck.domain; import konkuk.thip.common.entity.BaseDomainEntity; import lombok.Getter; diff --git a/src/main/java/konkuk/thip/book/adapter/in/web/response/GetBookSearchListResponse.java b/src/main/java/konkuk/thip/book/adapter/in/web/response/GetBookSearchListResponse.java index 0a8ec9a2a..118928fbe 100644 --- a/src/main/java/konkuk/thip/book/adapter/in/web/response/GetBookSearchListResponse.java +++ b/src/main/java/konkuk/thip/book/adapter/in/web/response/GetBookSearchListResponse.java @@ -4,7 +4,7 @@ import java.util.List; -import static konkuk.thip.book.adapter.out.api.NaverApiUtil.PAGE_SIZE; +import static konkuk.thip.book.adapter.out.api.naver.NaverApiUtil.PAGE_SIZE; public record GetBookSearchListResponse( List searchResult, // 책 목록 diff --git a/src/main/java/konkuk/thip/book/adapter/out/api/CompositeBookApiAdapter.java b/src/main/java/konkuk/thip/book/adapter/out/api/CompositeBookApiAdapter.java index 06b61ebfb..64f4b1671 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/api/CompositeBookApiAdapter.java +++ b/src/main/java/konkuk/thip/book/adapter/out/api/CompositeBookApiAdapter.java @@ -3,6 +3,7 @@ import konkuk.thip.book.adapter.out.api.aladin.AladinApiClient; import konkuk.thip.book.adapter.out.api.dto.NaverBookParseResult; import konkuk.thip.book.adapter.out.api.dto.NaverDetailBookParseResult; +import konkuk.thip.book.adapter.out.api.naver.NaverApiClient; import konkuk.thip.book.application.port.out.BookApiQueryPort; import konkuk.thip.book.domain.Book; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/book/adapter/out/api/NaverApiClient.java b/src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverApiClient.java similarity index 94% rename from src/main/java/konkuk/thip/book/adapter/out/api/NaverApiClient.java rename to src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverApiClient.java index a66fdf175..54d29ba8e 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/api/NaverApiClient.java +++ b/src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverApiClient.java @@ -1,4 +1,4 @@ -package konkuk.thip.book.adapter.out.api; +package konkuk.thip.book.adapter.out.api.naver; import konkuk.thip.book.adapter.out.api.dto.NaverBookParseResult; import konkuk.thip.book.adapter.out.api.dto.NaverDetailBookParseResult; diff --git a/src/main/java/konkuk/thip/book/adapter/out/api/NaverApiUtil.java b/src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverApiUtil.java similarity index 98% rename from src/main/java/konkuk/thip/book/adapter/out/api/NaverApiUtil.java rename to src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverApiUtil.java index 48e9fb8e4..b89786c48 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/api/NaverApiUtil.java +++ b/src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverApiUtil.java @@ -1,4 +1,4 @@ -package konkuk.thip.book.adapter.out.api; +package konkuk.thip.book.adapter.out.api.naver; import konkuk.thip.common.exception.BusinessException; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/book/adapter/out/api/NaverBookXmlParser.java b/src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverBookXmlParser.java similarity index 99% rename from src/main/java/konkuk/thip/book/adapter/out/api/NaverBookXmlParser.java rename to src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverBookXmlParser.java index faca3a9f2..3822aecf9 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/api/NaverBookXmlParser.java +++ b/src/main/java/konkuk/thip/book/adapter/out/api/naver/NaverBookXmlParser.java @@ -1,4 +1,4 @@ -package konkuk.thip.book.adapter.out.api; +package konkuk.thip.book.adapter.out.api.naver; import konkuk.thip.book.adapter.out.api.dto.NaverBookParseResult; import konkuk.thip.book.adapter.out.api.dto.NaverDetailBookParseResult; diff --git a/src/main/java/konkuk/thip/book/adapter/out/persistence/BookCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/book/adapter/out/persistence/BookCommandPersistenceAdapter.java index 12ee688a9..a2151d33e 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/persistence/BookCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/book/adapter/out/persistence/BookCommandPersistenceAdapter.java @@ -2,10 +2,11 @@ import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; import konkuk.thip.book.adapter.out.mapper.BookMapper; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.book.application.port.out.BookCommandPort; import konkuk.thip.book.domain.Book; import konkuk.thip.common.exception.EntityNotFoundException; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/book/adapter/out/persistence/BookQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/book/adapter/out/persistence/BookQueryPersistenceAdapter.java index d91fcf0fc..87e41c31b 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/persistence/BookQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/book/adapter/out/persistence/BookQueryPersistenceAdapter.java @@ -1,6 +1,7 @@ package konkuk.thip.book.adapter.out.persistence; import konkuk.thip.book.adapter.out.mapper.BookMapper; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.book.application.port.out.BookQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/book/adapter/out/persistence/BookJpaRepository.java b/src/main/java/konkuk/thip/book/adapter/out/persistence/repository/BookJpaRepository.java similarity index 85% rename from src/main/java/konkuk/thip/book/adapter/out/persistence/BookJpaRepository.java rename to src/main/java/konkuk/thip/book/adapter/out/persistence/repository/BookJpaRepository.java index 1570af68f..c7b763298 100644 --- a/src/main/java/konkuk/thip/book/adapter/out/persistence/BookJpaRepository.java +++ b/src/main/java/konkuk/thip/book/adapter/out/persistence/repository/BookJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.book.adapter.out.persistence; +package konkuk.thip.book.adapter.out.persistence.repository; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/book/application/service/BookSearchService.java b/src/main/java/konkuk/thip/book/application/service/BookSearchService.java index 8fd48ad2d..fe1c7d31d 100644 --- a/src/main/java/konkuk/thip/book/application/service/BookSearchService.java +++ b/src/main/java/konkuk/thip/book/application/service/BookSearchService.java @@ -26,7 +26,7 @@ import java.util.HashSet; import java.util.Set; -import static konkuk.thip.book.adapter.out.api.NaverApiUtil.PAGE_SIZE; +import static konkuk.thip.book.adapter.out.api.naver.NaverApiUtil.PAGE_SIZE; import static konkuk.thip.common.exception.code.ErrorCode.*; import static konkuk.thip.recentSearch.adapter.out.jpa.SearchType.BOOK_SEARCH; diff --git a/src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentQueryPersistenceAdapter.java index 665e5e975..1ba9d5d8a 100644 --- a/src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentQueryPersistenceAdapter.java @@ -1,6 +1,7 @@ package konkuk.thip.comment.adapter.out.persistence; import konkuk.thip.comment.adapter.out.mapper.CommentMapper; +import konkuk.thip.comment.adapter.out.persistence.repository.CommentJpaRepository; import konkuk.thip.comment.application.port.out.CommentQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentJpaRepository.java b/src/main/java/konkuk/thip/comment/adapter/out/persistence/repository/CommentJpaRepository.java similarity index 80% rename from src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentJpaRepository.java rename to src/main/java/konkuk/thip/comment/adapter/out/persistence/repository/CommentJpaRepository.java index a55e27f0d..405e7e099 100644 --- a/src/main/java/konkuk/thip/comment/adapter/out/persistence/CommentJpaRepository.java +++ b/src/main/java/konkuk/thip/comment/adapter/out/persistence/repository/CommentJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.comment.adapter.out.persistence; +package konkuk.thip.comment.adapter.out.persistence.repository; import konkuk.thip.comment.adapter.out.jpa.CommentJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/common/exception/code/ErrorCode.java b/src/main/java/konkuk/thip/common/exception/code/ErrorCode.java index f1fbdf236..a4650b415 100644 --- a/src/main/java/konkuk/thip/common/exception/code/ErrorCode.java +++ b/src/main/java/konkuk/thip/common/exception/code/ErrorCode.java @@ -72,7 +72,7 @@ public enum ErrorCode implements ResponseCode { /** * 90000 : recentSearch error */ - INVALID_SEARCH_TYPE(HttpStatus.BAD_REQUEST, 900000,"알맞은 검색어 타입을 찾을 수 없습니다."), + INVALID_SEARCH_TYPE(HttpStatus.BAD_REQUEST, 90000,"알맞은 검색어 타입을 찾을 수 없습니다."), /** * 100000 : room error @@ -105,10 +105,11 @@ public enum ErrorCode implements ResponseCode { RECORD_CANNOT_WRITE_IN_EXPIRED_ROOM(HttpStatus.BAD_REQUEST, 120003, "만료된 방에는 기록을 남길 수 없습니다."), /** - * 140000 : userRoom error + * 140000 : roomParticipant error */ - USER_ROOM_NOT_FOUND(HttpStatus.NOT_FOUND, 140000, "존재하지 않는 USER_ROOM (방과 사용자 관계) 입니다."), + ROOM_PARTICIPANT_NOT_FOUND(HttpStatus.NOT_FOUND, 140000, "존재하지 않는 RoomParticipant (방과 사용자 관계) 입니다."), USER_NOT_BELONG_TO_ROOM(HttpStatus.BAD_REQUEST, 140001, "현재 모임방에 속하지 않는 유저입니다."), + ROOM_PARTICIPANT_ROLE_NOT_MATCH(HttpStatus.BAD_REQUEST, 140002, "일치하는 방에서의 사용자 역할이 없습니다."), /** * 150000 : Category error diff --git a/src/main/java/konkuk/thip/common/security/oauth2/CustomOAuth2UserService.java b/src/main/java/konkuk/thip/common/security/oauth2/CustomOAuth2UserService.java index e6deabd7a..1b2396d1d 100644 --- a/src/main/java/konkuk/thip/common/security/oauth2/CustomOAuth2UserService.java +++ b/src/main/java/konkuk/thip/common/security/oauth2/CustomOAuth2UserService.java @@ -2,7 +2,7 @@ import konkuk.thip.common.exception.AuthException; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService; diff --git a/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationCommandPersistenceAdapter.java index c13099f67..568af5196 100644 --- a/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationCommandPersistenceAdapter.java @@ -1,6 +1,7 @@ package konkuk.thip.notification.adapter.out.persistence; import konkuk.thip.notification.adapter.out.mapper.NotificationMapper; +import konkuk.thip.notification.adapter.out.persistence.repository.NotificationJpaRepository; import konkuk.thip.notification.application.port.out.NotificationCommandPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationQueryPersistenceAdapter.java index 9cb81b139..1b6163c39 100644 --- a/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationQueryPersistenceAdapter.java @@ -1,6 +1,7 @@ package konkuk.thip.notification.adapter.out.persistence; import konkuk.thip.notification.adapter.out.mapper.NotificationMapper; +import konkuk.thip.notification.adapter.out.persistence.repository.NotificationJpaRepository; import konkuk.thip.notification.application.port.out.NotificationQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationJpaRepository.java b/src/main/java/konkuk/thip/notification/adapter/out/persistence/repository/NotificationJpaRepository.java similarity index 77% rename from src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationJpaRepository.java rename to src/main/java/konkuk/thip/notification/adapter/out/persistence/repository/NotificationJpaRepository.java index dce9c4c18..c56b45e08 100644 --- a/src/main/java/konkuk/thip/notification/adapter/out/persistence/NotificationJpaRepository.java +++ b/src/main/java/konkuk/thip/notification/adapter/out/persistence/repository/NotificationJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.notification.adapter.out.persistence; +package konkuk.thip.notification.adapter.out.persistence.repository; import konkuk.thip.notification.adapter.out.jpa.NotificationJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchCommandPersistenceAdapter.java index 863acd8b8..baad78256 100644 --- a/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchCommandPersistenceAdapter.java @@ -3,10 +3,11 @@ import konkuk.thip.common.exception.EntityNotFoundException; import konkuk.thip.recentSearch.adapter.out.jpa.RecentSearchJpaEntity; import konkuk.thip.recentSearch.adapter.out.mapper.RecentSearchMapper; +import konkuk.thip.recentSearch.adapter.out.persistence.repository.RecentSearchJpaRepository; import konkuk.thip.recentSearch.application.port.out.RecentSearchCommandPort; import konkuk.thip.recentSearch.domain.RecentSearch; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchQueryPersistenceAdapter.java index 08c20e091..b1315c552 100644 --- a/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchQueryPersistenceAdapter.java @@ -1,6 +1,7 @@ package konkuk.thip.recentSearch.adapter.out.persistence; import konkuk.thip.recentSearch.adapter.out.mapper.RecentSearchMapper; +import konkuk.thip.recentSearch.adapter.out.persistence.repository.RecentSearchJpaRepository; import konkuk.thip.recentSearch.application.port.out.RecentSearchQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchJpaRepository.java b/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/repository/RecentSearchJpaRepository.java similarity index 77% rename from src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchJpaRepository.java rename to src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/repository/RecentSearchJpaRepository.java index b5fb1b6cf..8c897df77 100644 --- a/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/RecentSearchJpaRepository.java +++ b/src/main/java/konkuk/thip/recentSearch/adapter/out/persistence/repository/RecentSearchJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.recentSearch.adapter.out.persistence; +package konkuk.thip.recentSearch.adapter.out.persistence.repository; import konkuk.thip.recentSearch.adapter.out.jpa.RecentSearchJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordCommandPersistenceAdapter.java index 5cce52852..5dfebdc44 100644 --- a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordCommandPersistenceAdapter.java @@ -2,12 +2,13 @@ import konkuk.thip.common.exception.EntityNotFoundException; import konkuk.thip.record.adapter.out.mapper.RecordMapper; +import konkuk.thip.record.adapter.out.persistence.repository.RecordJpaRepository; import konkuk.thip.record.application.port.out.RecordCommandPort; import konkuk.thip.record.domain.Record; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryPersistenceAdapter.java index 2d9ccbbec..362faf456 100644 --- a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryPersistenceAdapter.java @@ -1,6 +1,7 @@ package konkuk.thip.record.adapter.out.persistence; import konkuk.thip.record.adapter.in.web.response.RecordSearchResponse; +import konkuk.thip.record.adapter.out.persistence.repository.RecordJpaRepository; import konkuk.thip.record.application.port.out.RecordQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; diff --git a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordJpaRepository.java b/src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordJpaRepository.java similarity index 78% rename from src/main/java/konkuk/thip/record/adapter/out/persistence/RecordJpaRepository.java rename to src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordJpaRepository.java index 8564604c3..cb67058dc 100644 --- a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordJpaRepository.java +++ b/src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.record.adapter.out.persistence; +package konkuk.thip.record.adapter.out.persistence.repository; import konkuk.thip.record.adapter.out.jpa.RecordJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepository.java b/src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordQueryRepository.java similarity index 86% rename from src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepository.java rename to src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordQueryRepository.java index af4495ae2..b268cd288 100644 --- a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepository.java +++ b/src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordQueryRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.record.adapter.out.persistence; +package konkuk.thip.record.adapter.out.persistence.repository; import konkuk.thip.record.adapter.in.web.response.RecordSearchResponse; import org.springframework.data.domain.Page; diff --git a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImpl.java b/src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordQueryRepositoryImpl.java similarity index 99% rename from src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImpl.java rename to src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordQueryRepositoryImpl.java index f5d0edf24..2f344f520 100644 --- a/src/main/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImpl.java +++ b/src/main/java/konkuk/thip/record/adapter/out/persistence/repository/RecordQueryRepositoryImpl.java @@ -1,4 +1,4 @@ -package konkuk.thip.record.adapter.out.persistence; +package konkuk.thip.record.adapter.out.persistence.repository; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.types.Order; diff --git a/src/main/java/konkuk/thip/record/application/service/RecordCreateService.java b/src/main/java/konkuk/thip/record/application/service/RecordCreateService.java index 63adae25a..b0e82708f 100644 --- a/src/main/java/konkuk/thip/record/application/service/RecordCreateService.java +++ b/src/main/java/konkuk/thip/record/application/service/RecordCreateService.java @@ -11,8 +11,8 @@ import konkuk.thip.record.domain.Record; import konkuk.thip.room.application.port.out.RoomCommandPort; import konkuk.thip.room.domain.Room; -import konkuk.thip.user.application.port.out.UserRoomCommandPort; -import konkuk.thip.user.domain.UserRoom; +import konkuk.thip.room.application.port.out.RoomParticipantCommandPort; +import konkuk.thip.room.domain.RoomParticipant; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -27,7 +27,7 @@ public class RecordCreateService implements RecordCreateUseCase { private final RecordCommandPort recordCommandPort; private final RoomCommandPort roomCommandPort; private final BookCommandPort bookCommandPort; - private final UserRoomCommandPort userRoomCommandPort; + private final RoomParticipantCommandPort roomParticipantCommandPort; @Transactional @Override @@ -43,39 +43,39 @@ public Long createRecord(RecordCreateCommand command) { ); // 2. UserRoom, Room, Book 조회 - UserRoom userRoom = userRoomCommandPort.findByUserIdAndRoomId(command.userId(), command.roomId()); + RoomParticipant roomParticipant = roomParticipantCommandPort.findByUserIdAndRoomId(command.userId(), command.roomId()); Room room = roomCommandPort.findById(record.getRoomId()); Book book = bookCommandPort.findById(room.getBookId()); // 3. 유효성 검증 validateRoom(room); - validateUserRoom(userRoom); + validateUserRoom(roomParticipant); validateRecord(record, book); // 4. UserRoom의 currentPage, userPercentage 업데이트 - updateRoomProgress(userRoom, record, book, room); + updateRoomProgress(roomParticipant, record, book, room); // 5. Record 저장 return recordCommandPort.saveRecord(record); } - private void updateRoomProgress(UserRoom userRoom, Record record, Book book, Room room) { - if(userRoom.updateUserProgress(record.getPage(), book.getPageCount())) { + private void updateRoomProgress(RoomParticipant roomParticipant, Record record, Book book, Room room) { + if(roomParticipant.updateUserProgress(record.getPage(), book.getPageCount())) { // userPercentage가 업데이트되었으면 Room의 roomPercentage 업데이트 - List userRoomList = userRoomCommandPort.findAllByRoomId(record.getRoomId()); - Double totalUserPercentage = userRoomList.stream() - .map(UserRoom::getUserPercentage) + List roomParticipantList = roomParticipantCommandPort.findAllByRoomId(record.getRoomId()); + Double totalUserPercentage = roomParticipantList.stream() + .map(RoomParticipant::getUserPercentage) .reduce(0.0, Double::sum); - room.updateRoomPercentage(totalUserPercentage / userRoomList.size()); + room.updateRoomPercentage(totalUserPercentage / roomParticipantList.size()); } } - private void validateUserRoom(UserRoom userRoom) { + private void validateUserRoom(RoomParticipant roomParticipant) { // UserRoom의 총평 작성 가능 여부 검증 - if (!userRoom.canWriteOverview()) { + if (!roomParticipant.canWriteOverview()) { String message = String.format( "총평(isOverview)은 사용자 진행률이 80%% 이상일 때만 가능합니다. 현재 사용자 진행률 = %.2f%%", - userRoom.getUserPercentage() + roomParticipant.getUserPercentage() ); throw new InvalidStateException(RECORD_CANNOT_BE_OVERVIEW, new IllegalStateException(message)); } diff --git a/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntity.java b/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntity.java index 22e4ffd7a..c28a1e056 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntity.java +++ b/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntity.java @@ -44,6 +44,10 @@ public class RoomJpaEntity extends BaseJpaEntity { @Column(name = "recruit_count",nullable = false) private int recruitCount; + @Builder.Default + @Column(name = "member_count",nullable = false) + private int memberCount = 1; + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "book_id") private BookJpaEntity bookJpaEntity; diff --git a/src/main/java/konkuk/thip/user/adapter/out/jpa/UserRoomJpaEntity.java b/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomParticipantJpaEntity.java similarity index 65% rename from src/main/java/konkuk/thip/user/adapter/out/jpa/UserRoomJpaEntity.java rename to src/main/java/konkuk/thip/room/adapter/out/jpa/RoomParticipantJpaEntity.java index 5619b611e..608a8ec8d 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/jpa/UserRoomJpaEntity.java +++ b/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomParticipantJpaEntity.java @@ -1,22 +1,22 @@ -package konkuk.thip.user.adapter.out.jpa; +package konkuk.thip.room.adapter.out.jpa; import jakarta.persistence.*; -import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; import konkuk.thip.common.entity.BaseJpaEntity; +import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import lombok.*; @Entity -@Table(name = "user_rooms") +@Table(name = "room_participants") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor @Builder -public class UserRoomJpaEntity extends BaseJpaEntity { +public class RoomParticipantJpaEntity extends BaseJpaEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "userroom_id") - private Long userRoomId; + @Column(name = "room_participant_id") + private Long roomParticipantId; @Builder.Default @Column(name = "current_page",nullable = false) @@ -27,8 +27,8 @@ public class UserRoomJpaEntity extends BaseJpaEntity { private double userPercentage = 0.0; @Enumerated(EnumType.STRING) - @Column(name = "user_role",nullable = false) - private UserRoomRole userRoomRole; + @Column(name = "room_participant_role",nullable = false) + private RoomParticipantRole roomParticipantRole; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") diff --git a/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomParticipantRole.java b/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomParticipantRole.java new file mode 100644 index 000000000..6639c6135 --- /dev/null +++ b/src/main/java/konkuk/thip/room/adapter/out/jpa/RoomParticipantRole.java @@ -0,0 +1,30 @@ + +package konkuk.thip.room.adapter.out.jpa; + +import konkuk.thip.common.exception.InvalidStateException; +import konkuk.thip.common.exception.code.ErrorCode; +import lombok.Getter; + +@Getter +public enum RoomParticipantRole { + + HOST("호스트"), + MEMBER("팀원"); + + private String type; + + RoomParticipantRole(String type) { + this.type = type; + } + + public static RoomParticipantRole from(String type) { + for (RoomParticipantRole roomParticipantRole : RoomParticipantRole.values()) { + if (roomParticipantRole.getType().equals(type)) { + return roomParticipantRole; + } + } + throw new InvalidStateException(ErrorCode.ROOM_PARTICIPANT_ROLE_NOT_MATCH, new IllegalArgumentException("요청된 사용자 역할: " + type)); + } + + +} \ No newline at end of file diff --git a/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomMapper.java b/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomMapper.java index 47f3ba0e8..44bd9478d 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomMapper.java +++ b/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomMapper.java @@ -20,6 +20,7 @@ public RoomJpaEntity toJpaEntity(Room room, BookJpaEntity bookJpaEntity, Categor .startDate(room.getStartDate()) .endDate(room.getEndDate()) .recruitCount(room.getRecruitCount()) + .memberCount(room.getMemberCount()) .bookJpaEntity(bookJpaEntity) .categoryJpaEntity(categoryJpaEntity) .build(); @@ -36,6 +37,7 @@ public Room toDomainEntity(RoomJpaEntity roomJpaEntity) { .startDate(roomJpaEntity.getStartDate()) .endDate(roomJpaEntity.getEndDate()) .recruitCount(roomJpaEntity.getRecruitCount()) + .memberCount(roomJpaEntity.getMemberCount()) .bookId(roomJpaEntity.getBookJpaEntity().getBookId()) .category(Category.from(roomJpaEntity.getCategoryJpaEntity().getValue())) .createdAt(roomJpaEntity.getCreatedAt()) diff --git a/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomParticipantMapper.java b/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomParticipantMapper.java new file mode 100644 index 000000000..bf70e7863 --- /dev/null +++ b/src/main/java/konkuk/thip/room/adapter/out/mapper/RoomParticipantMapper.java @@ -0,0 +1,36 @@ +package konkuk.thip.room.adapter.out.mapper; + +import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.domain.RoomParticipant; +import org.springframework.stereotype.Component; + +@Component +public class RoomParticipantMapper { + + public RoomParticipantJpaEntity toJpaEntity(RoomParticipant roomParticipant, UserJpaEntity userJpaEntity, RoomJpaEntity roomJpaEntity) { + return RoomParticipantJpaEntity.builder() + .currentPage(roomParticipant.getCurrentPage()) + .userPercentage(roomParticipant.getUserPercentage()) + .roomParticipantRole(RoomParticipantRole.from(roomParticipant.getRoomParticipantRole())) + .userJpaEntity(userJpaEntity) + .roomJpaEntity(roomJpaEntity) + .build(); + } + + public RoomParticipant toDomainEntity(RoomParticipantJpaEntity roomParticipantJpaEntity) { + return RoomParticipant.builder() + .id(roomParticipantJpaEntity.getRoomParticipantId()) + .currentPage(roomParticipantJpaEntity.getCurrentPage()) + .userPercentage(roomParticipantJpaEntity.getUserPercentage()) + .roomParticipantRole(roomParticipantJpaEntity.getRoomParticipantRole().getType()) + .userId(roomParticipantJpaEntity.getUserJpaEntity().getUserId()) + .roomId(roomParticipantJpaEntity.getRoomJpaEntity().getRoomId()) + .createdAt(roomParticipantJpaEntity.getCreatedAt()) + .modifiedAt(roomParticipantJpaEntity.getModifiedAt()) + .status(roomParticipantJpaEntity.getStatus()) + .build(); + } +} diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomCommandPersistenceAdapter.java index 4d0883dfd..624f221de 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomCommandPersistenceAdapter.java @@ -1,11 +1,13 @@ package konkuk.thip.room.adapter.out.persistence; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.exception.EntityNotFoundException; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; import konkuk.thip.room.adapter.out.mapper.RoomMapper; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.room.application.port.out.RoomCommandPort; import konkuk.thip.room.domain.Room; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomParticipantCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomParticipantCommandPersistenceAdapter.java new file mode 100644 index 000000000..6ef187ef6 --- /dev/null +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomParticipantCommandPersistenceAdapter.java @@ -0,0 +1,37 @@ +package konkuk.thip.room.adapter.out.persistence; + +import konkuk.thip.common.exception.EntityNotFoundException; +import konkuk.thip.common.exception.code.ErrorCode; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.mapper.RoomParticipantMapper; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; +import konkuk.thip.room.application.port.out.RoomParticipantCommandPort; +import konkuk.thip.room.domain.RoomParticipant; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +@RequiredArgsConstructor +public class RoomParticipantCommandPersistenceAdapter implements RoomParticipantCommandPort { + + private final RoomParticipantJpaRepository roomParticipantJpaRepository; + private final RoomParticipantMapper roomParticipantMapper; + + @Override + public RoomParticipant findByUserIdAndRoomId(Long userId, Long roomId) { + RoomParticipantJpaEntity roomParticipantJpaEntity = roomParticipantJpaRepository.findByUserJpaEntity_UserIdAndRoomJpaEntity_RoomId(userId, roomId).orElseThrow( + () -> new EntityNotFoundException(ErrorCode.ROOM_PARTICIPANT_NOT_FOUND) + ); + + return roomParticipantMapper.toDomainEntity(roomParticipantJpaEntity); + } + + @Override + public List findAllByRoomId(Long roomId) { + return roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(roomId).stream() + .map(roomParticipantMapper::toDomainEntity) + .toList(); + } +} diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryPersistenceAdapter.java index 2e58df281..72291caf6 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryPersistenceAdapter.java @@ -4,6 +4,7 @@ import konkuk.thip.room.adapter.in.web.response.RoomGetHomeJoinedListResponse; import konkuk.thip.room.adapter.in.web.response.RoomSearchResponse; import konkuk.thip.room.adapter.out.mapper.RoomMapper; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.room.application.port.out.RoomQueryPort; import konkuk.thip.room.domain.Room; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/CategoryJpaRepository.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/CategoryJpaRepository.java similarity index 83% rename from src/main/java/konkuk/thip/room/adapter/out/persistence/CategoryJpaRepository.java rename to src/main/java/konkuk/thip/room/adapter/out/persistence/repository/CategoryJpaRepository.java index a8c9c04ef..7997f2b51 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/persistence/CategoryJpaRepository.java +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/CategoryJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.room.adapter.out.persistence; +package konkuk.thip.room.adapter.out.persistence.repository; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomJpaRepository.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomJpaRepository.java similarity index 84% rename from src/main/java/konkuk/thip/room/adapter/out/persistence/RoomJpaRepository.java rename to src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomJpaRepository.java index f725faba2..638890579 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomJpaRepository.java +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.room.adapter.out.persistence; +package konkuk.thip.room.adapter.out.persistence.repository; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomParticipantJpaRepository.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomParticipantJpaRepository.java new file mode 100644 index 000000000..2db2ed018 --- /dev/null +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomParticipantJpaRepository.java @@ -0,0 +1,13 @@ +package konkuk.thip.room.adapter.out.persistence.repository; + +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface RoomParticipantJpaRepository extends JpaRepository{ + + Optional findByUserJpaEntity_UserIdAndRoomJpaEntity_RoomId(Long userId, Long roomId); + List findAllByRoomJpaEntity_RoomId(Long roomId); +} diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryRepository.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepository.java similarity index 93% rename from src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryRepository.java rename to src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepository.java index f0b5a3feb..7580ae787 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryRepository.java +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.room.adapter.out.persistence; +package konkuk.thip.room.adapter.out.persistence.repository; import konkuk.thip.room.adapter.in.web.response.RoomRecruitingDetailViewResponse; import konkuk.thip.room.adapter.in.web.response.RoomGetHomeJoinedListResponse; diff --git a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryRepositoryImpl.java b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepositoryImpl.java similarity index 95% rename from src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryRepositoryImpl.java rename to src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepositoryImpl.java index 469e4cd1a..84894eb6f 100644 --- a/src/main/java/konkuk/thip/room/adapter/out/persistence/RoomQueryRepositoryImpl.java +++ b/src/main/java/konkuk/thip/room/adapter/out/persistence/repository/RoomQueryRepositoryImpl.java @@ -1,4 +1,4 @@ -package konkuk.thip.room.adapter.out.persistence; +package konkuk.thip.room.adapter.out.persistence.repository; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.Tuple; @@ -15,7 +15,7 @@ import konkuk.thip.room.adapter.in.web.response.RoomGetHomeJoinedListResponse; import konkuk.thip.room.adapter.in.web.response.RoomSearchResponse; import konkuk.thip.room.adapter.out.jpa.QRoomJpaEntity; -import konkuk.thip.user.adapter.out.jpa.QUserRoomJpaEntity; +import konkuk.thip.room.adapter.out.jpa.QRoomParticipantJpaEntity; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; @@ -34,7 +34,7 @@ public class RoomQueryRepositoryImpl implements RoomQueryRepository { private final JPAQueryFactory queryFactory; private final QRoomJpaEntity room = QRoomJpaEntity.roomJpaEntity; private final QBookJpaEntity book = QBookJpaEntity.bookJpaEntity; - private final QUserRoomJpaEntity userRoom = QUserRoomJpaEntity.userRoomJpaEntity; + private final QRoomParticipantJpaEntity userRoom = QRoomParticipantJpaEntity.roomParticipantJpaEntity; @Override @@ -58,7 +58,7 @@ public Page searchRoom(String keyword, Stri .when(room.title.containsIgnoreCase(keyword)).then(1) .otherwise(0); - NumberExpression memberCountExpr = userRoom.userRoomId.count(); // 방 별 멤버수 표현식 + NumberExpression memberCountExpr = userRoom.roomParticipantId.count(); // 방 별 멤버수 표현식 List tuples = queryFactory .select( @@ -146,7 +146,7 @@ private OrderSpecifier toOrderSpecifier(Sort sort, QRoomJpaEntity room, Numbe @Override public List findOtherRecruitingRoomsByCategoryOrderByStartDateAsc(Long roomId, String category, int count) { - NumberExpression memberCountExpr = userRoom.userRoomId.count(); + NumberExpression memberCountExpr = userRoom.roomParticipantId.count(); List tuples = queryFactory .select(room.roomId, room.title, memberCountExpr, room.recruitCount, room.startDate) .from(room) @@ -175,7 +175,7 @@ public List findOtherRecruitingR @Override public Page searchHomeJoinedRooms(Long userId, LocalDate date, Pageable pageable) { - QUserRoomJpaEntity userRoomSub = new QUserRoomJpaEntity("userRoomSub"); + QRoomParticipantJpaEntity userRoomSub = new QRoomParticipantJpaEntity("userRoomSub"); // 1. 검색 조건(where) 조립 // 유저가 참여한 방만: userId 조건 diff --git a/src/main/java/konkuk/thip/room/application/port/out/RoomParticipantCommandPort.java b/src/main/java/konkuk/thip/room/application/port/out/RoomParticipantCommandPort.java new file mode 100644 index 000000000..c8edc43aa --- /dev/null +++ b/src/main/java/konkuk/thip/room/application/port/out/RoomParticipantCommandPort.java @@ -0,0 +1,12 @@ +package konkuk.thip.room.application.port.out; + +import konkuk.thip.room.domain.RoomParticipant; + +import java.util.List; + +public interface RoomParticipantCommandPort { + + RoomParticipant findByUserIdAndRoomId(Long userId, Long roomId); + List findAllByRoomId(Long roomId); + +} diff --git a/src/main/java/konkuk/thip/room/application/port/out/RoomParticipantQueryPort.java b/src/main/java/konkuk/thip/room/application/port/out/RoomParticipantQueryPort.java new file mode 100644 index 000000000..2799e04cd --- /dev/null +++ b/src/main/java/konkuk/thip/room/application/port/out/RoomParticipantQueryPort.java @@ -0,0 +1,4 @@ +package konkuk.thip.room.application.port.out; + +public interface RoomParticipantQueryPort { +} diff --git a/src/main/java/konkuk/thip/room/application/service/RoomGetMemberListService.java b/src/main/java/konkuk/thip/room/application/service/RoomGetMemberListService.java index 6227ea0e5..579d8d38f 100644 --- a/src/main/java/konkuk/thip/room/application/service/RoomGetMemberListService.java +++ b/src/main/java/konkuk/thip/room/application/service/RoomGetMemberListService.java @@ -6,9 +6,9 @@ import konkuk.thip.room.domain.Room; import konkuk.thip.user.application.port.out.FollowingQueryPort; import konkuk.thip.user.application.port.out.UserCommandPort; -import konkuk.thip.user.application.port.out.UserRoomCommandPort; +import konkuk.thip.room.application.port.out.RoomParticipantCommandPort; import konkuk.thip.user.domain.User; -import konkuk.thip.user.domain.UserRoom; +import konkuk.thip.room.domain.RoomParticipant; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +21,7 @@ public class RoomGetMemberListService implements RoomGetMemberListUseCase { private final RoomCommandPort roomCommandPort; - private final UserRoomCommandPort userRoomCommandPort; + private final RoomParticipantCommandPort roomParticipantCommandPort; private final UserCommandPort userCommandPort; private final FollowingQueryPort followingQueryPort; @@ -33,12 +33,12 @@ public RoomGetMemberListResponse getRoomMemberList(Long roomId) { Room room = roomCommandPort.findById(roomId); // 2. 방 참여자(UserRoom) 전체 조회 - List userRooms = userRoomCommandPort.findAllByRoomId(room.getId()); + List roomParticipants = roomParticipantCommandPort.findAllByRoomId(room.getId()); // 3. 참여자 userId 목록 추출 - List userIds = userRooms.stream() - .map(UserRoom::getUserId) + List userIds = roomParticipants.stream() + .map(RoomParticipant::getUserId) .toList(); // 4. 배치 쿼리로 유저 정보, 팔로워 수 조회 @@ -46,7 +46,7 @@ public RoomGetMemberListResponse getRoomMemberList(Long roomId) { Map subscriberCountMap = followingQueryPort.countByFollowingUserIds(userIds); // 5. 각 userRoom에 대해 DTO 조립 - List userList = userRooms.stream() + List userList = roomParticipants.stream() .map(userRoom -> { Long userId = userRoom.getUserId(); User user = userMap.get(userId); diff --git a/src/main/java/konkuk/thip/room/application/service/RoomShowPlayingDetailViewService.java b/src/main/java/konkuk/thip/room/application/service/RoomShowPlayingDetailViewService.java index 05318680d..78471d35e 100644 --- a/src/main/java/konkuk/thip/room/application/service/RoomShowPlayingDetailViewService.java +++ b/src/main/java/konkuk/thip/room/application/service/RoomShowPlayingDetailViewService.java @@ -7,9 +7,9 @@ import konkuk.thip.room.application.port.in.RoomShowPlayingDetailViewUseCase; import konkuk.thip.room.application.port.out.RoomCommandPort; import konkuk.thip.room.domain.Room; -import konkuk.thip.user.application.port.out.UserRoomCommandPort; -import konkuk.thip.user.domain.RoomParticipants; -import konkuk.thip.user.domain.UserRoom; +import konkuk.thip.room.application.port.out.RoomParticipantCommandPort; +import konkuk.thip.room.domain.RoomParticipants; +import konkuk.thip.room.domain.RoomParticipant; import konkuk.thip.vote.application.port.out.VoteQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -25,7 +25,7 @@ public class RoomShowPlayingDetailViewService implements RoomShowPlayingDetailVi private final RoomCommandPort roomCommandPort; private final BookCommandPort bookCommandPort; - private final UserRoomCommandPort userRoomCommandPort; + private final RoomParticipantCommandPort roomParticipantCommandPort; private final VoteQueryPort voteQueryPort; @Override @@ -37,7 +37,7 @@ public RoomPlayingDetailViewResponse getPlayingRoomDetailView(Long userId, Long // 2. Room과 연관된 UserRoom 조회, RoomParticipants 일급 컬렉션 생성 // TODO. Room 도메인에 memberCount 값 추가된 후 리펙토링 - List findByRoomId = userRoomCommandPort.findAllByRoomId(roomId); + List findByRoomId = roomParticipantCommandPort.findAllByRoomId(roomId); RoomParticipants roomParticipants = RoomParticipants.from(findByRoomId); // 3. 투표 참여율이 가장 높은 투표 조회 diff --git a/src/main/java/konkuk/thip/room/application/service/RoomShowRecruitingDetailViewService.java b/src/main/java/konkuk/thip/room/application/service/RoomShowRecruitingDetailViewService.java index c79c70d17..885578f84 100644 --- a/src/main/java/konkuk/thip/room/application/service/RoomShowRecruitingDetailViewService.java +++ b/src/main/java/konkuk/thip/room/application/service/RoomShowRecruitingDetailViewService.java @@ -8,9 +8,9 @@ import konkuk.thip.room.application.port.out.RoomCommandPort; import konkuk.thip.room.application.port.out.RoomQueryPort; import konkuk.thip.room.domain.Room; -import konkuk.thip.user.application.port.out.UserRoomCommandPort; -import konkuk.thip.user.domain.UserRoom; -import konkuk.thip.user.domain.RoomParticipants; +import konkuk.thip.room.application.port.out.RoomParticipantCommandPort; +import konkuk.thip.room.domain.RoomParticipant; +import konkuk.thip.room.domain.RoomParticipants; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,7 +26,7 @@ public class RoomShowRecruitingDetailViewService implements RoomShowRecruitingDe private final RoomCommandPort roomCommandPort; private final RoomQueryPort roomQueryPort; private final BookCommandPort bookCommandPort; - private final UserRoomCommandPort userRoomCommandPort; + private final RoomParticipantCommandPort roomParticipantCommandPort; @Override @Transactional(readOnly = true) @@ -36,7 +36,7 @@ public RoomRecruitingDetailViewResponse getRecruitingRoomDetailView(Long userId, Book book = bookCommandPort.findById(room.getBookId()); // 2. Room과 연관된 UserRoom 조회, RoomParticipants 일급 컬렉션 생성 - List findByRoomId = userRoomCommandPort.findAllByRoomId(roomId); + List findByRoomId = roomParticipantCommandPort.findAllByRoomId(roomId); RoomParticipants roomParticipants = RoomParticipants.from(findByRoomId); // 3. 다른 모임방 추천 diff --git a/src/main/java/konkuk/thip/room/domain/Room.java b/src/main/java/konkuk/thip/room/domain/Room.java index 0a4d9627e..ffa4b52fa 100644 --- a/src/main/java/konkuk/thip/room/domain/Room.java +++ b/src/main/java/konkuk/thip/room/domain/Room.java @@ -38,6 +38,8 @@ public class Room extends BaseDomainEntity { private int recruitCount; + private int memberCount; + private Long bookId; private Category category; @@ -59,6 +61,7 @@ public static Room withoutId(String title, String description, boolean isPublic, .startDate(startDate) .endDate(endDate) .recruitCount(recruitCount) + .memberCount(1) // 처음 Room 생성 시 방장 1명 .bookId(bookId) .category(category) .build(); diff --git a/src/main/java/konkuk/thip/user/domain/UserRoom.java b/src/main/java/konkuk/thip/room/domain/RoomParticipant.java similarity index 85% rename from src/main/java/konkuk/thip/user/domain/UserRoom.java rename to src/main/java/konkuk/thip/room/domain/RoomParticipant.java index fa1d233b0..f451e2a9c 100644 --- a/src/main/java/konkuk/thip/user/domain/UserRoom.java +++ b/src/main/java/konkuk/thip/room/domain/RoomParticipant.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.domain; +package konkuk.thip.room.domain; import konkuk.thip.common.entity.BaseDomainEntity; import lombok.Getter; @@ -6,7 +6,7 @@ @Getter @SuperBuilder -public class UserRoom extends BaseDomainEntity { +public class RoomParticipant extends BaseDomainEntity { private Long id; @@ -14,7 +14,7 @@ public class UserRoom extends BaseDomainEntity { private double userPercentage; - private String userRoomRole; + private String roomParticipantRole; private Long userId; diff --git a/src/main/java/konkuk/thip/user/domain/RoomParticipants.java b/src/main/java/konkuk/thip/room/domain/RoomParticipants.java similarity index 76% rename from src/main/java/konkuk/thip/user/domain/RoomParticipants.java rename to src/main/java/konkuk/thip/room/domain/RoomParticipants.java index 5249b1b21..b6a8f1c0f 100644 --- a/src/main/java/konkuk/thip/user/domain/RoomParticipants.java +++ b/src/main/java/konkuk/thip/room/domain/RoomParticipants.java @@ -1,7 +1,7 @@ -package konkuk.thip.user.domain; +package konkuk.thip.room.domain; import konkuk.thip.common.exception.InvalidStateException; -import konkuk.thip.user.adapter.out.jpa.UserRoomRole; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -16,9 +16,9 @@ public class RoomParticipants { * 특정 Room 과 연관된 UserRoom 들을 모은 일급 컬렉션 */ - private final List participants; + private final List participants; - public static RoomParticipants from(List participants) { + public static RoomParticipants from(List participants) { return new RoomParticipants(participants); } @@ -34,13 +34,13 @@ public boolean isJoiningToRoom(Long userId) { public boolean isHostOfRoom(Long userId) { return participants.stream() .filter(userRoom -> userRoom.getUserId().equals(userId)) - .anyMatch(userRoom -> userRoom.getUserRoomRole().equals(UserRoomRole.HOST.getType())); + .anyMatch(userRoom -> userRoom.getRoomParticipantRole().equals(RoomParticipantRole.HOST.getType())); } public int getCurrentPageOfUser(Long userId) { return participants.stream() .filter(userRoom -> userRoom.getUserId().equals(userId)) - .map(UserRoom::getCurrentPage) + .map(RoomParticipant::getCurrentPage) .findFirst() .orElseThrow(() -> new InvalidStateException(USER_NOT_BELONG_TO_ROOM)); } @@ -48,7 +48,7 @@ public int getCurrentPageOfUser(Long userId) { public double getUserPercentageOfUser(Long userId) { return participants.stream() .filter(userRoom -> userRoom.getUserId().equals(userId)) - .map(UserRoom::getUserPercentage) + .map(RoomParticipant::getUserPercentage) .findFirst() .orElseThrow(() -> new InvalidStateException(USER_NOT_BELONG_TO_ROOM)); } diff --git a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedCommandPersistenceAdapter.java index da0071bad..108e7be9c 100644 --- a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedCommandPersistenceAdapter.java @@ -1,14 +1,16 @@ package konkuk.thip.saved.adapter.out.persistence; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.exception.EntityNotFoundException; import konkuk.thip.saved.adapter.out.jpa.SavedBookJpaEntity; import konkuk.thip.saved.adapter.out.mapper.SavedBookMapper; import konkuk.thip.saved.adapter.out.mapper.SavedFeedMapper; +import konkuk.thip.saved.adapter.out.persistence.repository.SavedBookJpaRepository; +import konkuk.thip.saved.adapter.out.persistence.repository.SavedFeedJpaRepository; import konkuk.thip.saved.application.port.out.SavedCommandPort; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedQueryPersistenceAdapter.java index 814525633..ec563a0e9 100644 --- a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedQueryPersistenceAdapter.java @@ -6,10 +6,12 @@ import konkuk.thip.saved.adapter.out.jpa.SavedBookJpaEntity; import konkuk.thip.saved.adapter.out.mapper.SavedBookMapper; import konkuk.thip.saved.adapter.out.mapper.SavedFeedMapper; +import konkuk.thip.saved.adapter.out.persistence.repository.SavedBookJpaRepository; +import konkuk.thip.saved.adapter.out.persistence.repository.SavedFeedJpaRepository; import konkuk.thip.saved.application.port.out.SavedQueryPort; import konkuk.thip.book.domain.SavedBooks; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedBookJpaRepository.java b/src/main/java/konkuk/thip/saved/adapter/out/persistence/repository/SavedBookJpaRepository.java similarity index 88% rename from src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedBookJpaRepository.java rename to src/main/java/konkuk/thip/saved/adapter/out/persistence/repository/SavedBookJpaRepository.java index 97a2f6ed5..05bbe9a31 100644 --- a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedBookJpaRepository.java +++ b/src/main/java/konkuk/thip/saved/adapter/out/persistence/repository/SavedBookJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.saved.adapter.out.persistence; +package konkuk.thip.saved.adapter.out.persistence.repository; import konkuk.thip.saved.adapter.out.jpa.SavedBookJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedFeedJpaRepository.java b/src/main/java/konkuk/thip/saved/adapter/out/persistence/repository/SavedFeedJpaRepository.java similarity index 77% rename from src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedFeedJpaRepository.java rename to src/main/java/konkuk/thip/saved/adapter/out/persistence/repository/SavedFeedJpaRepository.java index f52b40f93..be10fae92 100644 --- a/src/main/java/konkuk/thip/saved/adapter/out/persistence/SavedFeedJpaRepository.java +++ b/src/main/java/konkuk/thip/saved/adapter/out/persistence/repository/SavedFeedJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.saved.adapter.out.persistence; +package konkuk.thip.saved.adapter.out.persistence.repository; import konkuk.thip.saved.adapter.out.jpa.SavedFeedJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/user/adapter/out/jpa/UserRoomRole.java b/src/main/java/konkuk/thip/user/adapter/out/jpa/UserRoomRole.java deleted file mode 100644 index b6776895f..000000000 --- a/src/main/java/konkuk/thip/user/adapter/out/jpa/UserRoomRole.java +++ /dev/null @@ -1,30 +0,0 @@ - -package konkuk.thip.user.adapter.out.jpa; - -import lombok.Getter; - -@Getter -public enum UserRoomRole { - - HOST("호스트"), - MEMBER("팀원"); - - private String type; - - UserRoomRole(String type) { - this.type = type; - } - - public static UserRoomRole from(String type) { - for (UserRoomRole userRoomRole : UserRoomRole.values()) { - if (userRoomRole.getType().equals(type)) { - return userRoomRole; - } - } - //컨트롤러 어드바이스 추가하고 예외처리 - //throw new GlobalException(NO_SUCH_TYPE_USER); - return null; - } - - -} \ No newline at end of file diff --git a/src/main/java/konkuk/thip/user/adapter/out/mapper/UserRoomMapper.java b/src/main/java/konkuk/thip/user/adapter/out/mapper/UserRoomMapper.java deleted file mode 100644 index ab8942f1c..000000000 --- a/src/main/java/konkuk/thip/user/adapter/out/mapper/UserRoomMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package konkuk.thip.user.adapter.out.mapper; - -import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.jpa.UserRoomJpaEntity; -import konkuk.thip.user.adapter.out.jpa.UserRoomRole; -import konkuk.thip.user.domain.UserRoom; -import org.springframework.stereotype.Component; - -@Component -public class UserRoomMapper { - - public UserRoomJpaEntity toJpaEntity(UserRoom userRoom, UserJpaEntity userJpaEntity, RoomJpaEntity roomJpaEntity) { - return UserRoomJpaEntity.builder() - .currentPage(userRoom.getCurrentPage()) - .userPercentage(userRoom.getUserPercentage()) - .userRoomRole(UserRoomRole.from(userRoom.getUserRoomRole())) - .userJpaEntity(userJpaEntity) - .roomJpaEntity(roomJpaEntity) - .build(); - } - - public UserRoom toDomainEntity(UserRoomJpaEntity userRoomJpaEntity) { - return UserRoom.builder() - .id(userRoomJpaEntity.getUserRoomId()) - .currentPage(userRoomJpaEntity.getCurrentPage()) - .userPercentage(userRoomJpaEntity.getUserPercentage()) - .userRoomRole(userRoomJpaEntity.getUserRoomRole().getType()) - .userId(userRoomJpaEntity.getUserJpaEntity().getUserId()) - .roomId(userRoomJpaEntity.getRoomJpaEntity().getRoomId()) - .createdAt(userRoomJpaEntity.getCreatedAt()) - .modifiedAt(userRoomJpaEntity.getModifiedAt()) - .status(userRoomJpaEntity.getStatus()) - .build(); - } -} diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingCommandPersistenceAdapter.java index 8c8586711..3e289b6cf 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingCommandPersistenceAdapter.java @@ -4,6 +4,8 @@ import konkuk.thip.user.adapter.out.jpa.FollowingJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.mapper.FollowingMapper; +import konkuk.thip.user.adapter.out.persistence.repository.following.FollowingJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.user.application.port.out.FollowingCommandPort; import konkuk.thip.user.domain.Following; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryPersistenceAdapter.java index b2411a8d8..25ab18ddf 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryPersistenceAdapter.java @@ -4,6 +4,7 @@ import konkuk.thip.user.adapter.in.web.response.UserFollowersResponse; import konkuk.thip.user.adapter.out.jpa.FollowingJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; +import konkuk.thip.user.adapter.out.persistence.repository.following.FollowingJpaRepository; import konkuk.thip.user.application.port.out.FollowingQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/UserCommandPersistenceAdapter.java index 6f819812d..b87374d06 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/UserCommandPersistenceAdapter.java @@ -4,6 +4,8 @@ import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.mapper.UserMapper; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.user.application.port.out.UserCommandPort; import konkuk.thip.user.domain.User; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryPersistenceAdapter.java index b28f73e4a..5d4980975 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryPersistenceAdapter.java @@ -1,6 +1,8 @@ package konkuk.thip.user.adapter.out.persistence; import konkuk.thip.user.adapter.out.mapper.UserMapper; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.user.application.port.in.dto.UserViewAliasChoiceResult; import konkuk.thip.user.application.port.out.UserQueryPort; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserRoomCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/UserRoomCommandPersistenceAdapter.java deleted file mode 100644 index cd412215a..000000000 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserRoomCommandPersistenceAdapter.java +++ /dev/null @@ -1,36 +0,0 @@ -package konkuk.thip.user.adapter.out.persistence; - -import konkuk.thip.common.exception.EntityNotFoundException; -import konkuk.thip.common.exception.code.ErrorCode; -import konkuk.thip.user.adapter.out.jpa.UserRoomJpaEntity; -import konkuk.thip.user.adapter.out.mapper.UserRoomMapper; -import konkuk.thip.user.application.port.out.UserRoomCommandPort; -import konkuk.thip.user.domain.UserRoom; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -@RequiredArgsConstructor -public class UserRoomCommandPersistenceAdapter implements UserRoomCommandPort { - - private final UserRoomJpaRepository userRoomJpaRepository; - private final UserRoomMapper userRoomMapper; - - @Override - public UserRoom findByUserIdAndRoomId(Long userId, Long roomId) { - UserRoomJpaEntity userRoomJpaEntity = userRoomJpaRepository.findByUserJpaEntity_UserIdAndRoomJpaEntity_RoomId(userId, roomId).orElseThrow( - () -> new EntityNotFoundException(ErrorCode.USER_ROOM_NOT_FOUND) - ); - - return userRoomMapper.toDomainEntity(userRoomJpaEntity); - } - - @Override - public List findAllByRoomId(Long roomId) { - return userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(roomId).stream() - .map(userRoomMapper::toDomainEntity) - .toList(); - } -} diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserRoomJpaRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/UserRoomJpaRepository.java deleted file mode 100644 index c77aadf5d..000000000 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserRoomJpaRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package konkuk.thip.user.adapter.out.persistence; - -import konkuk.thip.user.adapter.out.jpa.UserRoomJpaEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; -import java.util.Optional; - -public interface UserRoomJpaRepository extends JpaRepository{ - - Optional findByUserJpaEntity_UserIdAndRoomJpaEntity_RoomId(Long userId, Long roomId); - List findAllByRoomJpaEntity_RoomId(Long roomId); -} diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/AliasJpaRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasJpaRepository.java similarity index 83% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/AliasJpaRepository.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasJpaRepository.java index 2ba8d51ec..417f471ab 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/AliasJpaRepository.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/AliasQueryRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasQueryRepository.java similarity index 74% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/AliasQueryRepository.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasQueryRepository.java index 43cf50e37..0a82932db 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/AliasQueryRepository.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasQueryRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository; import konkuk.thip.user.application.port.in.dto.UserViewAliasChoiceResult; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/AliasQueryRepositoryImpl.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasQueryRepositoryImpl.java similarity index 95% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/AliasQueryRepositoryImpl.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasQueryRepositoryImpl.java index 0482b2074..e36286976 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/AliasQueryRepositoryImpl.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/AliasQueryRepositoryImpl.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserJpaRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserJpaRepository.java similarity index 87% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/UserJpaRepository.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserJpaRepository.java index 97e3bc981..71eda08ef 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserJpaRepository.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserQueryRepository.java similarity index 64% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryRepository.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserQueryRepository.java index 0f859d30c..9786a6bf8 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryRepository.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserQueryRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository; import java.util.Set; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryRepositoryImpl.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserQueryRepositoryImpl.java similarity index 80% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryRepositoryImpl.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserQueryRepositoryImpl.java index 8d71919e9..916743cca 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/UserQueryRepositoryImpl.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/UserQueryRepositoryImpl.java @@ -1,8 +1,8 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository; import com.querydsl.jpa.impl.JPAQueryFactory; import konkuk.thip.room.adapter.out.jpa.QRoomJpaEntity; -import konkuk.thip.user.adapter.out.jpa.QUserRoomJpaEntity; +import konkuk.thip.room.adapter.out.jpa.QRoomParticipantJpaEntity; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; @@ -17,7 +17,7 @@ public class UserQueryRepositoryImpl implements UserQueryRepository { @Override public Set findUserIdsByBookId(Long bookId) { - QUserRoomJpaEntity userRoom = QUserRoomJpaEntity.userRoomJpaEntity; + QRoomParticipantJpaEntity userRoom = QRoomParticipantJpaEntity.roomParticipantJpaEntity; QRoomJpaEntity room = QRoomJpaEntity.roomJpaEntity; return new HashSet<>( diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingJpaRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingJpaRepository.java similarity index 81% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingJpaRepository.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingJpaRepository.java index dd3ba397f..8819fab29 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingJpaRepository.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository.following; import konkuk.thip.user.adapter.out.jpa.FollowingJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryRepository.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingQueryRepository.java similarity index 87% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryRepository.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingQueryRepository.java index 3800b1d01..882b80bce 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryRepository.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingQueryRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository.following; import konkuk.thip.user.adapter.out.jpa.FollowingJpaEntity; diff --git a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryRepositoryImpl.java b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingQueryRepositoryImpl.java similarity index 97% rename from src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryRepositoryImpl.java rename to src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingQueryRepositoryImpl.java index 1f2aeafa1..77957e69a 100644 --- a/src/main/java/konkuk/thip/user/adapter/out/persistence/FollowingQueryRepositoryImpl.java +++ b/src/main/java/konkuk/thip/user/adapter/out/persistence/repository/following/FollowingQueryRepositoryImpl.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.adapter.out.persistence; +package konkuk.thip.user.adapter.out.persistence.repository.following; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.Tuple; diff --git a/src/main/java/konkuk/thip/user/application/port/out/UserRoomCommandPort.java b/src/main/java/konkuk/thip/user/application/port/out/UserRoomCommandPort.java deleted file mode 100644 index 6d3ced065..000000000 --- a/src/main/java/konkuk/thip/user/application/port/out/UserRoomCommandPort.java +++ /dev/null @@ -1,12 +0,0 @@ -package konkuk.thip.user.application.port.out; - -import konkuk.thip.user.domain.UserRoom; - -import java.util.List; - -public interface UserRoomCommandPort { - - UserRoom findByUserIdAndRoomId(Long userId, Long roomId); - List findAllByRoomId(Long roomId); - -} diff --git a/src/main/java/konkuk/thip/user/application/port/out/UserRoomQueryPort.java b/src/main/java/konkuk/thip/user/application/port/out/UserRoomQueryPort.java deleted file mode 100644 index c75d09f35..000000000 --- a/src/main/java/konkuk/thip/user/application/port/out/UserRoomQueryPort.java +++ /dev/null @@ -1,4 +0,0 @@ -package konkuk.thip.user.application.port.out; - -public interface UserRoomQueryPort { -} diff --git a/src/main/java/konkuk/thip/user/application/service/UserFollowService.java b/src/main/java/konkuk/thip/user/application/service/following/UserFollowService.java similarity index 97% rename from src/main/java/konkuk/thip/user/application/service/UserFollowService.java rename to src/main/java/konkuk/thip/user/application/service/following/UserFollowService.java index 507459603..c04815b3e 100644 --- a/src/main/java/konkuk/thip/user/application/service/UserFollowService.java +++ b/src/main/java/konkuk/thip/user/application/service/following/UserFollowService.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.application.service; +package konkuk.thip.user.application.service.following; import konkuk.thip.common.exception.InvalidStateException; import konkuk.thip.user.application.port.in.UserFollowUsecase; diff --git a/src/main/java/konkuk/thip/user/application/service/UserGetFollowersService.java b/src/main/java/konkuk/thip/user/application/service/following/UserGetFollowersService.java similarity index 94% rename from src/main/java/konkuk/thip/user/application/service/UserGetFollowersService.java rename to src/main/java/konkuk/thip/user/application/service/following/UserGetFollowersService.java index e29819c55..6752c7fbe 100644 --- a/src/main/java/konkuk/thip/user/application/service/UserGetFollowersService.java +++ b/src/main/java/konkuk/thip/user/application/service/following/UserGetFollowersService.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.application.service; +package konkuk.thip.user.application.service.following; import konkuk.thip.user.adapter.in.web.response.UserFollowersResponse; import konkuk.thip.user.application.port.in.UserGetFollowersUsecase; diff --git a/src/main/java/konkuk/thip/vote/adapter/out/jpa/UserVoteJpaEntity.java b/src/main/java/konkuk/thip/vote/adapter/out/jpa/VoteParticipantJpaEntity.java similarity index 77% rename from src/main/java/konkuk/thip/vote/adapter/out/jpa/UserVoteJpaEntity.java rename to src/main/java/konkuk/thip/vote/adapter/out/jpa/VoteParticipantJpaEntity.java index 1b0a2da5d..ae2ade17b 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/jpa/UserVoteJpaEntity.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/jpa/VoteParticipantJpaEntity.java @@ -7,17 +7,17 @@ @Entity -@Table(name = "user_votes") +@Table(name = "vote_participants") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor @Builder -public class UserVoteJpaEntity extends BaseJpaEntity { +public class VoteParticipantJpaEntity extends BaseJpaEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "uservote_id") - private Long userVoteId; + @Column(name = "vote_participant_id") + private Long voteParticipantId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") diff --git a/src/main/java/konkuk/thip/vote/adapter/out/mapper/UserVoteMapper.java b/src/main/java/konkuk/thip/vote/adapter/out/mapper/UserVoteMapper.java deleted file mode 100644 index 4aa9ef763..000000000 --- a/src/main/java/konkuk/thip/vote/adapter/out/mapper/UserVoteMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package konkuk.thip.vote.adapter.out.mapper; - -import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.vote.adapter.out.jpa.UserVoteJpaEntity; -import konkuk.thip.vote.domain.UserVote; -import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; -import org.springframework.stereotype.Component; - -@Component -public class UserVoteMapper { - - public UserVoteJpaEntity toJpaEntity(UserJpaEntity userJpaEntity, VoteItemJpaEntity voteItemJpaEntity) { - return UserVoteJpaEntity.builder() - .userJpaEntity(userJpaEntity) - .voteItemJpaEntity(voteItemJpaEntity) - .build(); - } - - public UserVote toDomainEntity(UserVoteJpaEntity userVoteJpaEntity) { - return UserVote.builder() - .id(userVoteJpaEntity.getUserVoteId()) - .userId(userVoteJpaEntity.getUserJpaEntity().getUserId()) - .voteItemId(userVoteJpaEntity.getVoteItemJpaEntity().getVoteItemId()) - .createdAt(userVoteJpaEntity.getCreatedAt()) - .modifiedAt(userVoteJpaEntity.getModifiedAt()) - .status(userVoteJpaEntity.getStatus()) - .build(); - } -} diff --git a/src/main/java/konkuk/thip/vote/adapter/out/mapper/VoteParticipantMapper.java b/src/main/java/konkuk/thip/vote/adapter/out/mapper/VoteParticipantMapper.java new file mode 100644 index 000000000..fd09218e7 --- /dev/null +++ b/src/main/java/konkuk/thip/vote/adapter/out/mapper/VoteParticipantMapper.java @@ -0,0 +1,28 @@ +package konkuk.thip.vote.adapter.out.mapper; + +import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; +import konkuk.thip.vote.adapter.out.jpa.VoteParticipantJpaEntity; +import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; +import org.springframework.stereotype.Component; + +@Component +public class VoteParticipantMapper { + + public VoteParticipantJpaEntity toJpaEntity(UserJpaEntity userJpaEntity, VoteItemJpaEntity voteItemJpaEntity) { + return VoteParticipantJpaEntity.builder() + .userJpaEntity(userJpaEntity) + .voteItemJpaEntity(voteItemJpaEntity) + .build(); + } + + public konkuk.thip.vote.domain.VoteParticipant toDomainEntity(VoteParticipantJpaEntity voteParticipantJpaEntity) { + return konkuk.thip.vote.domain.VoteParticipant.builder() + .id(voteParticipantJpaEntity.getVoteParticipantId()) + .userId(voteParticipantJpaEntity.getUserJpaEntity().getUserId()) + .voteItemId(voteParticipantJpaEntity.getVoteItemJpaEntity().getVoteItemId()) + .createdAt(voteParticipantJpaEntity.getCreatedAt()) + .modifiedAt(voteParticipantJpaEntity.getModifiedAt()) + .status(voteParticipantJpaEntity.getStatus()) + .build(); + } +} diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/UserVoteJpaRepository.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/UserVoteJpaRepository.java deleted file mode 100644 index a685d1acd..000000000 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/UserVoteJpaRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package konkuk.thip.vote.adapter.out.persistence; - -import konkuk.thip.vote.adapter.out.jpa.UserVoteJpaEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface UserVoteJpaRepository extends JpaRepository { - boolean existsByUserJpaEntity_UserIdAndVoteItemJpaEntity_VoteItemId(Long userId, Long voteItemId); -} diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteCommandPersistenceAdapter.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteCommandPersistenceAdapter.java index 068507e1e..0f9ba1bc7 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteCommandPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteCommandPersistenceAdapter.java @@ -3,13 +3,15 @@ import konkuk.thip.common.exception.EntityNotFoundException; import konkuk.thip.common.exception.InvalidStateException; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; import konkuk.thip.vote.adapter.out.mapper.VoteItemMapper; import konkuk.thip.vote.adapter.out.mapper.VoteMapper; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteItemJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteJpaRepository; import konkuk.thip.vote.application.port.out.VoteCommandPort; import konkuk.thip.vote.domain.Vote; import konkuk.thip.vote.domain.VoteItem; diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryPersistenceAdapter.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryPersistenceAdapter.java index cc29dbb87..0be699b95 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryPersistenceAdapter.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryPersistenceAdapter.java @@ -3,6 +3,8 @@ import konkuk.thip.room.adapter.in.web.response.RoomPlayingDetailViewResponse; import konkuk.thip.room.domain.Room; import konkuk.thip.vote.adapter.out.mapper.VoteMapper; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteParticipantJpaRepository; import konkuk.thip.vote.application.port.out.VoteQueryPort; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; @@ -15,11 +17,11 @@ public class VoteQueryPersistenceAdapter implements VoteQueryPort { private final VoteJpaRepository voteJpaRepository; private final VoteMapper voteMapper; - private final UserVoteJpaRepository userVoteJpaRepository; + private final VoteParticipantJpaRepository voteParticipantJpaRepository; @Override public boolean isUserVoted(Long userId, Long voteItemId) { - return userVoteJpaRepository.existsByUserJpaEntity_UserIdAndVoteItemJpaEntity_VoteItemId(userId, voteItemId); + return voteParticipantJpaRepository.existsByUserJpaEntity_UserIdAndVoteItemJpaEntity_VoteItemId(userId, voteItemId); } @Override diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteItemJpaRepository.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteItemJpaRepository.java similarity index 83% rename from src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteItemJpaRepository.java rename to src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteItemJpaRepository.java index 3c2b86caf..b34e3e2a5 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteItemJpaRepository.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteItemJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.vote.adapter.out.persistence; +package konkuk.thip.vote.adapter.out.persistence.repository; import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteJpaRepository.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteJpaRepository.java similarity index 78% rename from src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteJpaRepository.java rename to src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteJpaRepository.java index ad3c5666c..bc351ec15 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteJpaRepository.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteJpaRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.vote.adapter.out.persistence; +package konkuk.thip.vote.adapter.out.persistence.repository; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteParticipantJpaRepository.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteParticipantJpaRepository.java new file mode 100644 index 000000000..28ed31235 --- /dev/null +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteParticipantJpaRepository.java @@ -0,0 +1,8 @@ +package konkuk.thip.vote.adapter.out.persistence.repository; + +import konkuk.thip.vote.adapter.out.jpa.VoteParticipantJpaEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface VoteParticipantJpaRepository extends JpaRepository { + boolean existsByUserJpaEntity_UserIdAndVoteItemJpaEntity_VoteItemId(Long userId, Long voteItemId); +} diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryRepository.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteQueryRepository.java similarity index 87% rename from src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryRepository.java rename to src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteQueryRepository.java index 736aea3f5..784513e5e 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryRepository.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteQueryRepository.java @@ -1,4 +1,4 @@ -package konkuk.thip.vote.adapter.out.persistence; +package konkuk.thip.vote.adapter.out.persistence.repository; import konkuk.thip.room.adapter.in.web.response.RoomPlayingDetailViewResponse; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; diff --git a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryRepositoryImpl.java b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteQueryRepositoryImpl.java similarity index 98% rename from src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryRepositoryImpl.java rename to src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteQueryRepositoryImpl.java index 98f5b96ef..7b892cf35 100644 --- a/src/main/java/konkuk/thip/vote/adapter/out/persistence/VoteQueryRepositoryImpl.java +++ b/src/main/java/konkuk/thip/vote/adapter/out/persistence/repository/VoteQueryRepositoryImpl.java @@ -1,4 +1,4 @@ -package konkuk.thip.vote.adapter.out.persistence; +package konkuk.thip.vote.adapter.out.persistence.repository; import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; diff --git a/src/main/java/konkuk/thip/vote/domain/UserVote.java b/src/main/java/konkuk/thip/vote/domain/VoteParticipant.java similarity index 81% rename from src/main/java/konkuk/thip/vote/domain/UserVote.java rename to src/main/java/konkuk/thip/vote/domain/VoteParticipant.java index 723a08b00..7fffd182e 100644 --- a/src/main/java/konkuk/thip/vote/domain/UserVote.java +++ b/src/main/java/konkuk/thip/vote/domain/VoteParticipant.java @@ -6,7 +6,7 @@ @Getter @SuperBuilder -public class UserVote extends BaseDomainEntity { +public class VoteParticipant extends BaseDomainEntity { private Long id; diff --git a/src/test/java/konkuk/thip/book/adapter/in/web/BookChangeSavedControllerTest.java b/src/test/java/konkuk/thip/book/adapter/in/web/BookChangeSavedControllerTest.java index 942bb370b..534e55fa2 100644 --- a/src/test/java/konkuk/thip/book/adapter/in/web/BookChangeSavedControllerTest.java +++ b/src/test/java/konkuk/thip/book/adapter/in/web/BookChangeSavedControllerTest.java @@ -3,17 +3,17 @@ import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.book.adapter.in.web.request.PostBookIsSavedRequest; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.exception.code.ErrorCode; import konkuk.thip.common.security.util.JwtUtil; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.saved.adapter.out.jpa.SavedBookJpaEntity; -import konkuk.thip.saved.adapter.out.persistence.SavedBookJpaRepository; +import konkuk.thip.saved.adapter.out.persistence.repository.SavedBookJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/konkuk/thip/book/adapter/in/web/BookDetailSearchControllerTest.java b/src/test/java/konkuk/thip/book/adapter/in/web/BookDetailSearchControllerTest.java index 6709b9e51..2f67b25c8 100644 --- a/src/test/java/konkuk/thip/book/adapter/in/web/BookDetailSearchControllerTest.java +++ b/src/test/java/konkuk/thip/book/adapter/in/web/BookDetailSearchControllerTest.java @@ -1,22 +1,24 @@ package konkuk.thip.book.adapter.in.web; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.book.application.service.BookSearchService; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; import konkuk.thip.common.security.util.JwtUtil; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; import konkuk.thip.user.adapter.out.jpa.*; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import konkuk.thip.feed.adapter.out.jpa.FeedJpaEntity; import konkuk.thip.feed.adapter.out.persistence.FeedJpaRepository; import konkuk.thip.saved.adapter.out.jpa.SavedBookJpaEntity; -import konkuk.thip.saved.adapter.out.persistence.SavedBookJpaRepository; +import konkuk.thip.saved.adapter.out.persistence.repository.SavedBookJpaRepository; import org.junit.jupiter.api.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; @@ -47,7 +49,7 @@ class BookDetailSearchControllerTest { @Autowired private RoomJpaRepository roomJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; @Autowired private FeedJpaRepository feedJpaRepository; @Autowired @@ -98,10 +100,10 @@ void setup() { .categoryJpaEntity(category) .build()); - userRoomJpaRepository.save(UserRoomJpaEntity.builder() + roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() .currentPage(10) .userPercentage(10.0) - .userRoomRole(UserRoomRole.MEMBER) + .roomParticipantRole(RoomParticipantRole.MEMBER) .userJpaEntity(user) .roomJpaEntity(room) .build()); @@ -124,7 +126,7 @@ void setup() { void tearDown() { savedBookJpaRepository.deleteAll(); feedJpaRepository.deleteAll(); - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); userJpaRepository.deleteAll(); @@ -155,7 +157,7 @@ void searchDetailBooks_NoRecruitingRooms_ReturnsZero() { BookJpaEntity book = bookJpaRepository.findAll().get(0); // 기존 방 삭제 - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); // startDate가 과거인 새로운 방 생성 (모집 중 아님) @@ -184,7 +186,7 @@ void searchDetailBooks_NoFeedOrRoomParticipants_ReturnsZero() { UserJpaEntity user = userJpaRepository.findAll().get(0); feedJpaRepository.deleteAll(); - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); var result = bookSearchService.searchDetailBooks(isbn, user.getUserId()); assertThat(result.recruitingReadCount()).isEqualTo(0); diff --git a/src/test/java/konkuk/thip/book/adapter/in/web/BookMostSearchedBooksControllerTest.java b/src/test/java/konkuk/thip/book/adapter/in/web/BookMostSearchedBooksControllerTest.java index cbb4e82fe..7856eb5e1 100644 --- a/src/test/java/konkuk/thip/book/adapter/in/web/BookMostSearchedBooksControllerTest.java +++ b/src/test/java/konkuk/thip/book/adapter/in/web/BookMostSearchedBooksControllerTest.java @@ -7,8 +7,8 @@ import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/konkuk/thip/book/adapter/in/web/BookQueryControllerTest.java b/src/test/java/konkuk/thip/book/adapter/in/web/BookQueryControllerTest.java index 7e3eb636b..d0c2eb0d5 100644 --- a/src/test/java/konkuk/thip/book/adapter/in/web/BookQueryControllerTest.java +++ b/src/test/java/konkuk/thip/book/adapter/in/web/BookQueryControllerTest.java @@ -5,12 +5,12 @@ import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.recentSearch.adapter.out.jpa.RecentSearchJpaEntity; import konkuk.thip.recentSearch.adapter.out.jpa.SearchType; -import konkuk.thip.recentSearch.adapter.out.persistence.RecentSearchJpaRepository; +import konkuk.thip.recentSearch.adapter.out.persistence.repository.RecentSearchJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/konkuk/thip/book/adapter/out/api/NaverApiUtilTest.java b/src/test/java/konkuk/thip/book/adapter/out/api/naver/NaverApiUtilTest.java similarity index 98% rename from src/test/java/konkuk/thip/book/adapter/out/api/NaverApiUtilTest.java rename to src/test/java/konkuk/thip/book/adapter/out/api/naver/NaverApiUtilTest.java index 6b62f1178..99410030f 100644 --- a/src/test/java/konkuk/thip/book/adapter/out/api/NaverApiUtilTest.java +++ b/src/test/java/konkuk/thip/book/adapter/out/api/naver/NaverApiUtilTest.java @@ -1,4 +1,4 @@ -package konkuk.thip.book.adapter.out.api; +package konkuk.thip.book.adapter.out.api.naver; import konkuk.thip.common.exception.BusinessException; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/konkuk/thip/common/util/TestEntityFactory.java b/src/test/java/konkuk/thip/common/util/TestEntityFactory.java index 0e3c7f148..8e93d6ef3 100644 --- a/src/test/java/konkuk/thip/common/util/TestEntityFactory.java +++ b/src/test/java/konkuk/thip/common/util/TestEntityFactory.java @@ -4,6 +4,8 @@ import konkuk.thip.record.adapter.out.jpa.RecordJpaEntity; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; import konkuk.thip.user.adapter.out.jpa.*; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; import konkuk.thip.comment.adapter.out.jpa.CommentJpaEntity; @@ -98,11 +100,11 @@ public static RoomJpaEntity createCustomRoom(BookJpaEntity book, CategoryJpaEnti .build(); } - public static UserRoomJpaEntity createUserRoom(RoomJpaEntity room, UserJpaEntity user, UserRoomRole userRoomRole, double userPercentage) { - return UserRoomJpaEntity.builder() + public static RoomParticipantJpaEntity createUserRoom(RoomJpaEntity room, UserJpaEntity user, RoomParticipantRole roomParticipantRole, double userPercentage) { + return RoomParticipantJpaEntity.builder() .userJpaEntity(user) .roomJpaEntity(room) - .userRoomRole(userRoomRole) + .roomParticipantRole(roomParticipantRole) .currentPage(0) .userPercentage(userPercentage) .build(); diff --git a/src/test/java/konkuk/thip/feed/adapter/out/jpa/FeedJpaEntityTest.java b/src/test/java/konkuk/thip/feed/adapter/out/jpa/FeedJpaEntityTest.java index cd4c013df..cf91a064f 100644 --- a/src/test/java/konkuk/thip/feed/adapter/out/jpa/FeedJpaEntityTest.java +++ b/src/test/java/konkuk/thip/feed/adapter/out/jpa/FeedJpaEntityTest.java @@ -2,13 +2,13 @@ import jakarta.persistence.EntityManager; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.feed.adapter.out.persistence.FeedJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/konkuk/thip/record/adapter/in/web/RecordCreateControllerTest.java b/src/test/java/konkuk/thip/record/adapter/in/web/RecordCreateControllerTest.java index 7538ea3fb..d8c6ab03d 100644 --- a/src/test/java/konkuk/thip/record/adapter/in/web/RecordCreateControllerTest.java +++ b/src/test/java/konkuk/thip/record/adapter/in/web/RecordCreateControllerTest.java @@ -3,19 +3,21 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.record.adapter.in.web.request.RecordCreateRequest; import konkuk.thip.record.adapter.out.jpa.RecordJpaEntity; -import konkuk.thip.record.adapter.out.persistence.RecordJpaRepository; +import konkuk.thip.record.adapter.out.persistence.repository.RecordJpaRepository; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.*; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -67,12 +69,12 @@ class RecordCreateControllerTest { private RecordJpaRepository recordJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; @AfterEach void tearDown() { recordJpaRepository.deleteAll(); - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); categoryJpaRepository.deleteAll(); @@ -92,15 +94,15 @@ private void saveUserAndRoom() { RoomJpaEntity room = roomJpaRepository.save(TestEntityFactory.createRoom(book, category)); //UserRoomJpaEntity 생성 및 저장 - UserRoomJpaEntity userRoom = UserRoomJpaEntity.builder() + RoomParticipantJpaEntity userRoom = RoomParticipantJpaEntity.builder() .currentPage(10) .userPercentage(80.0) - .userRoomRole(UserRoomRole.HOST) + .roomParticipantRole(RoomParticipantRole.HOST) .userJpaEntity(user) .roomJpaEntity(room) .build(); - userRoomJpaRepository.save(userRoom); + roomParticipantJpaRepository.save(userRoom); } @Test diff --git a/src/test/java/konkuk/thip/record/adapter/in/web/RecordQueryControllerTest.java b/src/test/java/konkuk/thip/record/adapter/in/web/RecordQueryControllerTest.java index 43334110e..96a53a5f2 100644 --- a/src/test/java/konkuk/thip/record/adapter/in/web/RecordQueryControllerTest.java +++ b/src/test/java/konkuk/thip/record/adapter/in/web/RecordQueryControllerTest.java @@ -3,24 +3,24 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.DateUtil; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.record.adapter.out.jpa.RecordJpaEntity; -import konkuk.thip.record.adapter.out.persistence.RecordJpaRepository; +import konkuk.thip.record.adapter.out.persistence.repository.RecordJpaRepository; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; -import konkuk.thip.vote.adapter.out.persistence.VoteItemJpaRepository; -import konkuk.thip.vote.adapter.out.persistence.VoteJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteItemJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImplTest.java b/src/test/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImplTest.java index 3ece406e6..7b0bd89a0 100644 --- a/src/test/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImplTest.java +++ b/src/test/java/konkuk/thip/record/adapter/out/persistence/RecordQueryRepositoryImplTest.java @@ -6,6 +6,7 @@ import konkuk.thip.config.TestQuerydslConfig; import konkuk.thip.record.adapter.in.web.response.RecordSearchResponse; import konkuk.thip.record.adapter.out.jpa.RecordJpaEntity; +import konkuk.thip.record.adapter.out.persistence.repository.RecordQueryRepositoryImpl; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomCreateAPITest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomCreateAPITest.java index 452fef6c5..4c60e9ea2 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomCreateAPITest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomCreateAPITest.java @@ -3,17 +3,17 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetHomeJoinedRoomsApiTest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetHomeJoinedRoomsApiTest.java index 388321d4a..11933700c 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetHomeJoinedRoomsApiTest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetHomeJoinedRoomsApiTest.java @@ -1,16 +1,17 @@ package konkuk.thip.room.adapter.in.web; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.*; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -55,7 +56,7 @@ class RoomGetHomeJoinedRoomsApiTest { private RoomJpaRepository roomJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; private RoomJpaEntity room1; private RoomJpaEntity room2; @@ -83,16 +84,16 @@ void setUp() { room2 = roomJpaRepository.save(TestEntityFactory.createRoom(book, category)); // 1번방에 유저 1이 호스트, 유저2가 멤버 - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1,user1,UserRoomRole.HOST, 80.0)); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1,user2,UserRoomRole.MEMBER, 60.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1,user1, RoomParticipantRole.HOST, 80.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1,user2, RoomParticipantRole.MEMBER, 60.0)); // 2번방에 유저 1이 호스트 - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room2,user1,UserRoomRole.HOST,60.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room2,user1, RoomParticipantRole.HOST,60.0)); } @AfterEach void tearDown() { - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); userJpaRepository.deleteAll(); @@ -150,9 +151,9 @@ void getHomeJoinedRooms_sortByStartDateWhenUserPercentageEquals() throws Excepti ); // 모두 동일한 진행률(70%)로 참여 - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1, newUser, UserRoomRole.MEMBER, 70.0)); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room2, newUser, UserRoomRole.MEMBER, 70.0)); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room3, newUser, UserRoomRole.MEMBER, 70.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1, newUser, RoomParticipantRole.MEMBER, 70.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room2, newUser, RoomParticipantRole.MEMBER, 70.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room3, newUser, RoomParticipantRole.MEMBER, 70.0)); Long userId = newUser.getUserId(); @@ -193,8 +194,8 @@ void getHomeJoinedRooms_excludeRecruitingRooms() throws Exception { TestEntityFactory.createCustomRoom(book, category, LocalDate.now().minusDays(1), LocalDate.now().plusDays(2)) ); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(recruitRoom, newUser, UserRoomRole.MEMBER, 20.0)); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(activeRoom, newUser, UserRoomRole.MEMBER, 50.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(recruitRoom, newUser, RoomParticipantRole.MEMBER, 20.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(activeRoom, newUser, RoomParticipantRole.MEMBER, 50.0)); // when diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetMemberListApiTest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetMemberListApiTest.java index 8ef260db4..6ca7eb9f9 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetMemberListApiTest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomGetMemberListApiTest.java @@ -1,19 +1,19 @@ package konkuk.thip.room.adapter.in.web; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.jpa.UserRoomRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.FollowingJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.following.FollowingJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -55,7 +55,7 @@ class RoomGetMemberListApiTest { private RoomJpaRepository roomJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; @Autowired private FollowingJpaRepository followingJpaRepository; @@ -82,9 +82,9 @@ void setUp() { room1 = roomJpaRepository.save(TestEntityFactory.createRoom(book, category)); // 유저1(호스트), 유저2(멤버), 유저3(멤버)로 참여 - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1, user1, UserRoomRole.HOST, 80.0)); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1, user2, UserRoomRole.MEMBER, 60.0)); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1, user3, UserRoomRole.MEMBER, 50.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1, user1, RoomParticipantRole.HOST, 80.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1, user2, RoomParticipantRole.MEMBER, 60.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1, user3, RoomParticipantRole.MEMBER, 50.0)); // 팔로잉 관계 설정 @@ -100,7 +100,7 @@ void setUp() { @AfterEach void tearDown() { followingJpaRepository.deleteAllInBatch(); - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); userJpaRepository.deleteAll(); @@ -176,7 +176,7 @@ void getRoomMemberList_subscriberCount() throws Exception { void getRoomMemberList_noSubscriber() throws Exception { //given UserJpaEntity userNoFollower = userJpaRepository.save(TestEntityFactory.createUser(aliasJpaRepository.findAll().get(0))); - userRoomJpaRepository.save(TestEntityFactory.createUserRoom(room1, userNoFollower, UserRoomRole.MEMBER, 10.0)); + roomParticipantJpaRepository.save(TestEntityFactory.createUserRoom(room1, userNoFollower, RoomParticipantRole.MEMBER, 10.0)); Long roomId = room1.getRoomId(); //when diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomPlayingDetailViewApiTest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomPlayingDetailViewApiTest.java index 9f8128629..2350811c0 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomPlayingDetailViewApiTest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomPlayingDetailViewApiTest.java @@ -1,22 +1,23 @@ package konkuk.thip.room.adapter.in.web; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; -import konkuk.thip.common.exception.InvalidStateException; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.DateUtil; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.*; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; -import konkuk.thip.vote.adapter.out.persistence.VoteItemJpaRepository; -import konkuk.thip.vote.adapter.out.persistence.VoteJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteItemJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -63,7 +64,7 @@ class RoomPlayingDetailViewApiTest { private RoomJpaRepository roomJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; @Autowired private VoteJpaRepository voteJpaRepository; @@ -75,7 +76,7 @@ class RoomPlayingDetailViewApiTest { void tearDown() { voteItemJpaRepository.deleteAll(); voteJpaRepository.deleteAll(); - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); userJpaRepository.deleteAll(); @@ -129,15 +130,15 @@ private void saveUsersToRoom(RoomJpaEntity roomJpaEntity, int count) { List savedUsers = userJpaRepository.saveAll(users); // UserRoom 매핑 리스트 생성 및 저장 - List mappings = savedUsers.stream() - .map(user -> UserRoomJpaEntity.builder() + List mappings = savedUsers.stream() + .map(user -> RoomParticipantJpaEntity.builder() .userJpaEntity(user) .roomJpaEntity(roomJpaEntity) - .userRoomRole(UserRoomRole.MEMBER) + .roomParticipantRole(RoomParticipantRole.MEMBER) .build()) .toList(); - userRoomJpaRepository.saveAll(mappings); + roomParticipantJpaRepository.saveAll(mappings); } private void createVoteToRoom(UserJpaEntity creator, RoomJpaEntity roomJpaEntity, int count) { @@ -172,12 +173,12 @@ void get_playing_room_detail() throws Exception { //given RoomJpaEntity room = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(room, 4); - UserRoomJpaEntity userRoomJpaEntity = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); - userRoomJpaRepository.delete(userRoomJpaEntity); - UserRoomJpaEntity joiningMember = userRoomJpaRepository.save(UserRoomJpaEntity.builder() - .userJpaEntity(userRoomJpaEntity.getUserJpaEntity()) - .roomJpaEntity(userRoomJpaEntity.getRoomJpaEntity()) - .userRoomRole(UserRoomRole.MEMBER) // Member + RoomParticipantJpaEntity roomParticipantJpaEntity = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); + roomParticipantJpaRepository.delete(roomParticipantJpaEntity); + RoomParticipantJpaEntity joiningMember = roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() + .userJpaEntity(roomParticipantJpaEntity.getUserJpaEntity()) + .roomJpaEntity(roomParticipantJpaEntity.getRoomJpaEntity()) + .roomParticipantRole(RoomParticipantRole.MEMBER) // Member .currentPage(50) // 현재 member의 마지막 활동 page .userPercentage(10.6) // 현재 member의 활동 percentage .build()); @@ -220,12 +221,12 @@ void get_playing_room_detail_host() throws Exception { //given RoomJpaEntity room = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(room, 4); - UserRoomJpaEntity userRoomJpaEntity = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); - userRoomJpaRepository.delete(userRoomJpaEntity); - UserRoomJpaEntity roomHost = userRoomJpaRepository.save(UserRoomJpaEntity.builder() - .userJpaEntity(userRoomJpaEntity.getUserJpaEntity()) - .roomJpaEntity(userRoomJpaEntity.getRoomJpaEntity()) - .userRoomRole(UserRoomRole.HOST) // HOST + RoomParticipantJpaEntity roomParticipantJpaEntity = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); + roomParticipantJpaRepository.delete(roomParticipantJpaEntity); + RoomParticipantJpaEntity roomHost = roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() + .userJpaEntity(roomParticipantJpaEntity.getUserJpaEntity()) + .roomJpaEntity(roomParticipantJpaEntity.getRoomJpaEntity()) + .roomParticipantRole(RoomParticipantRole.HOST) // HOST .currentPage(50) // 현재 member의 마지막 활동 page .userPercentage(10.6) // 현재 member의 활동 percentage .build()); @@ -268,12 +269,12 @@ void get_playing_room_detail_not_belong_to_room() throws Exception { //given RoomJpaEntity room = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(room, 4); - UserRoomJpaEntity userRoomJpaEntity = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); - userRoomJpaRepository.delete(userRoomJpaEntity); - UserRoomJpaEntity joiningMember = userRoomJpaRepository.save(UserRoomJpaEntity.builder() - .userJpaEntity(userRoomJpaEntity.getUserJpaEntity()) - .roomJpaEntity(userRoomJpaEntity.getRoomJpaEntity()) - .userRoomRole(UserRoomRole.MEMBER) // Member + RoomParticipantJpaEntity roomParticipantJpaEntity = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); + roomParticipantJpaRepository.delete(roomParticipantJpaEntity); + RoomParticipantJpaEntity joiningMember = roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() + .userJpaEntity(roomParticipantJpaEntity.getUserJpaEntity()) + .roomJpaEntity(roomParticipantJpaEntity.getRoomJpaEntity()) + .roomParticipantRole(RoomParticipantRole.MEMBER) // Member .currentPage(50) // 현재 member의 마지막 활동 page .userPercentage(10.6) // 현재 member의 활동 percentage .build()); @@ -294,12 +295,12 @@ void get_playing_room_detail_too_many_votes() throws Exception { //given RoomJpaEntity room = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(room, 4); - UserRoomJpaEntity userRoomJpaEntity = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); - userRoomJpaRepository.delete(userRoomJpaEntity); - UserRoomJpaEntity joiningMember = userRoomJpaRepository.save(UserRoomJpaEntity.builder() - .userJpaEntity(userRoomJpaEntity.getUserJpaEntity()) - .roomJpaEntity(userRoomJpaEntity.getRoomJpaEntity()) - .userRoomRole(UserRoomRole.MEMBER) // Member + RoomParticipantJpaEntity roomParticipantJpaEntity = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); + roomParticipantJpaRepository.delete(roomParticipantJpaEntity); + RoomParticipantJpaEntity joiningMember = roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() + .userJpaEntity(roomParticipantJpaEntity.getUserJpaEntity()) + .roomJpaEntity(roomParticipantJpaEntity.getRoomJpaEntity()) + .roomParticipantRole(RoomParticipantRole.MEMBER) // Member .currentPage(50) // 현재 member의 마지막 활동 page .userPercentage(10.6) // 현재 member의 활동 percentage .build()); @@ -346,12 +347,12 @@ void get_playing_room_detail_no_votes() throws Exception { //given RoomJpaEntity room = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(room, 4); - UserRoomJpaEntity userRoomJpaEntity = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); - userRoomJpaRepository.delete(userRoomJpaEntity); - UserRoomJpaEntity joiningMember = userRoomJpaRepository.save(UserRoomJpaEntity.builder() - .userJpaEntity(userRoomJpaEntity.getUserJpaEntity()) - .roomJpaEntity(userRoomJpaEntity.getRoomJpaEntity()) - .userRoomRole(UserRoomRole.MEMBER) // Member + RoomParticipantJpaEntity roomParticipantJpaEntity = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(room.getRoomId()).get(0); + roomParticipantJpaRepository.delete(roomParticipantJpaEntity); + RoomParticipantJpaEntity joiningMember = roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() + .userJpaEntity(roomParticipantJpaEntity.getUserJpaEntity()) + .roomJpaEntity(roomParticipantJpaEntity.getRoomJpaEntity()) + .roomParticipantRole(RoomParticipantRole.MEMBER) // Member .currentPage(50) // 현재 member의 마지막 활동 page .userPercentage(10.6) // 현재 member의 활동 percentage .build()); diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomRecruitingDetailViewApiTest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomRecruitingDetailViewApiTest.java index 55b0d2a9d..0dd68a4c2 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomRecruitingDetailViewApiTest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomRecruitingDetailViewApiTest.java @@ -1,17 +1,19 @@ package konkuk.thip.room.adapter.in.web; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.DateUtil; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.*; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -57,11 +59,11 @@ class RoomRecruitingDetailViewApiTest { private RoomJpaRepository roomJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; @AfterEach void tearDown() { - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); userJpaRepository.deleteAll(); @@ -144,15 +146,15 @@ private void saveUsersToRoom(RoomJpaEntity roomJpaEntity, int count) { List savedUsers = userJpaRepository.saveAll(users); // UserRoom 매핑 리스트 생성 및 저장 - List mappings = savedUsers.stream() - .map(user -> UserRoomJpaEntity.builder() + List mappings = savedUsers.stream() + .map(user -> RoomParticipantJpaEntity.builder() .userJpaEntity(user) .roomJpaEntity(roomJpaEntity) - .userRoomRole(UserRoomRole.MEMBER) + .roomParticipantRole(RoomParticipantRole.MEMBER) .build()) .toList(); - userRoomJpaRepository.saveAll(mappings); + roomParticipantJpaRepository.saveAll(mappings); } @Test @@ -161,7 +163,7 @@ void get_recruiting_room_detail() throws Exception { //given RoomJpaEntity targetRoom = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(targetRoom, 4); - UserJpaEntity joiningUser = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1).getUserJpaEntity(); + UserJpaEntity joiningUser = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1).getUserJpaEntity(); RoomJpaEntity science_room_2 = saveScienceRoom("과학-책", "isbn2", "방이름입니다", LocalDate.now().plusDays(1), 10); saveUsersToRoom(science_room_2, 5); @@ -209,12 +211,12 @@ void get_recruiting_room_detail_host() throws Exception { //given RoomJpaEntity targetRoom = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(targetRoom, 4); - UserRoomJpaEntity firstMember = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1); - userRoomJpaRepository.delete(firstMember); - UserRoomJpaEntity roomCreator = userRoomJpaRepository.save(UserRoomJpaEntity.builder() + RoomParticipantJpaEntity firstMember = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1); + roomParticipantJpaRepository.delete(firstMember); + RoomParticipantJpaEntity roomCreator = roomParticipantJpaRepository.save(RoomParticipantJpaEntity.builder() .userJpaEntity(firstMember.getUserJpaEntity()) .roomJpaEntity(firstMember.getRoomJpaEntity()) - .userRoomRole(UserRoomRole.HOST) + .roomParticipantRole(RoomParticipantRole.HOST) .build()); // firstMember 을 MEMBER -> HOST 로 수정 RoomJpaEntity science_room_2 = saveScienceRoom("과학-책", "isbn2", "방이름입니다", LocalDate.now().plusDays(1), 10); @@ -262,7 +264,7 @@ void get_recruiting_room_detail_too_many_recommend_rooms() throws Exception { //given RoomJpaEntity targetRoom = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(targetRoom, 4); - UserJpaEntity joiningUser = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1).getUserJpaEntity(); + UserJpaEntity joiningUser = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1).getUserJpaEntity(); RoomJpaEntity science_room_2 = saveScienceRoom("과학-책", "isbn2", "방이름입니다", LocalDate.now().plusDays(1), 10); saveUsersToRoom(science_room_2, 5); @@ -314,7 +316,7 @@ void get_recruiting_room_detail_no_recommend_rooms() throws Exception { //given RoomJpaEntity targetRoom = saveScienceRoom("과학-책", "isbn1", "과학-방-1일뒤-활동시작", LocalDate.now().plusDays(1), 10); saveUsersToRoom(targetRoom, 4); - UserJpaEntity joiningUser = userRoomJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1).getUserJpaEntity(); + UserJpaEntity joiningUser = roomParticipantJpaRepository.findAllByRoomJpaEntity_RoomId(targetRoom.getRoomId()).get(1).getUserJpaEntity(); RoomJpaEntity room_3 = saveLiteratureRoom("문학-책", "isbn5", "방제목에-과학-포함된-문학방", LocalDate.now().plusDays(10), 8); saveUsersToRoom(room_3, 6); diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomSearchApiTest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomSearchApiTest.java index da46a3141..d245ffb77 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomSearchApiTest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomSearchApiTest.java @@ -1,16 +1,18 @@ package konkuk.thip.room.adapter.in.web; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantJpaEntity; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.*; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserRoomJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomParticipantJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -56,11 +58,11 @@ class RoomSearchApiTest { private RoomJpaRepository roomJpaRepository; @Autowired - private UserRoomJpaRepository userRoomJpaRepository; + private RoomParticipantJpaRepository roomParticipantJpaRepository; @AfterEach void tearDown() { - userRoomJpaRepository.deleteAll(); + roomParticipantJpaRepository.deleteAll(); roomJpaRepository.deleteAll(); bookJpaRepository.deleteAll(); userJpaRepository.deleteAll(); @@ -143,15 +145,15 @@ private void saveUsersToRoom(RoomJpaEntity roomJpaEntity, int count) { List savedUsers = userJpaRepository.saveAll(users); // UserRoom 매핑 리스트 생성 및 저장 - List mappings = savedUsers.stream() - .map(user -> UserRoomJpaEntity.builder() + List mappings = savedUsers.stream() + .map(user -> RoomParticipantJpaEntity.builder() .userJpaEntity(user) .roomJpaEntity(roomJpaEntity) - .userRoomRole(UserRoomRole.MEMBER) + .roomParticipantRole(RoomParticipantRole.MEMBER) .build()) .toList(); - userRoomJpaRepository.saveAll(mappings); + roomParticipantJpaRepository.saveAll(mappings); } @Test diff --git a/src/test/java/konkuk/thip/room/adapter/in/web/RoomVerifyPasswordAPITest.java b/src/test/java/konkuk/thip/room/adapter/in/web/RoomVerifyPasswordAPITest.java index 31cfe0e7c..2feb00ef4 100644 --- a/src/test/java/konkuk/thip/room/adapter/in/web/RoomVerifyPasswordAPITest.java +++ b/src/test/java/konkuk/thip/room/adapter/in/web/RoomVerifyPasswordAPITest.java @@ -2,18 +2,18 @@ import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.in.web.request.RoomVerifyPasswordRequest; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/konkuk/thip/room/adapter/out/jpa/RecordJpaEntityTest.java b/src/test/java/konkuk/thip/room/adapter/out/jpa/RecordJpaEntityTest.java index d75ae8316..b612bb33e 100644 --- a/src/test/java/konkuk/thip/room/adapter/out/jpa/RecordJpaEntityTest.java +++ b/src/test/java/konkuk/thip/room/adapter/out/jpa/RecordJpaEntityTest.java @@ -2,16 +2,16 @@ import jakarta.persistence.EntityManager; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.record.adapter.out.jpa.RecordJpaEntity; -import konkuk.thip.record.adapter.out.persistence.RecordJpaRepository; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.record.adapter.out.persistence.repository.RecordJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntityTest.java b/src/test/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntityTest.java index 2e10d9e74..f2fe82941 100644 --- a/src/test/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntityTest.java +++ b/src/test/java/konkuk/thip/room/adapter/out/jpa/RoomJpaEntityTest.java @@ -4,11 +4,11 @@ import jakarta.persistence.PersistenceContext; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; import konkuk.thip.common.util.TestEntityFactory; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/konkuk/thip/room/adapter/out/jpa/VoteJpaEntityTest.java b/src/test/java/konkuk/thip/room/adapter/out/jpa/VoteJpaEntityTest.java index e5cf1d357..a3a25d647 100644 --- a/src/test/java/konkuk/thip/room/adapter/out/jpa/VoteJpaEntityTest.java +++ b/src/test/java/konkuk/thip/room/adapter/out/jpa/VoteJpaEntityTest.java @@ -2,16 +2,16 @@ import jakarta.persistence.EntityManager; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.common.util.TestEntityFactory; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; -import konkuk.thip.vote.adapter.out.persistence.VoteJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteJpaRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/konkuk/thip/user/domain/UserRoomTest.java b/src/test/java/konkuk/thip/room/domain/RoomParticipantTest.java similarity index 62% rename from src/test/java/konkuk/thip/user/domain/UserRoomTest.java rename to src/test/java/konkuk/thip/room/domain/RoomParticipantTest.java index 517e4a8d1..7fb63e091 100644 --- a/src/test/java/konkuk/thip/user/domain/UserRoomTest.java +++ b/src/test/java/konkuk/thip/room/domain/RoomParticipantTest.java @@ -1,4 +1,4 @@ -package konkuk.thip.user.domain; +package konkuk.thip.room.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -6,18 +6,18 @@ import static org.assertj.core.api.Assertions.assertThat; @DisplayName("[단위] UserRoom 도메인 테스트") -class UserRoomTest { +class RoomParticipantTest { @Test @DisplayName("canWriteOverview: 사용자 퍼센트가 80 이상일 때, true를 반환한다.") void can_writeOverview() { //given - UserRoom userRoom = UserRoom.builder() + RoomParticipant roomParticipant = RoomParticipant.builder() .userPercentage(80.0) .build(); //when - boolean canWrite = userRoom.canWriteOverview(); + boolean canWrite = roomParticipant.canWriteOverview(); //then assertThat(canWrite).isTrue(); @@ -27,12 +27,12 @@ void can_writeOverview() { @DisplayName("canWriteOverview: 사용자 퍼센트가 80 미만일 때, false를 반환한다.") void cannot_writeOverview() { //given - UserRoom userRoom = UserRoom.builder() + RoomParticipant roomParticipant = RoomParticipant.builder() .userPercentage(79.9) .build(); //when - boolean canWrite = userRoom.canWriteOverview(); + boolean canWrite = roomParticipant.canWriteOverview(); //then assertThat(canWrite).isFalse(); @@ -42,7 +42,7 @@ void cannot_writeOverview() { @DisplayName("updateUserProgress: 요청 페이지가 현재 페이지보다 클 때, 현재 페이지와 사용자 퍼센트가 업데이트된다.") void update_userProgress_success() throws Exception { //given - UserRoom userRoom = UserRoom.builder() + RoomParticipant roomParticipant = RoomParticipant.builder() .currentPage(1) .userPercentage(5.0) .userId(1L) @@ -51,20 +51,20 @@ void update_userProgress_success() throws Exception { //when int totalPageCount = 20; - boolean isUpdated = userRoom.updateUserProgress(5, totalPageCount); + boolean isUpdated = roomParticipant.updateUserProgress(5, totalPageCount); //then assertThat(isUpdated).isTrue(); - assertThat(userRoom.getCurrentPage()).isEqualTo(5); - double ratio = (double) userRoom.getCurrentPage() / totalPageCount; - assertThat(userRoom.getUserPercentage()).isEqualTo(ratio * 100); + assertThat(roomParticipant.getCurrentPage()).isEqualTo(5); + double ratio = (double) roomParticipant.getCurrentPage() / totalPageCount; + assertThat(roomParticipant.getUserPercentage()).isEqualTo(ratio * 100); } @Test @DisplayName("updateUserProgress: 요청 페이지가 현재 페이지보다 작을 때, 현재 페이지와 사용자 퍼센트가 업데이트되지 않는다.") void update_userProgress_when_request_isLower_than_bookPage() throws Exception { //given - UserRoom userRoom = UserRoom.builder() + RoomParticipant roomParticipant = RoomParticipant.builder() .currentPage(5) .userPercentage(25.0) .userId(1L) @@ -73,12 +73,12 @@ void update_userProgress_when_request_isLower_than_bookPage() throws Exception { //when int totalPageCount = 20; - boolean isUpdated = userRoom.updateUserProgress(3, totalPageCount); + boolean isUpdated = roomParticipant.updateUserProgress(3, totalPageCount); //then assertThat(isUpdated).isFalse(); - assertThat(userRoom.getCurrentPage()).isEqualTo(5); - double ratio = (double) userRoom.getCurrentPage() / totalPageCount; - assertThat(userRoom.getUserPercentage()).isEqualTo(ratio * 100); + assertThat(roomParticipant.getCurrentPage()).isEqualTo(5); + double ratio = (double) roomParticipant.getCurrentPage() / totalPageCount; + assertThat(roomParticipant.getUserPercentage()).isEqualTo(ratio * 100); } } \ No newline at end of file diff --git a/src/test/java/konkuk/thip/user/domain/RoomParticipantsTest.java b/src/test/java/konkuk/thip/room/domain/RoomParticipantsTest.java similarity index 75% rename from src/test/java/konkuk/thip/user/domain/RoomParticipantsTest.java rename to src/test/java/konkuk/thip/room/domain/RoomParticipantsTest.java index 8b5fbd89a..135d48a3f 100644 --- a/src/test/java/konkuk/thip/user/domain/RoomParticipantsTest.java +++ b/src/test/java/konkuk/thip/room/domain/RoomParticipantsTest.java @@ -1,7 +1,7 @@ -package konkuk.thip.user.domain; +package konkuk.thip.room.domain; import konkuk.thip.common.exception.InvalidStateException; -import konkuk.thip.user.adapter.out.jpa.UserRoomRole; +import konkuk.thip.room.adapter.out.jpa.RoomParticipantRole; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -11,12 +11,12 @@ class RoomParticipantsTest { - private UserRoom createUserRoom(Long id, Long userId, Long roomId, UserRoomRole role) { - return UserRoom.builder() + private RoomParticipant createUserRoom(Long id, Long userId, Long roomId, RoomParticipantRole role) { + return RoomParticipant.builder() .id(id) .currentPage(0) .userPercentage(0.0) - .userRoomRole(role.getType()) + .roomParticipantRole(role.getType()) .userId(userId) .roomId(roomId) .build(); @@ -26,8 +26,8 @@ private UserRoom createUserRoom(Long id, Long userId, Long roomId, UserRoomRole @DisplayName("해당 모임방에 속한 유저의 수를 반환한다.") void calculate_member_count_test() { //given - UserRoom ur1 = createUserRoom(1L, 100L, 10L, UserRoomRole.MEMBER); - UserRoom ur2 = createUserRoom(2L, 200L, 10L, UserRoomRole.HOST); + RoomParticipant ur1 = createUserRoom(1L, 100L, 10L, RoomParticipantRole.MEMBER); + RoomParticipant ur2 = createUserRoom(2L, 200L, 10L, RoomParticipantRole.HOST); RoomParticipants participants = RoomParticipants.from(List.of(ur1, ur2)); //when @@ -41,7 +41,7 @@ void calculate_member_count_test() { @DisplayName("유저가 현재 모임방에 속하면 true, 속하지 않으면 false를 반환한다.") void is_joining_to_room_test() { //given - UserRoom ur = createUserRoom(1L, 123L, 10L, UserRoomRole.MEMBER); + RoomParticipant ur = createUserRoom(1L, 123L, 10L, RoomParticipantRole.MEMBER); RoomParticipants participants = RoomParticipants.from(List.of(ur)); //when //then @@ -53,8 +53,8 @@ void is_joining_to_room_test() { @DisplayName("유저가 현재 모임방의 HOST이면 true, 아니면 false를 반환한다.") void is_host_of_room_test() { //given - UserRoom member = createUserRoom(1L, 1L, 5L, UserRoomRole.MEMBER); - UserRoom host = createUserRoom(2L, 2L, 5L, UserRoomRole.HOST); + RoomParticipant member = createUserRoom(1L, 1L, 5L, RoomParticipantRole.MEMBER); + RoomParticipant host = createUserRoom(2L, 2L, 5L, RoomParticipantRole.HOST); RoomParticipants participants = RoomParticipants.from(List.of(member, host)); //when //then @@ -67,7 +67,7 @@ void is_host_of_room_test() { @DisplayName("유저가 현재 모임방에서 마지막으로 활동한 페이지(= currentPage) 를 반환한다.") void get_current_page_of_user_test() { //given - UserRoom ur = createUserRoom(1L, 123L, 10L, UserRoomRole.MEMBER); + RoomParticipant ur = createUserRoom(1L, 123L, 10L, RoomParticipantRole.MEMBER); RoomParticipants participants = RoomParticipants.from(List.of(ur)); //when @@ -81,7 +81,7 @@ void get_current_page_of_user_test() { @DisplayName("현재 모임방에 속하지 않는 유저가 getCurrentPageOfUser 메서드를 호출하면, InvalidStateException이 발생한다.") void get_current_page_of_user_not_belong_test() { //given - UserRoom ur = createUserRoom(1L, 123L, 10L, UserRoomRole.MEMBER); + RoomParticipant ur = createUserRoom(1L, 123L, 10L, RoomParticipantRole.MEMBER); RoomParticipants participants = RoomParticipants.from(List.of(ur)); //when & then @@ -92,7 +92,7 @@ void get_current_page_of_user_not_belong_test() { @DisplayName("유저가 현재 모임방에서 활동한 percentage(= userPercentage) 를 반환한다.") void get_user_percentage_of_user_test() { //given - UserRoom ur = createUserRoom(1L, 123L, 10L, UserRoomRole.MEMBER); + RoomParticipant ur = createUserRoom(1L, 123L, 10L, RoomParticipantRole.MEMBER); RoomParticipants participants = RoomParticipants.from(List.of(ur)); //when @@ -106,7 +106,7 @@ void get_user_percentage_of_user_test() { @DisplayName("현재 모임방에 속하지 않는 유저가 getUserPercentageOfUser 메서드를 호출하면, InvalidStateException이 발생한다.") void get_user_percentage_of_user_not_belong_test() { //given - UserRoom ur = createUserRoom(1L, 123L, 10L, UserRoomRole.MEMBER); + RoomParticipant ur = createUserRoom(1L, 123L, 10L, RoomParticipantRole.MEMBER); RoomParticipants participants = RoomParticipants.from(List.of(ur)); //when & then diff --git a/src/test/java/konkuk/thip/user/adapter/in/web/UserFollowApiTest.java b/src/test/java/konkuk/thip/user/adapter/in/web/UserFollowApiTest.java index 3ceb2109f..3bf5ef372 100644 --- a/src/test/java/konkuk/thip/user/adapter/in/web/UserFollowApiTest.java +++ b/src/test/java/konkuk/thip/user/adapter/in/web/UserFollowApiTest.java @@ -6,9 +6,9 @@ import konkuk.thip.user.adapter.out.jpa.FollowingJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.FollowingJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.following.FollowingJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/konkuk/thip/user/adapter/in/web/UserGetFollowersApiTest.java b/src/test/java/konkuk/thip/user/adapter/in/web/UserGetFollowersApiTest.java index f86256090..54a40820a 100644 --- a/src/test/java/konkuk/thip/user/adapter/in/web/UserGetFollowersApiTest.java +++ b/src/test/java/konkuk/thip/user/adapter/in/web/UserGetFollowersApiTest.java @@ -4,9 +4,9 @@ import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.FollowingJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.following.FollowingJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -30,7 +30,7 @@ @ActiveProfiles("test") @AutoConfigureMockMvc(addFilters = false) @DisplayName("[통합] 팔로워 조회 API 통합 테스트") -class UserFollowersApiTest { +class UserGetFollowersApiTest { @Autowired private MockMvc mockMvc; diff --git a/src/test/java/konkuk/thip/user/adapter/in/web/UserSignupControllerTest.java b/src/test/java/konkuk/thip/user/adapter/in/web/UserSignupControllerTest.java index ecf1d2172..61e839dea 100644 --- a/src/test/java/konkuk/thip/user/adapter/in/web/UserSignupControllerTest.java +++ b/src/test/java/konkuk/thip/user/adapter/in/web/UserSignupControllerTest.java @@ -7,8 +7,8 @@ import konkuk.thip.user.adapter.in.web.request.UserSignupRequest; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/konkuk/thip/user/adapter/in/web/UserVerifyNicknameControllerTest.java b/src/test/java/konkuk/thip/user/adapter/in/web/UserVerifyNicknameControllerTest.java index fe36a4bd5..72c5814fd 100644 --- a/src/test/java/konkuk/thip/user/adapter/in/web/UserVerifyNicknameControllerTest.java +++ b/src/test/java/konkuk/thip/user/adapter/in/web/UserVerifyNicknameControllerTest.java @@ -6,8 +6,8 @@ import konkuk.thip.user.adapter.in.web.request.UserVerifyNicknameRequest; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/konkuk/thip/user/adapter/in/web/UserViewAliasChoiceControllerTest.java b/src/test/java/konkuk/thip/user/adapter/in/web/UserViewAliasChoiceControllerTest.java index ee5c153b3..19fcbc3ce 100644 --- a/src/test/java/konkuk/thip/user/adapter/in/web/UserViewAliasChoiceControllerTest.java +++ b/src/test/java/konkuk/thip/user/adapter/in/web/UserViewAliasChoiceControllerTest.java @@ -4,10 +4,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.common.util.TestEntityFactory; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; import konkuk.thip.user.adapter.in.web.response.UserViewAliasChoiceResponse; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/konkuk/thip/user/adapter/out/jpa/UserJpaEntityTest.java b/src/test/java/konkuk/thip/user/adapter/out/jpa/UserJpaEntityTest.java index c316f8de8..859f70d76 100644 --- a/src/test/java/konkuk/thip/user/adapter/out/jpa/UserJpaEntityTest.java +++ b/src/test/java/konkuk/thip/user/adapter/out/jpa/UserJpaEntityTest.java @@ -3,8 +3,8 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import konkuk.thip.common.util.TestEntityFactory; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/konkuk/thip/user/application/service/UserFollowServiceTest.java b/src/test/java/konkuk/thip/user/application/service/UserFollowServiceTest.java index edc38c0e3..211c93fca 100644 --- a/src/test/java/konkuk/thip/user/application/service/UserFollowServiceTest.java +++ b/src/test/java/konkuk/thip/user/application/service/UserFollowServiceTest.java @@ -3,6 +3,7 @@ import konkuk.thip.common.exception.InvalidStateException; import konkuk.thip.user.application.port.in.dto.UserFollowCommand; import konkuk.thip.user.application.port.out.FollowingCommandPort; +import konkuk.thip.user.application.service.following.UserFollowService; import konkuk.thip.user.domain.Following; import konkuk.thip.common.entity.StatusType; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/konkuk/thip/vote/adapter/in/web/VoteCreateControllerTest.java b/src/test/java/konkuk/thip/vote/adapter/in/web/VoteCreateControllerTest.java index 7d6f14167..684929776 100644 --- a/src/test/java/konkuk/thip/vote/adapter/in/web/VoteCreateControllerTest.java +++ b/src/test/java/konkuk/thip/vote/adapter/in/web/VoteCreateControllerTest.java @@ -3,21 +3,21 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import konkuk.thip.book.adapter.out.jpa.BookJpaEntity; -import konkuk.thip.book.adapter.out.persistence.BookJpaRepository; +import konkuk.thip.book.adapter.out.persistence.repository.BookJpaRepository; import konkuk.thip.room.adapter.out.jpa.CategoryJpaEntity; import konkuk.thip.room.adapter.out.jpa.RoomJpaEntity; -import konkuk.thip.room.adapter.out.persistence.CategoryJpaRepository; -import konkuk.thip.room.adapter.out.persistence.RoomJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.CategoryJpaRepository; +import konkuk.thip.room.adapter.out.persistence.repository.RoomJpaRepository; import konkuk.thip.user.adapter.out.jpa.AliasJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserJpaEntity; import konkuk.thip.user.adapter.out.jpa.UserRole; -import konkuk.thip.user.adapter.out.persistence.AliasJpaRepository; -import konkuk.thip.user.adapter.out.persistence.UserJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.AliasJpaRepository; +import konkuk.thip.user.adapter.out.persistence.repository.UserJpaRepository; import konkuk.thip.vote.adapter.in.web.request.VoteCreateRequest; import konkuk.thip.vote.adapter.out.jpa.VoteItemJpaEntity; import konkuk.thip.vote.adapter.out.jpa.VoteJpaEntity; -import konkuk.thip.vote.adapter.out.persistence.VoteItemJpaRepository; -import konkuk.thip.vote.adapter.out.persistence.VoteJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteItemJpaRepository; +import konkuk.thip.vote.adapter.out.persistence.repository.VoteJpaRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test;