diff --git "a/.github/workflows/\bdeploy.yml" "b/.github/workflows/\bdeploy.yml" index 4be313b1..55f2b99a 100644 --- "a/.github/workflows/\bdeploy.yml" +++ "b/.github/workflows/\bdeploy.yml" @@ -14,10 +14,8 @@ jobs: runs-on: ubuntu-latest steps: - - name: 리포지토리를 가져옵니다 - uses: actions/checkout@v2 - with: - fetch-depth: 2 + - name: Checkout Repository + uses: actions/checkout@v2 - name: JDK 17을 설치합니다 uses: actions/setup-java@v4 @@ -34,42 +32,8 @@ jobs: - name: Gradle 명령 실행을 위한 권한을 부여합니다 run: chmod +x gradlew - - name: 변경된 모듈을 체크한다. - id: check_changes - run: | - git fetch origin main - if git diff --name-only origin/main...HEAD | grep -q "^domain/"; then - echo "domain 모듈이 변경되었습니다." - echo "::set-output name=changes::domain_changed" - elif git diff --name-only origin/main...HEAD | grep -q "^app-api/"; then - echo "api 모듈이 변경되었습니다." - echo "::set-output name=changes::api_changed" - elif git diff --name-only origin/main...HEAD | grep -q "^app-scheduler/"; then - echo "scheduler 모듈이 변경되었습니다." - echo "::set-output name=changes::scheduler_changed" - else - echo "모듈에 변경사항이 없습니다." - fi - - - name: 변경된 모듈을 build한다. - run: | - case "${{ steps.check_changes.outputs.changes }}" in - domain_changed) - echo "전체 모듈을 빌드합니다." - ./gradlew build --parallel - ;; - api_changed) - echo "api 모듈을 빌드합니다." - ./gradlew :app-api:build - ;; - scheduler_changed) - echo "scheduler 모듈을 빌드합니다." - ./gradlew :app-scheduler:build - ;; - *) - echo "모듈에 변경 사항이 없습니다." - ;; - esac + - name: Gradle build를 수행합니다 + run: ./gradlew build - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 @@ -82,26 +46,11 @@ jobs: - name: 도커 이미지 build 후 push uses: docker/build-push-action@v2 - if: | - steps.check_changes.outputs.changes == 'domain_changed' || - steps.check_changes.outputs.changes == 'api_changed' with: context: . - file: app-api/Dockerfile + file: Dockerfile push: true - tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.API_IMAGE }}:${{ github.sha }} - platforms: linux/amd64 - - - name: 도커 이미지 build 후 push - uses: docker/build-push-action@v2 - if: | - steps.check_changes.outputs.changes == 'domain_changed' || - steps.check_changes.outputs.changes == 'scheduler_changed' - with: - context: . - file: app-scheduler/Dockerfile - push: true - tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.SCHEDULER_IMAGE }}:${{ github.sha }} + tags: ${{ secrets.DOCKERHUB_USERNAME }}/pct-backend:${{ github.sha }} platforms: linux/amd64 deploy-to-ec2: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1ebc7ad..6a0656ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,9 +16,7 @@ jobs: steps: - name: 리포지토리를 가져옵니다 - uses: actions/checkout@v2 - with: - fetch-depth: 2 + uses: actions/checkout@v4 - name: JDK 17을 설치합니다 uses: actions/setup-java@v4 @@ -35,55 +33,19 @@ jobs: - name: Gradle 명령 실행을 위한 권한을 부여합니다 run: chmod +x gradlew - - name: 변경된 모듈을 체크한다. - id: check_changes - run: | - git fetch origin main - if git diff --name-only origin/main...HEAD | grep -q "^domain/"; then - echo "domain 모듈이 변경되었습니다." - echo "::set-output name=changes::domain_changed" - elif git diff --name-only origin/main...HEAD | grep -q "^app-api/"; then - echo "api 모듈이 변경되었습니다." - echo "::set-output name=changes::api_changed" - elif git diff --name-only origin/main...HEAD | grep -q "^app-scheduler/"; then - echo "scheduler 모듈이 변경되었습니다." - echo "::set-output name=changes::scheduler_changed" - else - echo "모듈에 변경사항이 없습니다." - fi - - - name: 변경된 모듈을 테스트한다. - run: | - case "${{ steps.check_changes.outputs.changes }}" in - domain_changed) - echo "도메인 모듈 및 하위 모듈을 테스트합니다." - ./gradlew test --parallel - ;; - api_changed) - echo "api 모듈을 테스트합니다." - ./gradlew :app-api:test -i - ;; - scheduler_changed) - echo "scheduler 모듈을 테스트합니다." - ./gradlew :app-scheduler:test -i - ;; - *) - echo "모듈에 변경 사항이 없습니다." - ;; - esac - echo "테스트 결과를 하나의 디렉토리에 복사합니다." - ./gradlew collectTestResults + - name: 테스트 수행 + run: ./gradlew test -i - name: 테스트 결과를 PR에 코멘트로 등록합니다 uses: EnricoMi/publish-unit-test-result-action@v2 if: github.event_name == 'pull_request' with: - files: '**/build/allTestResults/TEST-*.xml' + files: '**/build/test-results/test/TEST-*.xml' - name: 테스트 실패 시, 실패한 코드 라인에 Check 코멘트를 등록합니다 uses: mikepenz/action-junit-report@v3 with: - report_paths: '**/build/allTestResults/TEST-*.xml' + report_paths: '**/build/test-results/test/TEST-*.xml' token: ${{ github.token }} - name: build 실패 시 Slack으로 알립니다 diff --git a/app-api/Dockerfile b/Dockerfile similarity index 55% rename from app-api/Dockerfile rename to Dockerfile index 90cb346d..de65fcf8 100644 --- a/app-api/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM amazoncorretto:17-alpine -COPY build/libs/app-api-0.0.1-SNAPSHOT.jar app.jar +COPY build/libs/parking-0.0.1-SNAPSHOT.jar app.jar CMD ["java", "-jar", "app.jar"] diff --git a/app-api/.gitignore b/app-api/.gitignore deleted file mode 100644 index b63da455..00000000 --- a/app-api/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/app-api/build.gradle b/app-api/build.gradle deleted file mode 100644 index f20cea52..00000000 --- a/app-api/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -dependencies { - implementation project(':domain') - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' - - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' - implementation group: 'org.hibernate.orm', name: 'hibernate-spatial', version: '6.3.1.Final' - - // 메일 - implementation 'org.springframework.boot:spring-boot-starter-mail' - - // redis - implementation 'org.springframework.boot:spring-boot-starter-data-redis' - - // testcontainer - testImplementation "org.testcontainers:testcontainers:1.19.6" - testImplementation "org.testcontainers:junit-jupiter:1.19.6" - testImplementation "com.redis:testcontainers-redis:2.2.0" - testImplementation "org.testcontainers:mysql:1.19.6" - - testImplementation(testFixtures(project(":domain"))) -} diff --git a/app-api/src/main/java/com/parkingcomestrue/ApiApplication.java b/app-api/src/main/java/com/parkingcomestrue/ApiApplication.java deleted file mode 100644 index 07d7198c..00000000 --- a/app-api/src/main/java/com/parkingcomestrue/ApiApplication.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.parkingcomestrue; - -import jakarta.annotation.PostConstruct; -import java.util.TimeZone; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; - -@EnableScheduling -@SpringBootApplication -public class ApiApplication { - - @PostConstruct - public void started() { - TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul")); - } - - public static void main(String[] args) { - SpringApplication.run(ApiApplication.class, args); - } -} diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/support/exception/ClientException.java b/app-api/src/main/java/com/parkingcomestrue/parking/support/exception/ClientException.java deleted file mode 100644 index afbcbb7b..00000000 --- a/app-api/src/main/java/com/parkingcomestrue/parking/support/exception/ClientException.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.parkingcomestrue.parking.support.exception; - -import lombok.Getter; - -@Getter -public class ClientException extends RuntimeException { - - private final ClientExceptionInformation exceptionInformation; - - public ClientException(ClientExceptionInformation exceptionInformation) { - super(); - this.exceptionInformation = exceptionInformation; - } - - @Override - public String getMessage() { - return exceptionInformation.getMessage(); - } -} diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/support/exception/ClientExceptionInformation.java b/app-api/src/main/java/com/parkingcomestrue/parking/support/exception/ClientExceptionInformation.java deleted file mode 100644 index d70d7b78..00000000 --- a/app-api/src/main/java/com/parkingcomestrue/parking/support/exception/ClientExceptionInformation.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.parkingcomestrue.parking.support.exception; - -import lombok.Getter; - -@Getter -public enum ClientExceptionInformation { - - DUPLICATE_MAIL("중복된 이메일이라 회원가입이 불가능합니다."), - INVALID_EMAIL("회원가입되지 않은 이메일입니다."), - UNAUTHORIZED("존재하지 않는 sessionId 입니다."), - - INVALID_AUTH_CODE("존재하지 않는 인증코드 입니다."), - - INVALID_DESCRIPTION("해당하는 내용의 검색 조건이 존재하지 않습니다."); - - - private final String message; - - ClientExceptionInformation(String message) { - this.message = message; - } -} diff --git a/app-scheduler/.gitignore b/app-scheduler/.gitignore deleted file mode 100644 index b63da455..00000000 --- a/app-scheduler/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/app-scheduler/Dockerfile b/app-scheduler/Dockerfile deleted file mode 100644 index 9cb96438..00000000 --- a/app-scheduler/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM amazoncorretto:17-alpine - -COPY build/libs/app-scheduler-0.0.1-SNAPSHOT.jar app.jar - -CMD ["java", "-jar", "app.jar"] diff --git a/app-scheduler/build.gradle b/app-scheduler/build.gradle deleted file mode 100644 index cdd7d6ee..00000000 --- a/app-scheduler/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -dependencies { - implementation project(':domain') - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' - - testImplementation(testFixtures(project(":domain"))) -} diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/support/exception/SchedulerException.java b/app-scheduler/src/main/java/com/parkingcomestrue/external/support/exception/SchedulerException.java deleted file mode 100644 index f4100a48..00000000 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/support/exception/SchedulerException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.parkingcomestrue.external.support.exception; - -public class SchedulerException extends RuntimeException { - - private final SchedulerExceptionInformation exceptionInformation; - - public SchedulerException(SchedulerExceptionInformation exceptionInformation) { - super(); - this.exceptionInformation = exceptionInformation; - } - - @Override - public String getMessage() { - return exceptionInformation.getMessage(); - } -} diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/support/exception/SchedulerExceptionInformation.java b/app-scheduler/src/main/java/com/parkingcomestrue/external/support/exception/SchedulerExceptionInformation.java deleted file mode 100644 index f9ddf95f..00000000 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/support/exception/SchedulerExceptionInformation.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.parkingcomestrue.external.support.exception; - -import lombok.Getter; - -@Getter -public enum SchedulerExceptionInformation { - - INVALID_CONNECT("주차장 API 연결 중 예외 발생"), - COORDINATE_EXCEPTION("좌표 변환 중 예외 발생"); - - private final String message; - - SchedulerExceptionInformation(String message) { - this.message = message; - } -} diff --git a/app-scheduler/src/main/resources/application-prod.yml b/app-scheduler/src/main/resources/application-prod.yml deleted file mode 100644 index 494fa049..00000000 --- a/app-scheduler/src/main/resources/application-prod.yml +++ /dev/null @@ -1,14 +0,0 @@ -spring: - # JPA - jpa: - hibernate: - ddl-auto: validate - database: mysql - open-in-view: false - - # DB - datasource: - url: ${DB_URL} - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: com.mysql.cj.jdbc.Driver diff --git a/app-scheduler/src/main/resources/application.yml b/app-scheduler/src/main/resources/application.yml deleted file mode 100644 index ce5779e4..00000000 --- a/app-scheduler/src/main/resources/application.yml +++ /dev/null @@ -1,8 +0,0 @@ -spring: - profiles: - active: ${PROFILE:dev} -# API KEY -kakao: - key: ${KAKAO_API_KEY:kakao} -seoul-public-parking-key: ${SEOUL_API_KEY:seoul} -pusan-public-parking-key: ${PUSAN_API_KEY:pusan} diff --git a/app-scheduler/src/test/java/com/parkingcomestrue/fake/ExceptionParkingApiService.java b/app-scheduler/src/test/java/com/parkingcomestrue/fake/ExceptionParkingApiService.java deleted file mode 100644 index 0a801903..00000000 --- a/app-scheduler/src/test/java/com/parkingcomestrue/fake/ExceptionParkingApiService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.parkingcomestrue.fake; - -import com.parkingcomestrue.external.support.exception.SchedulerException; -import com.parkingcomestrue.external.support.exception.SchedulerExceptionInformation; -import com.parkingcomestrue.external.parkingapi.ParkingApiService; -import com.parkingcomestrue.common.domain.parking.Parking; -import java.util.List; - -public class ExceptionParkingApiService implements ParkingApiService { - - @Override - public boolean offerCurrentParking() { - return true; - } - - @Override - public List read() { - throw new SchedulerException(SchedulerExceptionInformation.INVALID_CONNECT); - } -} diff --git a/app-scheduler/src/test/java/com/parkingcomestrue/fake/FakeCoordinateApiService.java b/app-scheduler/src/test/java/com/parkingcomestrue/fake/FakeCoordinateApiService.java deleted file mode 100644 index 567ecf57..00000000 --- a/app-scheduler/src/test/java/com/parkingcomestrue/fake/FakeCoordinateApiService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.parkingcomestrue.fake; - -import com.parkingcomestrue.external.coordinate.CoordinateApiService; -import com.parkingcomestrue.common.domain.parking.Location; - -public class FakeCoordinateApiService extends CoordinateApiService { - - public FakeCoordinateApiService() { - super(null); - } - - @Override - public Location extractLocationByAddress(String address, Location location) { - return Location.of(10.0, 10.0); - } -} diff --git a/build.gradle b/build.gradle index 6941796b..089da741 100644 --- a/build.gradle +++ b/build.gradle @@ -4,70 +4,53 @@ plugins { id 'io.spring.dependency-management' version '1.1.4' } -repositories { - mavenCentral() -} +group = 'com.example' +version = '0.0.1-SNAPSHOT' -bootJar.enabled = false +java { + sourceCompatibility = '17' +} -subprojects { - repositories { - mavenCentral() +configurations { + compileOnly { + extendsFrom annotationProcessor } +} - group = 'com.parkingcomestrue' - version = '0.0.1-SNAPSHOT' +repositories { + mavenCentral() +} - apply plugin: 'java' - apply plugin: 'java-library' - apply plugin: 'org.springframework.boot' - apply plugin: 'io.spring.dependency-management' +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation group: 'org.hibernate.orm', name: 'hibernate-spatial', version: '6.3.1.Final' + compileOnly 'org.projectlombok:lombok' + runtimeOnly 'com.h2database:h2' + runtimeOnly 'com.mysql:mysql-connector-j' + annotationProcessor 'org.projectlombok:lombok' + testImplementation 'org.springframework.boot:spring-boot-starter-test' - dependencies { - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' - runtimeOnly 'com.h2database:h2' - runtimeOnly 'com.mysql:mysql-connector-j' + // 메일 + implementation 'org.springframework.boot:spring-boot-starter-mail' - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-web' - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } + // redis + implementation("org.springframework.boot:spring-boot-starter-data-redis") - test { - useJUnitPlatform() - } -} - -project(':domain') { - bootJar { enabled = false } - jar { enabled = true } -} + // testcontainer + testImplementation "org.testcontainers:testcontainers:1.19.6" + testImplementation "org.testcontainers:junit-jupiter:1.19.6" + testImplementation "com.redis:testcontainers-redis:2.2.0" + testImplementation "org.testcontainers:mysql:1.19.6" -project(':app-api') { - bootJar { enabled = true } + // flyway 추가 + implementation 'org.flywaydb:flyway-mysql' + implementation 'org.flywaydb:flyway-core' } -project(':app-scheduler') { - bootJar { enabled = true } +tasks.named('test') { + useJUnitPlatform() } - -task collectTestResults(type: Copy) { - description = 'Collects test results from all subprojects' - - def resultDirs = [ - 'domain': "$projectDir/domain/build/test-results/test", - 'app-api': "$projectDir/app-api/build/test-results/test", - 'app-scheduler': "$projectDir/app-scheduler/build/test-results/test" - ] - - from resultDirs.collect { _, dir -> - fileTree(dir) { - include '**/TEST-*.xml' - } - } - into "build/allTestResults" -} - diff --git a/domain/.gitignore b/domain/.gitignore deleted file mode 100644 index b63da455..00000000 --- a/domain/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/domain/build.gradle b/domain/build.gradle deleted file mode 100644 index a00082db..00000000 --- a/domain/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -plugins { - id 'java-library' - id 'java-test-fixtures' - id 'maven-publish' -} - -dependencies { - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' - - - implementation group: 'org.hibernate.orm', name: 'hibernate-spatial', version: '6.3.1.Final' - - testFixturesImplementation 'org.springframework.boot:spring-boot-starter-data-jpa' - testFixturesImplementation group: 'org.hibernate.orm', name: 'hibernate-spatial', version: '6.3.1.Final' - - // flyway 추가 - implementation 'org.flywaydb:flyway-mysql' - implementation 'org.flywaydb:flyway-core' -} diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/dto/ParkingQueryCondition.java b/domain/src/main/java/com/parkingcomestrue/common/domain/parking/dto/ParkingQueryCondition.java deleted file mode 100644 index fd8ae260..00000000 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/dto/ParkingQueryCondition.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.parkingcomestrue.common.domain.parking.dto; - -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import lombok.Getter; - -@Getter -public class ParkingQueryCondition { - - private final OperationType operationType; - private final ParkingType parkingType; - private final Boolean cardEnabled; - private final PayTypes payTypes; - - public ParkingQueryCondition(OperationType operationType, ParkingType parkingType, Boolean cardEnabled, - PayTypes payTypes) { - this.operationType = operationType; - this.parkingType = parkingType; - this.cardEnabled = cardEnabled; - this.payTypes = payTypes; - } -} diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/review/repository/ReviewRepository.java b/domain/src/main/java/com/parkingcomestrue/common/domain/review/repository/ReviewRepository.java deleted file mode 100644 index 3b367444..00000000 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/review/repository/ReviewRepository.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.parkingcomestrue.common.domain.review.repository; - -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.review.Review; -import com.parkingcomestrue.common.support.Association; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; -import java.util.List; -import java.util.Optional; -import org.springframework.data.repository.Repository; - -public interface ReviewRepository extends Repository { - - Optional findById(Long id); - - default Review getById(Long id) { - return findById(id) - .orElseThrow(() -> new DomainException(DomainExceptionInformation.INVALID_REVIEW)); - } - - List findAllByParkingId(Association parkingId); - - void save(Review review); - - boolean existsByParkingIdAndReviewerId(Association parkingId, Association reviewerId); -} diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/repository/SearchConditionRepository.java b/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/repository/SearchConditionRepository.java deleted file mode 100644 index 2e1a9c89..00000000 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/repository/SearchConditionRepository.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.parkingcomestrue.common.domain.searchcondition.repository; - -import com.parkingcomestrue.common.domain.searchcondition.SearchCondition; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; -import java.util.Optional; -import org.springframework.data.repository.Repository; - -public interface SearchConditionRepository extends Repository { - - Optional findByMemberId(Long memberId); - - default SearchCondition getByMemberId(Long memberId) { - return findByMemberId(memberId) - .orElseThrow(() -> new DomainException(DomainExceptionInformation.INVALID_SEARCH_CONDITION)); - } - - void save(SearchCondition searchCondition); -} diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/config/JpaAuditingConfig.java b/domain/src/main/java/com/parkingcomestrue/common/infra/config/JpaAuditingConfig.java deleted file mode 100644 index a87e4826..00000000 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/config/JpaAuditingConfig.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.parkingcomestrue.common.infra.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.data.jpa.repository.config.EnableJpaAuditing; - -@Configuration -@EnableJpaAuditing -public class JpaAuditingConfig { - -} diff --git a/domain/src/main/java/com/parkingcomestrue/common/support/exception/DomainException.java b/domain/src/main/java/com/parkingcomestrue/common/support/exception/DomainException.java deleted file mode 100644 index da5f7af9..00000000 --- a/domain/src/main/java/com/parkingcomestrue/common/support/exception/DomainException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.parkingcomestrue.common.support.exception; - -public class DomainException extends RuntimeException { - - private final DomainExceptionInformation exceptionInformation; - - public DomainException(DomainExceptionInformation exceptionInformation) { - super(); - this.exceptionInformation = exceptionInformation; - } - - @Override - public String getMessage() { - return exceptionInformation.getMessage(); - } -} diff --git a/domain/src/main/resources/application.yml b/domain/src/main/resources/application.yml deleted file mode 100644 index 60437cf6..00000000 --- a/domain/src/main/resources/application.yml +++ /dev/null @@ -1,8 +0,0 @@ -spring: - flyway: - enabled: true - url: ${DB_URL} - user: ${DB_USERNAME} - password: ${DB_PASSWORD} - baseline-on-migrate: true - locations: classpath:db.migration.mysql diff --git a/domain/src/main/resources/db/migration/mysql/V1.0.0__initial_schema.sql b/domain/src/main/resources/db/migration/mysql/V1.0.0__initial_schema.sql deleted file mode 100644 index 870e0876..00000000 --- a/domain/src/main/resources/db/migration/mysql/V1.0.0__initial_schema.sql +++ /dev/null @@ -1,94 +0,0 @@ --- favorite 테이블 생성 -CREATE TABLE favorite -( - id BIGINT NOT NULL AUTO_INCREMENT, - created_at TIMESTAMP, - updated_at TIMESTAMP, - member_id BIGINT, - parking_id BIGINT, - PRIMARY KEY (id), - UNIQUE (member_id, parking_id) -); - --- member 테이블 생성 -CREATE TABLE member -( - id BIGINT NOT NULL AUTO_INCREMENT, - deleted BOOLEAN, - email VARCHAR(255) UNIQUE, - name VARCHAR(255), - nickname VARCHAR(255), - password VARCHAR(255), - PRIMARY KEY (id) -); - --- member_session 테이블 생성 -CREATE TABLE member_session -( - session_id VARCHAR(255) NOT NULL, - created_at TIMESTAMP, - expired_at TIMESTAMP, - member_id BIGINT, - PRIMARY KEY (session_id) -); - --- parking 테이블 생성 -CREATE TABLE parking -( - id BIGINT NOT NULL AUTO_INCREMENT, - created_at TIMESTAMP, - updated_at TIMESTAMP, - base_fee INTEGER, - base_time_unit INTEGER, - capacity INTEGER, - current_parking INTEGER, - day_maximum_fee INTEGER, - extra_fee INTEGER, - extra_time_unit INTEGER, - holiday_begin_time TIME, - holiday_end_time TIME, - holiday_free_begin_time TIME, - holiday_free_end_time TIME, - latitude FLOAT NOT NULL, - longitude FLOAT NOT NULL, - saturday_begin_time TIME, - saturday_end_time TIME, - saturday_free_begin_time TIME, - saturday_free_end_time TIME, - weekday_begin_time TIME, - weekday_end_time TIME, - weekday_free_begin_time TIME, - weekday_free_end_time TIME, - address VARCHAR(255), - description VARCHAR(255), - name VARCHAR(255), - operation_type ENUM ('PUBLIC', 'PRIVATE', 'NO_INFO'), - parking_type ENUM ('OFF_STREET', 'ON_STREET', 'MECHANICAL', 'NO_INFO'), - tel VARCHAR(255), - PRIMARY KEY (id) -); - --- review 테이블 생성 -CREATE TABLE review -( - id BIGINT NOT NULL AUTO_INCREMENT, - created_at TIMESTAMP, - parking_id BIGINT, - reviewer_id BIGINT, - contents VARCHAR(255), - PRIMARY KEY (id) -); - --- search_condition 테이블 생성 -CREATE TABLE search_condition -( - id BIGINT NOT NULL AUTO_INCREMENT, - hours INTEGER NOT NULL, - member_id BIGINT, - fee_types VARCHAR(255), - operation_types VARCHAR(255), - parking_types VARCHAR(255), - pay_types VARCHAR(255), - priority ENUM ('DISTANCE', 'PRICE', 'RECOMMENDATION'), - PRIMARY KEY (id) -); diff --git a/domain/src/test/java/com/parkingcomestrue/TestConfiguration.java b/domain/src/test/java/com/parkingcomestrue/TestConfiguration.java deleted file mode 100644 index 5ad74c17..00000000 --- a/domain/src/test/java/com/parkingcomestrue/TestConfiguration.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.parkingcomestrue; - -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -class TestConfiguration { - -} diff --git a/domain/src/test/resources/application.yml b/domain/src/test/resources/application.yml deleted file mode 100644 index 7fa6b598..00000000 --- a/domain/src/test/resources/application.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - flyway: - enabled: false diff --git a/settings.gradle b/settings.gradle index 28f6a7d6..8cb3c6ea 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1 @@ rootProject.name = 'parking' -include 'domain' -include 'app-api' -include 'app-scheduler' diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/SchedulerApplication.java b/src/main/java/com/example/parking/ParkingApplication.java similarity index 68% rename from app-scheduler/src/main/java/com/parkingcomestrue/SchedulerApplication.java rename to src/main/java/com/example/parking/ParkingApplication.java index dc27d71e..7e894bec 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/SchedulerApplication.java +++ b/src/main/java/com/example/parking/ParkingApplication.java @@ -1,14 +1,16 @@ -package com.parkingcomestrue; +package com.example.parking; import jakarta.annotation.PostConstruct; import java.util.TimeZone; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.scheduling.annotation.EnableScheduling; +@EnableJpaAuditing @EnableScheduling @SpringBootApplication -public class SchedulerApplication { +public class ParkingApplication { @PostConstruct public void started() { @@ -16,6 +18,6 @@ public void started() { } public static void main(String[] args) { - SpringApplication.run(SchedulerApplication.class, args); + SpringApplication.run(ParkingApplication.class, args); } } diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/api/favorite/FavoriteController.java b/src/main/java/com/example/parking/api/favorite/FavoriteController.java similarity index 81% rename from app-api/src/main/java/com/parkingcomestrue/parking/api/favorite/FavoriteController.java rename to src/main/java/com/example/parking/api/favorite/FavoriteController.java index 073e798d..9566cee1 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/api/favorite/FavoriteController.java +++ b/src/main/java/com/example/parking/api/favorite/FavoriteController.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.parking.api.favorite; +package com.example.parking.api.favorite; -import com.parkingcomestrue.parking.application.favorite.FavoriteService; -import com.parkingcomestrue.parking.application.favorite.dto.FavoriteCreateRequest; -import com.parkingcomestrue.parking.application.favorite.dto.FavoriteDeleteRequest; -import com.parkingcomestrue.parking.config.argumentresolver.MemberAuth; +import com.example.parking.application.favorite.FavoriteService; +import com.example.parking.application.favorite.dto.FavoriteCreateRequest; +import com.example.parking.application.favorite.dto.FavoriteDeleteRequest; +import com.example.parking.config.argumentresolver.MemberAuth; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/api/member/MemberController.java b/src/main/java/com/example/parking/api/member/MemberController.java similarity index 81% rename from app-api/src/main/java/com/parkingcomestrue/parking/api/member/MemberController.java rename to src/main/java/com/example/parking/api/member/MemberController.java index c74b6c90..463a64ea 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/api/member/MemberController.java +++ b/src/main/java/com/example/parking/api/member/MemberController.java @@ -1,11 +1,11 @@ -package com.parkingcomestrue.parking.api.member; - -import com.parkingcomestrue.parking.application.auth.AuthService; -import com.parkingcomestrue.parking.application.member.MemberService; -import com.parkingcomestrue.parking.application.member.dto.MemberLoginRequest; -import com.parkingcomestrue.parking.application.member.dto.MemberSignupRequest; -import com.parkingcomestrue.parking.application.member.dto.PasswordChangeRequest; -import com.parkingcomestrue.parking.config.argumentresolver.MemberAuth; +package com.example.parking.api.member; + +import com.example.parking.application.member.MemberService; +import com.example.parking.application.member.dto.MemberLoginRequest; +import com.example.parking.application.member.dto.MemberSignupRequest; +import com.example.parking.application.member.dto.PasswordChangeRequest; +import com.example.parking.auth.AuthService; +import com.example.parking.config.argumentresolver.MemberAuth; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/api/parking/ParkingController.java b/src/main/java/com/example/parking/api/parking/ParkingController.java similarity index 70% rename from app-api/src/main/java/com/parkingcomestrue/parking/api/parking/ParkingController.java rename to src/main/java/com/example/parking/api/parking/ParkingController.java index fbbdef4b..00bfe8f4 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/api/parking/ParkingController.java +++ b/src/main/java/com/example/parking/api/parking/ParkingController.java @@ -1,13 +1,13 @@ -package com.parkingcomestrue.parking.api.parking; +package com.example.parking.api.parking; -import com.parkingcomestrue.parking.application.parking.ParkingService; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse; -import com.parkingcomestrue.parking.application.parking.dto.ParkingLotsResponse; -import com.parkingcomestrue.parking.application.parking.dto.ParkingQueryRequest; -import com.parkingcomestrue.parking.application.parking.dto.ParkingSearchConditionRequest; -import com.parkingcomestrue.parking.config.argumentresolver.MemberAuth; -import com.parkingcomestrue.parking.config.argumentresolver.parking.ParkingQuery; -import com.parkingcomestrue.parking.config.argumentresolver.parking.ParkingSearchCondition; +import com.example.parking.application.parking.ParkingService; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse; +import com.example.parking.application.parking.dto.ParkingLotsResponse; +import com.example.parking.application.parking.dto.ParkingQueryRequest; +import com.example.parking.application.parking.dto.ParkingSearchConditionRequest; +import com.example.parking.config.argumentresolver.MemberAuth; +import com.example.parking.config.argumentresolver.parking.ParkingQuery; +import com.example.parking.config.argumentresolver.parking.ParkingSearchCondition; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/api/review/ReviewController.java b/src/main/java/com/example/parking/api/review/ReviewController.java similarity index 81% rename from app-api/src/main/java/com/parkingcomestrue/parking/api/review/ReviewController.java rename to src/main/java/com/example/parking/api/review/ReviewController.java index 15519927..5c6edb33 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/api/review/ReviewController.java +++ b/src/main/java/com/example/parking/api/review/ReviewController.java @@ -1,8 +1,8 @@ -package com.parkingcomestrue.parking.api.review; +package com.example.parking.api.review; -import com.parkingcomestrue.parking.application.review.ReviewService; -import com.parkingcomestrue.parking.application.review.dto.ReviewCreateRequest; -import com.parkingcomestrue.parking.config.argumentresolver.MemberAuth; +import com.example.parking.application.review.ReviewService; +import com.example.parking.application.review.dto.ReviewCreateRequest; +import com.example.parking.config.argumentresolver.MemberAuth; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/api/searchcondition/SearchConditionController.java b/src/main/java/com/example/parking/api/searchcondition/SearchConditionController.java similarity index 83% rename from app-api/src/main/java/com/parkingcomestrue/parking/api/searchcondition/SearchConditionController.java rename to src/main/java/com/example/parking/api/searchcondition/SearchConditionController.java index c2d231e0..37ed11b7 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/api/searchcondition/SearchConditionController.java +++ b/src/main/java/com/example/parking/api/searchcondition/SearchConditionController.java @@ -1,8 +1,8 @@ -package com.parkingcomestrue.parking.api.searchcondition; +package com.example.parking.api.searchcondition; -import com.parkingcomestrue.parking.application.searchcondition.SearchConditionService; -import com.parkingcomestrue.parking.application.searchcondition.dto.SearchConditionDto; -import com.parkingcomestrue.parking.config.argumentresolver.MemberAuth; +import com.example.parking.application.searchcondition.SearchConditionService; +import com.example.parking.application.searchcondition.dto.SearchConditionDto; +import com.example.parking.config.argumentresolver.MemberAuth; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/SearchConditionMapper.java b/src/main/java/com/example/parking/application/SearchConditionMapper.java similarity index 77% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/SearchConditionMapper.java rename to src/main/java/com/example/parking/application/SearchConditionMapper.java index 0b9f6208..82c700d5 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/SearchConditionMapper.java +++ b/src/main/java/com/example/parking/application/SearchConditionMapper.java @@ -1,8 +1,8 @@ -package com.parkingcomestrue.parking.application; +package com.example.parking.application; -import com.parkingcomestrue.common.domain.searchcondition.SearchConditionAvailable; -import com.parkingcomestrue.parking.support.exception.ClientException; -import com.parkingcomestrue.parking.support.exception.ClientExceptionInformation; +import com.example.parking.domain.searchcondition.SearchConditionAvailable; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; import java.util.Arrays; import java.util.List; import org.springframework.stereotype.Component; @@ -24,7 +24,7 @@ public & SearchConditionAvailable> E toEnum(Class searchCo return Arrays.stream(conditions) .filter(condition -> description.startsWith(condition.getDescription())) .findAny() - .orElseThrow(() -> new ClientException(ClientExceptionInformation.INVALID_DESCRIPTION)); + .orElseThrow(() -> new ClientException(ExceptionInformation.INVALID_DESCRIPTION)); } public & SearchConditionAvailable> List getValues( diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/FavoriteService.java b/src/main/java/com/example/parking/application/favorite/FavoriteService.java similarity index 75% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/FavoriteService.java rename to src/main/java/com/example/parking/application/favorite/FavoriteService.java index b8205282..5dff0b87 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/FavoriteService.java +++ b/src/main/java/com/example/parking/application/favorite/FavoriteService.java @@ -1,10 +1,10 @@ -package com.parkingcomestrue.parking.application.favorite; +package com.example.parking.application.favorite; -import com.parkingcomestrue.parking.application.favorite.dto.FavoriteCreateRequest; -import com.parkingcomestrue.parking.application.favorite.dto.FavoriteDeleteRequest; -import com.parkingcomestrue.common.domain.favorite.Favorite; -import com.parkingcomestrue.common.domain.favorite.repository.FavoriteRepository; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.application.favorite.dto.FavoriteCreateRequest; +import com.example.parking.application.favorite.dto.FavoriteDeleteRequest; +import com.example.parking.domain.favorite.Favorite; +import com.example.parking.domain.favorite.FavoriteRepository; +import com.example.parking.support.Association; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataIntegrityViolationException; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/dto/FavoriteCreateRequest.java b/src/main/java/com/example/parking/application/favorite/dto/FavoriteCreateRequest.java similarity index 79% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/dto/FavoriteCreateRequest.java rename to src/main/java/com/example/parking/application/favorite/dto/FavoriteCreateRequest.java index 1b89faf9..11d349c0 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/dto/FavoriteCreateRequest.java +++ b/src/main/java/com/example/parking/application/favorite/dto/FavoriteCreateRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.favorite.dto; +package com.example.parking.application.favorite.dto; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/dto/FavoriteDeleteRequest.java b/src/main/java/com/example/parking/application/favorite/dto/FavoriteDeleteRequest.java similarity index 79% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/dto/FavoriteDeleteRequest.java rename to src/main/java/com/example/parking/application/favorite/dto/FavoriteDeleteRequest.java index 22936742..c76fadcc 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/favorite/dto/FavoriteDeleteRequest.java +++ b/src/main/java/com/example/parking/application/favorite/dto/FavoriteDeleteRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.favorite.dto; +package com.example.parking.application.favorite.dto; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/MemberService.java b/src/main/java/com/example/parking/application/member/MemberService.java similarity index 63% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/member/MemberService.java rename to src/main/java/com/example/parking/application/member/MemberService.java index b5bee195..d87dfa2e 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/MemberService.java +++ b/src/main/java/com/example/parking/application/member/MemberService.java @@ -1,14 +1,14 @@ -package com.parkingcomestrue.parking.application.member; +package com.example.parking.application.member; -import com.parkingcomestrue.parking.application.member.dto.MemberInfoResponse; -import com.parkingcomestrue.parking.application.member.dto.MemberLoginRequest; -import com.parkingcomestrue.parking.application.member.dto.MemberSignupRequest; -import com.parkingcomestrue.parking.application.member.dto.PasswordChangeRequest; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.member.repository.MemberRepository; -import com.parkingcomestrue.common.domain.member.Password; -import com.parkingcomestrue.parking.support.exception.ClientException; -import com.parkingcomestrue.parking.support.exception.ClientExceptionInformation; +import com.example.parking.application.member.dto.MemberInfoResponse; +import com.example.parking.application.member.dto.MemberLoginRequest; +import com.example.parking.application.member.dto.MemberSignupRequest; +import com.example.parking.application.member.dto.PasswordChangeRequest; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.member.MemberRepository; +import com.example.parking.domain.member.Password; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,20 +35,26 @@ public Long signup(MemberSignupRequest dto) { private void validateDuplicatedEmail(Member member) { if (memberRepository.existsByEmail(member.getEmail())) { - throw new ClientException(ClientExceptionInformation.DUPLICATE_MAIL); + throw new ClientException(ExceptionInformation.DUPLICATE_MAIL); } } @Transactional(readOnly = true) public Long login(MemberLoginRequest dto) { Member member = findMemberByEmail(dto.getEmail()); - member.validatePassword(dto.getPassword()); + validatePassword(member, dto.getPassword()); return member.getId(); } private Member findMemberByEmail(String email) { return memberRepository.findByEmail(email) - .orElseThrow(() -> new ClientException(ClientExceptionInformation.INVALID_EMAIL)); + .orElseThrow(() -> new ClientException(ExceptionInformation.INVALID_EMAIL)); + } + + private void validatePassword(Member member, String password) { + if (!member.checkPassword(password)) { + throw new ClientException(ExceptionInformation.INVALID_PASSWORD); + } } @Transactional diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberInfoResponse.java b/src/main/java/com/example/parking/application/member/dto/MemberInfoResponse.java similarity index 85% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberInfoResponse.java rename to src/main/java/com/example/parking/application/member/dto/MemberInfoResponse.java index 01f29c39..b6734fcc 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberInfoResponse.java +++ b/src/main/java/com/example/parking/application/member/dto/MemberInfoResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.member.dto; +package com.example.parking.application.member.dto; import lombok.AccessLevel; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberLoginRequest.java b/src/main/java/com/example/parking/application/member/dto/MemberLoginRequest.java similarity index 83% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberLoginRequest.java rename to src/main/java/com/example/parking/application/member/dto/MemberLoginRequest.java index f218b066..b94367f4 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberLoginRequest.java +++ b/src/main/java/com/example/parking/application/member/dto/MemberLoginRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.member.dto; +package com.example.parking.application.member.dto; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberSignupRequest.java b/src/main/java/com/example/parking/application/member/dto/MemberSignupRequest.java similarity index 88% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberSignupRequest.java rename to src/main/java/com/example/parking/application/member/dto/MemberSignupRequest.java index 66fbb7c9..f7276320 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/MemberSignupRequest.java +++ b/src/main/java/com/example/parking/application/member/dto/MemberSignupRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.member.dto; +package com.example.parking.application.member.dto; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/PasswordChangeRequest.java b/src/main/java/com/example/parking/application/member/dto/PasswordChangeRequest.java similarity index 85% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/PasswordChangeRequest.java rename to src/main/java/com/example/parking/application/member/dto/PasswordChangeRequest.java index 0f3f72ab..9d04c1ec 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/member/dto/PasswordChangeRequest.java +++ b/src/main/java/com/example/parking/application/member/dto/PasswordChangeRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.member.dto; +package com.example.parking.application.member.dto; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/service/ParkingFilteringService.java b/src/main/java/com/example/parking/application/parking/ParkingFilteringService.java similarity index 81% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/service/ParkingFilteringService.java rename to src/main/java/com/example/parking/application/parking/ParkingFilteringService.java index be207a3b..a4dae272 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/service/ParkingFilteringService.java +++ b/src/main/java/com/example/parking/application/parking/ParkingFilteringService.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.common.domain.parking.service; +package com.example.parking.application.parking; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingFeeCalculator; -import com.parkingcomestrue.common.domain.parking.SearchingCondition; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingFeeCalculator; +import com.example.parking.domain.parking.SearchingCondition; +import com.example.parking.domain.searchcondition.FeeType; import java.time.LocalDateTime; import java.util.List; import lombok.RequiredArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/ParkingService.java b/src/main/java/com/example/parking/application/parking/ParkingService.java similarity index 78% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/parking/ParkingService.java rename to src/main/java/com/example/parking/application/parking/ParkingService.java index a3d30a03..d0dffef5 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/ParkingService.java +++ b/src/main/java/com/example/parking/application/parking/ParkingService.java @@ -1,31 +1,30 @@ -package com.parkingcomestrue.parking.application.parking; - -import com.parkingcomestrue.parking.application.SearchConditionMapper; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse.FeeInfo; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse.HolidayOperatingTime; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse.SaturdayOperatingTime; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse.WeekdayOperatingTime; -import com.parkingcomestrue.parking.application.parking.dto.ParkingLotsResponse; -import com.parkingcomestrue.parking.application.parking.dto.ParkingLotsResponse.ParkingResponse; -import com.parkingcomestrue.parking.application.parking.dto.ParkingQueryRequest; -import com.parkingcomestrue.parking.application.parking.dto.ParkingSearchConditionRequest; -import com.parkingcomestrue.parking.application.review.ReviewService; -import com.parkingcomestrue.parking.application.review.dto.ReviewInfoResponse; -import com.parkingcomestrue.common.domain.favorite.Favorite; -import com.parkingcomestrue.common.domain.favorite.repository.FavoriteRepository; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingFeeCalculator; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.domain.parking.SearchingCondition; -import com.parkingcomestrue.common.domain.parking.repository.ParkingRepository; -import com.parkingcomestrue.common.domain.parking.service.ParkingFilteringService; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; -import com.parkingcomestrue.common.support.Association; +package com.example.parking.application.parking; + +import com.example.parking.application.SearchConditionMapper; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse.FeeInfo; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse.HolidayOperatingTime; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse.SaturdayOperatingTime; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse.WeekdayOperatingTime; +import com.example.parking.application.parking.dto.ParkingLotsResponse; +import com.example.parking.application.parking.dto.ParkingLotsResponse.ParkingResponse; +import com.example.parking.application.parking.dto.ParkingQueryRequest; +import com.example.parking.application.parking.dto.ParkingSearchConditionRequest; +import com.example.parking.application.review.ReviewService; +import com.example.parking.application.review.dto.ReviewInfoResponse; +import com.example.parking.domain.favorite.Favorite; +import com.example.parking.domain.favorite.FavoriteRepository; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingFeeCalculator; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayType; +import com.example.parking.domain.parking.SearchingCondition; +import com.example.parking.domain.parking.repository.ParkingRepository; +import com.example.parking.domain.searchcondition.FeeType; +import com.example.parking.support.Association; import java.time.LocalDateTime; import java.util.Collections; import java.util.List; @@ -142,6 +141,11 @@ public void saveAll(List parkingLots) { parkingRepository.saveAll(parkingLots); } + @Transactional(readOnly = true) + public Set getParkingLots(Set parkingNames) { + return parkingRepository.findAllByBaseInformationNameIn(parkingNames); + } + @Transactional(readOnly = true) public ParkingDetailInfoResponse findParking(Long parkingId) { LocalDateTime now = LocalDateTime.now(); diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingDetailInfoResponse.java b/src/main/java/com/example/parking/application/parking/dto/ParkingDetailInfoResponse.java similarity index 95% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingDetailInfoResponse.java rename to src/main/java/com/example/parking/application/parking/dto/ParkingDetailInfoResponse.java index 29dc9517..7f46f805 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingDetailInfoResponse.java +++ b/src/main/java/com/example/parking/application/parking/dto/ParkingDetailInfoResponse.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.parking.application.parking.dto; +package com.example.parking.application.parking.dto; -import com.parkingcomestrue.parking.application.review.dto.ReviewInfoResponse; +import com.example.parking.application.review.dto.ReviewInfoResponse; import java.time.LocalTime; import lombok.AccessLevel; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingLotsResponse.java b/src/main/java/com/example/parking/application/parking/dto/ParkingLotsResponse.java similarity index 95% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingLotsResponse.java rename to src/main/java/com/example/parking/application/parking/dto/ParkingLotsResponse.java index 5996b478..aa4f05cd 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingLotsResponse.java +++ b/src/main/java/com/example/parking/application/parking/dto/ParkingLotsResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.parking.dto; +package com.example.parking.application.parking.dto; import java.util.List; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingQueryRequest.java b/src/main/java/com/example/parking/application/parking/dto/ParkingQueryRequest.java similarity index 85% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingQueryRequest.java rename to src/main/java/com/example/parking/application/parking/dto/ParkingQueryRequest.java index f5f322b0..e0590f4d 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingQueryRequest.java +++ b/src/main/java/com/example/parking/application/parking/dto/ParkingQueryRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.parking.dto; +package com.example.parking.application.parking.dto; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingSearchConditionRequest.java b/src/main/java/com/example/parking/application/parking/dto/ParkingSearchConditionRequest.java similarity index 92% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingSearchConditionRequest.java rename to src/main/java/com/example/parking/application/parking/dto/ParkingSearchConditionRequest.java index e710426b..8ff8ccb3 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/parking/dto/ParkingSearchConditionRequest.java +++ b/src/main/java/com/example/parking/application/parking/dto/ParkingSearchConditionRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.parking.dto; +package com.example.parking.application.parking.dto; import java.util.List; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/ReviewService.java b/src/main/java/com/example/parking/application/review/ReviewService.java similarity index 71% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/review/ReviewService.java rename to src/main/java/com/example/parking/application/review/ReviewService.java index 3f5040fa..5e965f25 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/ReviewService.java +++ b/src/main/java/com/example/parking/application/review/ReviewService.java @@ -1,13 +1,13 @@ -package com.parkingcomestrue.parking.application.review; +package com.example.parking.application.review; -import com.parkingcomestrue.parking.application.review.dto.ReviewCountResponse; -import com.parkingcomestrue.parking.application.review.dto.ReviewCreateRequest; -import com.parkingcomestrue.parking.application.review.dto.ReviewInfoResponse; -import com.parkingcomestrue.common.domain.review.Content; -import com.parkingcomestrue.common.domain.review.Review; -import com.parkingcomestrue.common.domain.review.repository.ReviewRepository; -import com.parkingcomestrue.common.domain.review.service.ReviewDomainService; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.application.review.dto.ReviewCountResponse; +import com.example.parking.application.review.dto.ReviewCreateRequest; +import com.example.parking.application.review.dto.ReviewInfoResponse; +import com.example.parking.support.Association; +import com.example.parking.domain.review.Content; +import com.example.parking.domain.review.Review; +import com.example.parking.domain.review.ReviewRepository; +import com.example.parking.domain.review.service.ReviewDomainService; import java.util.Comparator; import java.util.List; import java.util.Map; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewCountResponse.java b/src/main/java/com/example/parking/application/review/dto/ReviewCountResponse.java similarity index 52% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewCountResponse.java rename to src/main/java/com/example/parking/application/review/dto/ReviewCountResponse.java index 255b15f2..19acd3b3 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewCountResponse.java +++ b/src/main/java/com/example/parking/application/review/dto/ReviewCountResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.review.dto; +package com.example.parking.application.review.dto; public record ReviewCountResponse(String content, int count) { diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewCreateRequest.java b/src/main/java/com/example/parking/application/review/dto/ReviewCreateRequest.java similarity index 65% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewCreateRequest.java rename to src/main/java/com/example/parking/application/review/dto/ReviewCreateRequest.java index c14deb08..689a22f9 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewCreateRequest.java +++ b/src/main/java/com/example/parking/application/review/dto/ReviewCreateRequest.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.parking.application.review.dto; +package com.example.parking.application.review.dto; -import com.parkingcomestrue.common.domain.review.Content; +import com.example.parking.domain.review.Content; import java.util.List; public record ReviewCreateRequest(List contents) { diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewInfoResponse.java b/src/main/java/com/example/parking/application/review/dto/ReviewInfoResponse.java similarity index 66% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewInfoResponse.java rename to src/main/java/com/example/parking/application/review/dto/ReviewInfoResponse.java index 3f69b913..fe4ed110 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/review/dto/ReviewInfoResponse.java +++ b/src/main/java/com/example/parking/application/review/dto/ReviewInfoResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.review.dto; +package com.example.parking.application.review.dto; import java.util.List; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/searchcondition/SearchConditionService.java b/src/main/java/com/example/parking/application/searchcondition/SearchConditionService.java similarity index 73% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/searchcondition/SearchConditionService.java rename to src/main/java/com/example/parking/application/searchcondition/SearchConditionService.java index e4869e04..5649eb99 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/searchcondition/SearchConditionService.java +++ b/src/main/java/com/example/parking/application/searchcondition/SearchConditionService.java @@ -1,17 +1,17 @@ -package com.parkingcomestrue.parking.application.searchcondition; +package com.example.parking.application.searchcondition; -import com.parkingcomestrue.parking.application.SearchConditionMapper; -import com.parkingcomestrue.parking.application.searchcondition.dto.SearchConditionDto; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; -import com.parkingcomestrue.common.domain.searchcondition.Hours; -import com.parkingcomestrue.common.domain.searchcondition.Priority; -import com.parkingcomestrue.common.domain.searchcondition.SearchCondition; -import com.parkingcomestrue.common.domain.searchcondition.SearchConditionAvailable; -import com.parkingcomestrue.common.domain.searchcondition.repository.SearchConditionRepository; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.application.SearchConditionMapper; +import com.example.parking.application.searchcondition.dto.SearchConditionDto; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayType; +import com.example.parking.domain.searchcondition.FeeType; +import com.example.parking.domain.searchcondition.Hours; +import com.example.parking.domain.searchcondition.Priority; +import com.example.parking.domain.searchcondition.SearchCondition; +import com.example.parking.domain.searchcondition.SearchConditionAvailable; +import com.example.parking.domain.searchcondition.SearchConditionRepository; +import com.example.parking.support.Association; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/searchcondition/dto/SearchConditionDto.java b/src/main/java/com/example/parking/application/searchcondition/dto/SearchConditionDto.java similarity index 90% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/searchcondition/dto/SearchConditionDto.java rename to src/main/java/com/example/parking/application/searchcondition/dto/SearchConditionDto.java index cb991b0c..6cda8ad8 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/searchcondition/dto/SearchConditionDto.java +++ b/src/main/java/com/example/parking/application/searchcondition/dto/SearchConditionDto.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.searchcondition.dto; +package com.example.parking.application.searchcondition.dto; import java.util.List; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/AuthService.java b/src/main/java/com/example/parking/auth/AuthService.java similarity index 76% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/AuthService.java rename to src/main/java/com/example/parking/auth/AuthService.java index 94e6f5a7..4c487c65 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/AuthService.java +++ b/src/main/java/com/example/parking/auth/AuthService.java @@ -1,17 +1,17 @@ -package com.parkingcomestrue.parking.application.auth; +package com.example.parking.auth; -import com.parkingcomestrue.parking.application.auth.authcode.AuthCodeCategory; -import com.parkingcomestrue.parking.application.auth.authcode.AuthCodePlatform; -import com.parkingcomestrue.parking.application.auth.authcode.AuthCodeValidator; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeCertificateRequest; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeRequest; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeCreateEvent; -import com.parkingcomestrue.parking.application.auth.authcode.util.AuthCodeGenerator; -import com.parkingcomestrue.parking.application.auth.authcode.util.AuthCodeKeyConverter; -import com.parkingcomestrue.common.domain.session.MemberSession; -import com.parkingcomestrue.common.domain.session.repository.MemberSessionRepository; -import com.parkingcomestrue.parking.support.exception.ClientException; -import com.parkingcomestrue.parking.support.exception.ClientExceptionInformation; +import com.example.parking.auth.authcode.AuthCodeCategory; +import com.example.parking.auth.authcode.AuthCodePlatform; +import com.example.parking.auth.authcode.application.AuthCodeValidator; +import com.example.parking.auth.authcode.application.dto.AuthCodeCertificateRequest; +import com.example.parking.auth.authcode.application.dto.AuthCodeRequest; +import com.example.parking.auth.authcode.event.AuthCodeCreateEvent; +import com.example.parking.auth.authcode.util.AuthCodeKeyConverter; +import com.example.parking.auth.session.MemberSession; +import com.example.parking.auth.session.MemberSessionRepository; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; +import com.example.parking.util.authcode.AuthCodeGenerator; import java.time.LocalDateTime; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -47,7 +47,7 @@ public String createSession(Long memberId) { public MemberSession findSession(String sessionId) { return memberSessionRepository.findBySessionIdAndExpiredAtIsGreaterThanEqual(sessionId, LocalDateTime.now()) - .orElseThrow(() -> new ClientException(ClientExceptionInformation.UNAUTHORIZED)); + .orElseThrow(() -> new ClientException(ExceptionInformation.UNAUTHORIZED)); } @Transactional @@ -95,7 +95,7 @@ public void certificateAuthCode(AuthCodeCertificateRequest authCodeCertificateRe authCodeCategory.getCategoryName()); String findResult = redisTemplate.opsForValue().getAndDelete(authCodeKey); if (findResult == null) { - throw new ClientException(ClientExceptionInformation.INVALID_AUTH_CODE); + throw new ClientException(ExceptionInformation.INVALID_AUTH_CODE); } } } diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeCategory.java b/src/main/java/com/example/parking/auth/authcode/AuthCodeCategory.java similarity index 91% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeCategory.java rename to src/main/java/com/example/parking/auth/authcode/AuthCodeCategory.java index 379456b6..d3e2efc8 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeCategory.java +++ b/src/main/java/com/example/parking/auth/authcode/AuthCodeCategory.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode; import java.util.Arrays; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodePlatform.java b/src/main/java/com/example/parking/auth/authcode/AuthCodePlatform.java similarity index 90% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodePlatform.java rename to src/main/java/com/example/parking/auth/authcode/AuthCodePlatform.java index 65e7aa9d..823685b8 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodePlatform.java +++ b/src/main/java/com/example/parking/auth/authcode/AuthCodePlatform.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode; import java.util.Arrays; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/InValidAuthCodeException.java b/src/main/java/com/example/parking/auth/authcode/InValidAuthCodeException.java similarity index 77% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/InValidAuthCodeException.java rename to src/main/java/com/example/parking/auth/authcode/InValidAuthCodeException.java index 7bc88881..72f5a2e7 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/InValidAuthCodeException.java +++ b/src/main/java/com/example/parking/auth/authcode/InValidAuthCodeException.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode; public class InValidAuthCodeException extends RuntimeException { diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/api/auth/authcode/AuthCodeController.java b/src/main/java/com/example/parking/auth/authcode/api/AuthCodeController.java similarity index 75% rename from app-api/src/main/java/com/parkingcomestrue/parking/api/auth/authcode/AuthCodeController.java rename to src/main/java/com/example/parking/auth/authcode/api/AuthCodeController.java index dba87144..f106a7c9 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/api/auth/authcode/AuthCodeController.java +++ b/src/main/java/com/example/parking/auth/authcode/api/AuthCodeController.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.parking.api.auth.authcode; +package com.example.parking.auth.authcode.api; -import com.parkingcomestrue.parking.application.auth.AuthService; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeCertificateRequest; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeRequest; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeResponse; +import com.example.parking.auth.AuthService; +import com.example.parking.auth.authcode.application.dto.AuthCodeCertificateRequest; +import com.example.parking.auth.authcode.application.dto.AuthCodeRequest; +import com.example.parking.auth.authcode.application.dto.AuthCodeResponse; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeEventListener.java b/src/main/java/com/example/parking/auth/authcode/application/AuthCodeEventListener.java similarity index 83% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeEventListener.java rename to src/main/java/com/example/parking/auth/authcode/application/AuthCodeEventListener.java index 1129465e..4c8021b1 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeEventListener.java +++ b/src/main/java/com/example/parking/auth/authcode/application/AuthCodeEventListener.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode.application; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeCreateEvent; -import com.parkingcomestrue.parking.application.auth.authcode.infrastructure.AuthCodeSender; -import com.parkingcomestrue.parking.application.auth.authcode.util.AuthCodeKeyConverter; +import com.example.parking.auth.authcode.event.AuthCodeCreateEvent; +import com.example.parking.auth.authcode.infrastructure.AuthCodeSender; +import com.example.parking.auth.authcode.util.AuthCodeKeyConverter; import java.time.Instant; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeValidator.java b/src/main/java/com/example/parking/auth/authcode/application/AuthCodeValidator.java similarity index 79% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeValidator.java rename to src/main/java/com/example/parking/auth/authcode/application/AuthCodeValidator.java index b570305d..2ea904e7 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/AuthCodeValidator.java +++ b/src/main/java/com/example/parking/auth/authcode/application/AuthCodeValidator.java @@ -1,5 +1,7 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode.application; +import com.example.parking.auth.authcode.AuthCodePlatform; +import com.example.parking.auth.authcode.InValidAuthCodeException; import java.util.EnumMap; import org.springframework.stereotype.Component; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/MailPlatformValidator.java b/src/main/java/com/example/parking/auth/authcode/application/MailPlatformValidator.java similarity index 88% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/MailPlatformValidator.java rename to src/main/java/com/example/parking/auth/authcode/application/MailPlatformValidator.java index 695a0b47..e023ec4b 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/MailPlatformValidator.java +++ b/src/main/java/com/example/parking/auth/authcode/application/MailPlatformValidator.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode.application; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/PlatformValidator.java b/src/main/java/com/example/parking/auth/authcode/application/PlatformValidator.java similarity index 57% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/PlatformValidator.java rename to src/main/java/com/example/parking/auth/authcode/application/PlatformValidator.java index d33eaac9..2c72f19b 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/PlatformValidator.java +++ b/src/main/java/com/example/parking/auth/authcode/application/PlatformValidator.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode; +package com.example.parking.auth.authcode.application; public interface PlatformValidator { diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeCertificateRequest.java b/src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeCertificateRequest.java similarity index 89% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeCertificateRequest.java rename to src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeCertificateRequest.java index ea2d85ff..ff689c76 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeCertificateRequest.java +++ b/src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeCertificateRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.dto; +package com.example.parking.auth.authcode.application.dto; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeRequest.java b/src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeRequest.java similarity index 86% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeRequest.java rename to src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeRequest.java index 0b49d45a..eddcd68f 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeRequest.java +++ b/src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeRequest.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.dto; +package com.example.parking.auth.authcode.application.dto; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeResponse.java b/src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeResponse.java similarity index 73% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeResponse.java rename to src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeResponse.java index c030750e..4c44603d 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeResponse.java +++ b/src/main/java/com/example/parking/auth/authcode/application/dto/AuthCodeResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.dto; +package com.example.parking.auth.authcode.application.dto; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeCreateEvent.java b/src/main/java/com/example/parking/auth/authcode/event/AuthCodeCreateEvent.java similarity index 88% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeCreateEvent.java rename to src/main/java/com/example/parking/auth/authcode/event/AuthCodeCreateEvent.java index eba65049..2aad93fb 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/dto/AuthCodeCreateEvent.java +++ b/src/main/java/com/example/parking/auth/authcode/event/AuthCodeCreateEvent.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.dto; +package com.example.parking.auth.authcode.event; import lombok.Getter; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/infrastructure/AuthCodeSender.java b/src/main/java/com/example/parking/auth/authcode/infrastructure/AuthCodeSender.java similarity index 53% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/infrastructure/AuthCodeSender.java rename to src/main/java/com/example/parking/auth/authcode/infrastructure/AuthCodeSender.java index e51d045b..4e69d603 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/infrastructure/AuthCodeSender.java +++ b/src/main/java/com/example/parking/auth/authcode/infrastructure/AuthCodeSender.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.infrastructure; +package com.example.parking.auth.authcode.infrastructure; public interface AuthCodeSender { diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/infrastructure/MailAuthCodeSender.java b/src/main/java/com/example/parking/auth/authcode/infrastructure/MailAuthCodeSender.java similarity index 89% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/infrastructure/MailAuthCodeSender.java rename to src/main/java/com/example/parking/auth/authcode/infrastructure/MailAuthCodeSender.java index 051bee8a..69af06af 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/infrastructure/MailAuthCodeSender.java +++ b/src/main/java/com/example/parking/auth/authcode/infrastructure/MailAuthCodeSender.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.infrastructure; +package com.example.parking.auth.authcode.infrastructure; import lombok.RequiredArgsConstructor; import org.springframework.mail.SimpleMailMessage; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/AuthCodeKeyConverter.java b/src/main/java/com/example/parking/auth/authcode/util/AuthCodeKeyConverter.java similarity index 87% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/AuthCodeKeyConverter.java rename to src/main/java/com/example/parking/auth/authcode/util/AuthCodeKeyConverter.java index 0b8a9743..86dc10d8 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/AuthCodeKeyConverter.java +++ b/src/main/java/com/example/parking/auth/authcode/util/AuthCodeKeyConverter.java @@ -1,5 +1,4 @@ - -package com.parkingcomestrue.parking.application.auth.authcode.util; +package com.example.parking.auth.authcode.util; import java.util.StringJoiner; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/session/MemberSession.java b/src/main/java/com/example/parking/auth/session/MemberSession.java similarity index 93% rename from domain/src/main/java/com/parkingcomestrue/common/domain/session/MemberSession.java rename to src/main/java/com/example/parking/auth/session/MemberSession.java index 7b1248b2..50711966 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/session/MemberSession.java +++ b/src/main/java/com/example/parking/auth/session/MemberSession.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.session; +package com.example.parking.auth.session; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/session/repository/MemberSessionRepository.java b/src/main/java/com/example/parking/auth/session/MemberSessionRepository.java similarity index 72% rename from domain/src/main/java/com/parkingcomestrue/common/domain/session/repository/MemberSessionRepository.java rename to src/main/java/com/example/parking/auth/session/MemberSessionRepository.java index 5fedcbbd..547186ae 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/session/repository/MemberSessionRepository.java +++ b/src/main/java/com/example/parking/auth/session/MemberSessionRepository.java @@ -1,6 +1,5 @@ -package com.parkingcomestrue.common.domain.session.repository; +package com.example.parking.auth.session; -import com.parkingcomestrue.common.domain.session.MemberSession; import java.time.LocalDateTime; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/com/example/parking/config/ApiRestTemplateConfig.java b/src/main/java/com/example/parking/config/ApiRestTemplateConfig.java new file mode 100644 index 00000000..9759b232 --- /dev/null +++ b/src/main/java/com/example/parking/config/ApiRestTemplateConfig.java @@ -0,0 +1,22 @@ +package com.example.parking.config; + +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class ApiRestTemplateConfig { + + @Bean + @Qualifier("parkingApiRestTemplate") + public RestTemplate parkingApiRestTemplate(RestTemplateBuilder restTemplateBuilder) { + return restTemplateBuilder + .errorHandler(new ParkingApiErrorHandler()) + .defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE) + .build(); + } +} diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/config/ParkingApiErrorHandler.java b/src/main/java/com/example/parking/config/ParkingApiErrorHandler.java similarity index 92% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/config/ParkingApiErrorHandler.java rename to src/main/java/com/example/parking/config/ParkingApiErrorHandler.java index 51b09734..58840087 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/config/ParkingApiErrorHandler.java +++ b/src/main/java/com/example/parking/config/ParkingApiErrorHandler.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.external.config; +package com.example.parking.config; import java.io.IOException; import lombok.extern.slf4j.Slf4j; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/config/RestTemplateConfig.java b/src/main/java/com/example/parking/config/RestTemplateConfig.java similarity index 61% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/config/RestTemplateConfig.java rename to src/main/java/com/example/parking/config/RestTemplateConfig.java index d9d50635..80abb3b7 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/config/RestTemplateConfig.java +++ b/src/main/java/com/example/parking/config/RestTemplateConfig.java @@ -1,13 +1,11 @@ -package com.parkingcomestrue.external.config; +package com.example.parking.config; -import com.parkingcomestrue.external.coordinate.CoordinateErrorHandler; +import com.example.parking.external.coordinate.CoordinateErrorHandler; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; import org.springframework.web.client.RestTemplate; @Configuration @@ -24,13 +22,4 @@ public RestTemplate coordinateRestTemplate(RestTemplateBuilder restTemplateBuild .defaultHeader(AUTH_HEADER, kakaoUrl) .build(); } - - @Bean - @Qualifier("parkingApiRestTemplate") - public RestTemplate parkingApiRestTemplate(RestTemplateBuilder restTemplateBuilder) { - return restTemplateBuilder - .errorHandler(new ParkingApiErrorHandler()) - .defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE) - .build(); - } } diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/SwaggerConfig.java b/src/main/java/com/example/parking/config/SwaggerConfig.java similarity index 96% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/SwaggerConfig.java rename to src/main/java/com/example/parking/config/SwaggerConfig.java index 3a1c838c..a3a5230a 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/SwaggerConfig.java +++ b/src/main/java/com/example/parking/config/SwaggerConfig.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.config; +package com.example.parking.config; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/WebMvcConfig.java b/src/main/java/com/example/parking/config/WebMvcConfig.java similarity index 85% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/WebMvcConfig.java rename to src/main/java/com/example/parking/config/WebMvcConfig.java index cb8f0f84..628c0431 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/WebMvcConfig.java +++ b/src/main/java/com/example/parking/config/WebMvcConfig.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.parking.config; +package com.example.parking.config; -import com.parkingcomestrue.parking.config.argumentresolver.AuthArgumentResolver; -import com.parkingcomestrue.parking.config.argumentresolver.parking.ParkingQueryArgumentResolver; -import com.parkingcomestrue.parking.config.argumentresolver.parking.ParkingSearchConditionArgumentResolver; -import com.parkingcomestrue.parking.config.interceptor.AuthInterceptor; +import com.example.parking.config.argumentresolver.AuthArgumentResolver; +import com.example.parking.config.argumentresolver.parking.ParkingQueryArgumentResolver; +import com.example.parking.config.argumentresolver.parking.ParkingSearchConditionArgumentResolver; +import com.example.parking.config.interceptor.AuthInterceptor; import io.swagger.v3.oas.models.PathItem; import java.util.List; import lombok.RequiredArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/AuthArgumentResolver.java b/src/main/java/com/example/parking/config/argumentresolver/AuthArgumentResolver.java similarity index 87% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/AuthArgumentResolver.java rename to src/main/java/com/example/parking/config/argumentresolver/AuthArgumentResolver.java index fa28a409..8a4ae81f 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/AuthArgumentResolver.java +++ b/src/main/java/com/example/parking/config/argumentresolver/AuthArgumentResolver.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.parking.config.argumentresolver; +package com.example.parking.config.argumentresolver; -import com.parkingcomestrue.parking.application.auth.AuthService; -import com.parkingcomestrue.common.domain.session.MemberSession; +import com.example.parking.auth.AuthService; +import com.example.parking.auth.session.MemberSession; import lombok.RequiredArgsConstructor; import org.springframework.core.MethodParameter; import org.springframework.stereotype.Component; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/MemberAuth.java b/src/main/java/com/example/parking/config/argumentresolver/MemberAuth.java similarity index 82% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/MemberAuth.java rename to src/main/java/com/example/parking/config/argumentresolver/MemberAuth.java index 6f4ea2bf..4fdcee5a 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/MemberAuth.java +++ b/src/main/java/com/example/parking/config/argumentresolver/MemberAuth.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.config.argumentresolver; +package com.example.parking.config.argumentresolver; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingQuery.java b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingQuery.java similarity index 79% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingQuery.java rename to src/main/java/com/example/parking/config/argumentresolver/parking/ParkingQuery.java index ad3d7bcc..e328d4e7 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingQuery.java +++ b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingQuery.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.config.argumentresolver.parking; +package com.example.parking.config.argumentresolver.parking; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingQueryArgumentResolver.java b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingQueryArgumentResolver.java similarity index 88% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingQueryArgumentResolver.java rename to src/main/java/com/example/parking/config/argumentresolver/parking/ParkingQueryArgumentResolver.java index a3f3dc24..082db669 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingQueryArgumentResolver.java +++ b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingQueryArgumentResolver.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.parking.config.argumentresolver.parking; +package com.example.parking.config.argumentresolver.parking; -import com.parkingcomestrue.parking.application.parking.dto.ParkingQueryRequest; +import com.example.parking.application.parking.dto.ParkingQueryRequest; import org.springframework.core.MethodParameter; import org.springframework.stereotype.Component; import org.springframework.web.bind.support.WebDataBinderFactory; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingSearchCondition.java b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingSearchCondition.java similarity index 79% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingSearchCondition.java rename to src/main/java/com/example/parking/config/argumentresolver/parking/ParkingSearchCondition.java index 347f710d..275cf05e 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingSearchCondition.java +++ b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingSearchCondition.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.config.argumentresolver.parking; +package com.example.parking.config.argumentresolver.parking; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingSearchConditionArgumentResolver.java b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingSearchConditionArgumentResolver.java similarity index 87% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingSearchConditionArgumentResolver.java rename to src/main/java/com/example/parking/config/argumentresolver/parking/ParkingSearchConditionArgumentResolver.java index a4698554..4514e6bb 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/argumentresolver/parking/ParkingSearchConditionArgumentResolver.java +++ b/src/main/java/com/example/parking/config/argumentresolver/parking/ParkingSearchConditionArgumentResolver.java @@ -1,10 +1,10 @@ -package com.parkingcomestrue.parking.config.argumentresolver.parking; +package com.example.parking.config.argumentresolver.parking; -import com.parkingcomestrue.parking.application.SearchConditionMapper; -import com.parkingcomestrue.parking.application.parking.dto.ParkingSearchConditionRequest; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayType; +import com.example.parking.application.SearchConditionMapper; +import com.example.parking.application.parking.dto.ParkingSearchConditionRequest; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayType; import java.util.Arrays; import java.util.List; import lombok.RequiredArgsConstructor; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/interceptor/AuthInterceptor.java b/src/main/java/com/example/parking/config/interceptor/AuthInterceptor.java similarity index 82% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/interceptor/AuthInterceptor.java rename to src/main/java/com/example/parking/config/interceptor/AuthInterceptor.java index 848879ce..71f09d76 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/interceptor/AuthInterceptor.java +++ b/src/main/java/com/example/parking/config/interceptor/AuthInterceptor.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.parking.config.interceptor; +package com.example.parking.config.interceptor; -import com.parkingcomestrue.parking.application.auth.AuthService; -import com.parkingcomestrue.common.domain.session.MemberSession; +import com.example.parking.auth.AuthService; +import com.example.parking.auth.session.MemberSession; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/AuditingEntity.java b/src/main/java/com/example/parking/domain/AuditingEntity.java similarity index 92% rename from domain/src/main/java/com/parkingcomestrue/common/domain/AuditingEntity.java rename to src/main/java/com/example/parking/domain/AuditingEntity.java index fb3139fe..8f1bf061 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/AuditingEntity.java +++ b/src/main/java/com/example/parking/domain/AuditingEntity.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain; +package com.example.parking.domain; import jakarta.persistence.EntityListeners; import jakarta.persistence.MappedSuperclass; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/favorite/Favorite.java b/src/main/java/com/example/parking/domain/favorite/Favorite.java similarity index 81% rename from domain/src/main/java/com/parkingcomestrue/common/domain/favorite/Favorite.java rename to src/main/java/com/example/parking/domain/favorite/Favorite.java index 2c760ee1..69dd9a60 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/favorite/Favorite.java +++ b/src/main/java/com/example/parking/domain/favorite/Favorite.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.common.domain.favorite; +package com.example.parking.domain.favorite; -import com.parkingcomestrue.common.domain.AuditingEntity; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.domain.AuditingEntity; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.support.Association; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embedded; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/favorite/repository/FavoriteRepository.java b/src/main/java/com/example/parking/domain/favorite/FavoriteRepository.java similarity index 54% rename from domain/src/main/java/com/parkingcomestrue/common/domain/favorite/repository/FavoriteRepository.java rename to src/main/java/com/example/parking/domain/favorite/FavoriteRepository.java index 64613649..81aa3862 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/favorite/repository/FavoriteRepository.java +++ b/src/main/java/com/example/parking/domain/favorite/FavoriteRepository.java @@ -1,9 +1,8 @@ -package com.parkingcomestrue.common.domain.favorite.repository; +package com.example.parking.domain.favorite; -import com.parkingcomestrue.common.domain.favorite.Favorite; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.support.Association; import java.util.List; import org.springframework.data.repository.Repository; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/member/Member.java b/src/main/java/com/example/parking/domain/member/Member.java similarity index 66% rename from domain/src/main/java/com/parkingcomestrue/common/domain/member/Member.java rename to src/main/java/com/example/parking/domain/member/Member.java index 3df995c7..8a495975 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/member/Member.java +++ b/src/main/java/com/example/parking/domain/member/Member.java @@ -1,18 +1,14 @@ -package com.parkingcomestrue.common.domain.member; +package com.example.parking.domain.member; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; -import jakarta.persistence.Column; -import jakarta.persistence.Embedded; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import java.util.Objects; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; +import jakarta.persistence.*; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; +import java.util.Objects; + @Getter @Entity //@SQLRestriction(value = "deleted = false") @@ -39,13 +35,6 @@ public Member(String email, String nickname, Password password) { this.password = password; } - public void validatePassword(String password) { - if (checkPassword(password)) { - return; - } - throw new DomainException(DomainExceptionInformation.INVALID_PASSWORD); - } - public boolean checkPassword(String password) { return this.password.isMatch(password); } @@ -55,8 +44,11 @@ public void delete() { } public void changePassword(String previousPassword, String newPassword) { - validatePassword(previousPassword); - this.password = new Password(newPassword); + if (checkPassword(previousPassword)) { + this.password = new Password(newPassword); + return; + } + throw new DomainException(ExceptionInformation.INVALID_PASSWORD); } @Override diff --git a/src/main/java/com/example/parking/domain/member/MemberId.java b/src/main/java/com/example/parking/domain/member/MemberId.java new file mode 100644 index 00000000..d3ac6b0b --- /dev/null +++ b/src/main/java/com/example/parking/domain/member/MemberId.java @@ -0,0 +1,17 @@ +package com.example.parking.domain.member; + +import jakarta.persistence.Embeddable; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Embeddable +@NoArgsConstructor +@Getter +public class MemberId { + + private Long memberId; + + public MemberId(Long memberId) { + this.memberId = memberId; + } +} diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/member/repository/MemberRepository.java b/src/main/java/com/example/parking/domain/member/MemberRepository.java similarity index 57% rename from domain/src/main/java/com/parkingcomestrue/common/domain/member/repository/MemberRepository.java rename to src/main/java/com/example/parking/domain/member/MemberRepository.java index a4848907..0b515618 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/member/repository/MemberRepository.java +++ b/src/main/java/com/example/parking/domain/member/MemberRepository.java @@ -1,8 +1,7 @@ -package com.parkingcomestrue.common.domain.member.repository; +package com.example.parking.domain.member; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; -import com.parkingcomestrue.common.domain.member.Member; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import java.util.Optional; import org.springframework.data.repository.Repository; @@ -17,6 +16,6 @@ public interface MemberRepository extends Repository { void save(Member member); default Member getById(Long id) { - return findById(id).orElseThrow(() -> new DomainException(DomainExceptionInformation.INVALID_MEMBER)); + return findById(id).orElseThrow(() -> new DomainException(ExceptionInformation.INVALID_MEMBER)); } } diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/member/Password.java b/src/main/java/com/example/parking/domain/member/Password.java similarity index 73% rename from domain/src/main/java/com/parkingcomestrue/common/domain/member/Password.java rename to src/main/java/com/example/parking/domain/member/Password.java index 5befdae1..f7bc6b27 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/member/Password.java +++ b/src/main/java/com/example/parking/domain/member/Password.java @@ -1,12 +1,13 @@ -package com.parkingcomestrue.common.domain.member; +package com.example.parking.domain.member; -import com.parkingcomestrue.common.util.cipher.SHA256; +import com.example.parking.util.cipher.SHA256; import jakarta.persistence.Embeddable; -import java.util.Objects; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; +import java.util.Objects; + @Embeddable @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @@ -24,12 +25,8 @@ public boolean isMatch(String password) { @Override public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; Password that = (Password) o; return Objects.equals(password, that.password); } diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/BaseInformation.java b/src/main/java/com/example/parking/domain/parking/BaseInformation.java similarity index 96% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/BaseInformation.java rename to src/main/java/com/example/parking/domain/parking/BaseInformation.java index 73f24df6..8287650d 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/BaseInformation.java +++ b/src/main/java/com/example/parking/domain/parking/BaseInformation.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import static jakarta.persistence.EnumType.STRING; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Day.java b/src/main/java/com/example/parking/domain/parking/Day.java similarity index 86% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/Day.java rename to src/main/java/com/example/parking/domain/parking/Day.java index 4cf87d51..c752d22d 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Day.java +++ b/src/main/java/com/example/parking/domain/parking/Day.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import java.time.DayOfWeek; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/DayParking.java b/src/main/java/com/example/parking/domain/parking/DayParking.java similarity index 75% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/DayParking.java rename to src/main/java/com/example/parking/domain/parking/DayParking.java index 4eef5b49..67334b83 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/DayParking.java +++ b/src/main/java/com/example/parking/domain/parking/DayParking.java @@ -1,14 +1,15 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import java.time.LocalTime; import lombok.Getter; +import java.time.LocalTime; + @Getter public class DayParking { - private final Day day; - private final LocalTime beginTime; - private final LocalTime endTime; + private Day day; + private LocalTime beginTime; + private LocalTime endTime; public DayParking(Day day, LocalTime beginTime, LocalTime endTime) { this.day = day; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Fee.java b/src/main/java/com/example/parking/domain/parking/Fee.java similarity index 95% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/Fee.java rename to src/main/java/com/example/parking/domain/parking/Fee.java index 275ffd5a..2845b1cd 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Fee.java +++ b/src/main/java/com/example/parking/domain/parking/Fee.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.Embeddable; import lombok.AccessLevel; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/FeePolicy.java b/src/main/java/com/example/parking/domain/parking/FeePolicy.java similarity index 97% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/FeePolicy.java rename to src/main/java/com/example/parking/domain/parking/FeePolicy.java index 8cb08d36..d208597d 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/FeePolicy.java +++ b/src/main/java/com/example/parking/domain/parking/FeePolicy.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/FreeOperatingTime.java b/src/main/java/com/example/parking/domain/parking/FreeOperatingTime.java similarity index 98% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/FreeOperatingTime.java rename to src/main/java/com/example/parking/domain/parking/FreeOperatingTime.java index 46d742dd..0f21f270 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/FreeOperatingTime.java +++ b/src/main/java/com/example/parking/domain/parking/FreeOperatingTime.java @@ -1,13 +1,14 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; -import java.time.LocalTime; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import java.time.LocalTime; + @NoArgsConstructor(access = AccessLevel.PROTECTED) @Embeddable public class FreeOperatingTime { diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Location.java b/src/main/java/com/example/parking/domain/parking/Location.java similarity index 87% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/Location.java rename to src/main/java/com/example/parking/domain/parking/Location.java index 0f512a6b..18732ddc 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Location.java +++ b/src/main/java/com/example/parking/domain/parking/Location.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import jakarta.persistence.Embeddable; import lombok.AccessLevel; import lombok.EqualsAndHashCode; @@ -46,7 +46,7 @@ public static Location of(Double longitude, Double latitude) { private static void verifyLocation(Double longitude, Double latitude) { if (longitude > MAX_LONGITUDE || longitude < MIN_LONGITUDE || latitude > MAX_LATITUDE || latitude < MIN_LATITUDE) { - throw new DomainException(DomainExceptionInformation.INVALID_LOCATION); + throw new DomainException(ExceptionInformation.INVALID_LOCATION); } } diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/OperatingTime.java b/src/main/java/com/example/parking/domain/parking/OperatingTime.java similarity index 97% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/OperatingTime.java rename to src/main/java/com/example/parking/domain/parking/OperatingTime.java index 65cdde82..ff8a9a32 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/OperatingTime.java +++ b/src/main/java/com/example/parking/domain/parking/OperatingTime.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/OperationType.java b/src/main/java/com/example/parking/domain/parking/OperationType.java similarity index 73% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/OperationType.java rename to src/main/java/com/example/parking/domain/parking/OperationType.java index f51b760d..23eab9c7 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/OperationType.java +++ b/src/main/java/com/example/parking/domain/parking/OperationType.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.searchcondition.SearchConditionAvailable; +import com.example.parking.domain.searchcondition.SearchConditionAvailable; import lombok.Getter; @Getter diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Parking.java b/src/main/java/com/example/parking/domain/parking/Parking.java similarity index 97% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/Parking.java rename to src/main/java/com/example/parking/domain/parking/Parking.java index 0f135a38..2c2101c4 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Parking.java +++ b/src/main/java/com/example/parking/domain/parking/Parking.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.AuditingEntity; +import com.example.parking.domain.AuditingEntity; import jakarta.persistence.Embedded; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/ParkingFeeCalculator.java b/src/main/java/com/example/parking/domain/parking/ParkingFeeCalculator.java similarity index 98% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/ParkingFeeCalculator.java rename to src/main/java/com/example/parking/domain/parking/ParkingFeeCalculator.java index fbf8c8d2..4c974cef 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/ParkingFeeCalculator.java +++ b/src/main/java/com/example/parking/domain/parking/ParkingFeeCalculator.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import java.time.LocalDateTime; import java.time.LocalTime; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/ParkingType.java b/src/main/java/com/example/parking/domain/parking/ParkingType.java similarity index 83% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/ParkingType.java rename to src/main/java/com/example/parking/domain/parking/ParkingType.java index 4e3a6ce1..5c7c39f3 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/ParkingType.java +++ b/src/main/java/com/example/parking/domain/parking/ParkingType.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.searchcondition.SearchConditionAvailable; +import com.example.parking.domain.searchcondition.SearchConditionAvailable; import java.util.Arrays; import lombok.Getter; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/PayType.java b/src/main/java/com/example/parking/domain/parking/PayType.java similarity index 74% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/PayType.java rename to src/main/java/com/example/parking/domain/parking/PayType.java index 60310ade..11e9f793 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/PayType.java +++ b/src/main/java/com/example/parking/domain/parking/PayType.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.searchcondition.SearchConditionAvailable; +import com.example.parking.domain.searchcondition.SearchConditionAvailable; import lombok.Getter; @Getter diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/PayTypes.java b/src/main/java/com/example/parking/domain/parking/PayTypes.java similarity index 96% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/PayTypes.java rename to src/main/java/com/example/parking/domain/parking/PayTypes.java index 9089cdb7..83e64a3f 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/PayTypes.java +++ b/src/main/java/com/example/parking/domain/parking/PayTypes.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.Embeddable; import java.util.Collection; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/SearchingCondition.java b/src/main/java/com/example/parking/domain/parking/SearchingCondition.java similarity index 85% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/SearchingCondition.java rename to src/main/java/com/example/parking/domain/parking/SearchingCondition.java index ccc6988b..820ddb7a 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/SearchingCondition.java +++ b/src/main/java/com/example/parking/domain/parking/SearchingCondition.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; +import com.example.parking.domain.searchcondition.FeeType; import java.util.List; import lombok.Getter; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Space.java b/src/main/java/com/example/parking/domain/parking/Space.java similarity index 95% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/Space.java rename to src/main/java/com/example/parking/domain/parking/Space.java index bb987b5d..addbc039 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/Space.java +++ b/src/main/java/com/example/parking/domain/parking/Space.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.Embeddable; import lombok.AccessLevel; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/TimeInfo.java b/src/main/java/com/example/parking/domain/parking/TimeInfo.java similarity index 97% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/TimeInfo.java rename to src/main/java/com/example/parking/domain/parking/TimeInfo.java index f5347050..3934fd96 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/TimeInfo.java +++ b/src/main/java/com/example/parking/domain/parking/TimeInfo.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.Embeddable; import java.time.LocalTime; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/TimeUnit.java b/src/main/java/com/example/parking/domain/parking/TimeUnit.java similarity index 95% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/TimeUnit.java rename to src/main/java/com/example/parking/domain/parking/TimeUnit.java index d407befb..f98814b9 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/TimeUnit.java +++ b/src/main/java/com/example/parking/domain/parking/TimeUnit.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import jakarta.persistence.Embeddable; import lombok.AccessLevel; diff --git a/src/main/java/com/example/parking/domain/parking/dto/ParkingQueryCondition.java b/src/main/java/com/example/parking/domain/parking/dto/ParkingQueryCondition.java new file mode 100644 index 00000000..3e40c896 --- /dev/null +++ b/src/main/java/com/example/parking/domain/parking/dto/ParkingQueryCondition.java @@ -0,0 +1,23 @@ +package com.example.parking.domain.parking.dto; + +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import lombok.Getter; + +@Getter +public class ParkingQueryCondition { + + private OperationType operationType; + private ParkingType parkingType; + private Boolean cardEnabled; + private PayTypes payTypes; + + public ParkingQueryCondition(OperationType operationType, ParkingType parkingType, Boolean cardEnabled, + PayTypes payTypes) { + this.operationType = operationType; + this.parkingType = parkingType; + this.cardEnabled = cardEnabled; + this.payTypes = payTypes; + } +} diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/repository/ParkingRepository.java b/src/main/java/com/example/parking/domain/parking/repository/ParkingRepository.java similarity index 79% rename from domain/src/main/java/com/parkingcomestrue/common/domain/parking/repository/ParkingRepository.java rename to src/main/java/com/example/parking/domain/parking/repository/ParkingRepository.java index 47372665..d7a79aba 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/parking/repository/ParkingRepository.java +++ b/src/main/java/com/example/parking/domain/parking/repository/ParkingRepository.java @@ -1,8 +1,8 @@ -package com.parkingcomestrue.common.domain.parking.repository; +package com.example.parking.domain.parking.repository; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.domain.parking.Parking; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import java.util.List; import java.util.Optional; import java.util.Set; @@ -14,7 +14,7 @@ public interface ParkingRepository extends Repository { default Parking getById(Long id) { - return findById(id).orElseThrow(() -> new DomainException(DomainExceptionInformation.INVALID_PARKING)); + return findById(id).orElseThrow(() -> new DomainException(ExceptionInformation.INVALID_PARKING)); } Optional findById(Long id); diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/review/Content.java b/src/main/java/com/example/parking/domain/review/Content.java similarity index 76% rename from domain/src/main/java/com/parkingcomestrue/common/domain/review/Content.java rename to src/main/java/com/example/parking/domain/review/Content.java index 1ab1b314..83dc5290 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/review/Content.java +++ b/src/main/java/com/example/parking/domain/review/Content.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.common.domain.review; +package com.example.parking.domain.review; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import java.util.Arrays; import lombok.Getter; @@ -29,6 +29,6 @@ public static Content find(String description) { return Arrays.stream(values()) .filter(content -> content.getDescription().startsWith(description)) .findAny() - .orElseThrow(() -> new DomainException(DomainExceptionInformation.INVALID_CONTENT)); + .orElseThrow(() -> new DomainException(ExceptionInformation.INVALID_CONTENT)); } } diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/review/Review.java b/src/main/java/com/example/parking/domain/review/Review.java similarity index 74% rename from domain/src/main/java/com/parkingcomestrue/common/domain/review/Review.java rename to src/main/java/com/example/parking/domain/review/Review.java index 7f959b74..451f559a 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/review/Review.java +++ b/src/main/java/com/example/parking/domain/review/Review.java @@ -1,11 +1,11 @@ -package com.parkingcomestrue.common.domain.review; - -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.infra.converter.ContentConverter; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.support.Association; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +package com.example.parking.domain.review; + +import com.example.parking.infra.converter.ContentConverter; +import com.example.parking.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Convert; @@ -55,7 +55,7 @@ public Review(Association parkingId, Association reviewerId, Li private static void validate(List contents) { if (contents == null || contents.isEmpty() || contents.size() > MAX_CONTENTS_SIZE) { - throw new DomainException(DomainExceptionInformation.INVALID_CONTENTS_SIZE); + throw new DomainException(ExceptionInformation.INVALID_CONTENTS_SIZE); } } } diff --git a/src/main/java/com/example/parking/domain/review/ReviewRepository.java b/src/main/java/com/example/parking/domain/review/ReviewRepository.java new file mode 100644 index 00000000..5b35b444 --- /dev/null +++ b/src/main/java/com/example/parking/domain/review/ReviewRepository.java @@ -0,0 +1,26 @@ +package com.example.parking.domain.review; + +import com.example.parking.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; +import java.util.List; +import java.util.Optional; +import org.springframework.data.repository.Repository; + +public interface ReviewRepository extends Repository { + + Optional findById(Long id); + + default Review getById(Long id) { + return findById(id) + .orElseThrow(() -> new DomainException(ExceptionInformation.INVALID_REVIEW)); + } + + List findAllByParkingId(Association parkingId); + + void save(Review review); + + boolean existsByParkingIdAndReviewerId(Association parkingId, Association reviewerId); +} diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/review/service/ReviewDomainService.java b/src/main/java/com/example/parking/domain/review/service/ReviewDomainService.java similarity index 61% rename from domain/src/main/java/com/parkingcomestrue/common/domain/review/service/ReviewDomainService.java rename to src/main/java/com/example/parking/domain/review/service/ReviewDomainService.java index b11304f4..2e2672a3 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/review/service/ReviewDomainService.java +++ b/src/main/java/com/example/parking/domain/review/service/ReviewDomainService.java @@ -1,13 +1,13 @@ -package com.parkingcomestrue.common.domain.review.service; +package com.example.parking.domain.review.service; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.review.repository.ReviewRepository; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.review.Content; -import com.parkingcomestrue.common.domain.review.Review; -import com.parkingcomestrue.common.support.Association; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.review.Content; +import com.example.parking.domain.review.Review; +import com.example.parking.domain.review.ReviewRepository; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import java.util.Collection; import java.util.List; import java.util.Map; @@ -24,7 +24,7 @@ public class ReviewDomainService { public void validateDuplicateReview(Association parkingId, Association reviewerId) { if (reviewRepository.existsByParkingIdAndReviewerId(parkingId, reviewerId)) { - throw new DomainException(DomainExceptionInformation.DUPLICATE_REVIEW); + throw new DomainException(ExceptionInformation.DUPLICATE_REVIEW); } } diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/FeeType.java b/src/main/java/com/example/parking/domain/searchcondition/FeeType.java similarity index 85% rename from domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/FeeType.java rename to src/main/java/com/example/parking/domain/searchcondition/FeeType.java index 9cc403ec..75176b27 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/FeeType.java +++ b/src/main/java/com/example/parking/domain/searchcondition/FeeType.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.searchcondition; +package com.example.parking.domain.searchcondition; import lombok.Getter; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/Hours.java b/src/main/java/com/example/parking/domain/searchcondition/Hours.java similarity index 61% rename from domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/Hours.java rename to src/main/java/com/example/parking/domain/searchcondition/Hours.java index 8fc7a223..9f001d70 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/Hours.java +++ b/src/main/java/com/example/parking/domain/searchcondition/Hours.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.common.domain.searchcondition; +package com.example.parking.domain.searchcondition; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import jakarta.persistence.Embeddable; import lombok.AccessLevel; import lombok.Getter; @@ -22,6 +22,6 @@ public static Hours from(int hours) { if ((hours >= 1 && hours <= 12) || hours == 24) { return new Hours(hours); } - throw new DomainException(DomainExceptionInformation.INVALID_HOURS); + throw new DomainException(ExceptionInformation.INVALID_HOURS); } } diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/Priority.java b/src/main/java/com/example/parking/domain/searchcondition/Priority.java similarity index 86% rename from domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/Priority.java rename to src/main/java/com/example/parking/domain/searchcondition/Priority.java index c4a027a1..256bf6d5 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/Priority.java +++ b/src/main/java/com/example/parking/domain/searchcondition/Priority.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.searchcondition; +package com.example.parking.domain.searchcondition; import lombok.Getter; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/SearchCondition.java b/src/main/java/com/example/parking/domain/searchcondition/SearchCondition.java similarity index 76% rename from domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/SearchCondition.java rename to src/main/java/com/example/parking/domain/searchcondition/SearchCondition.java index 043f1781..9b55c910 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/SearchCondition.java +++ b/src/main/java/com/example/parking/domain/searchcondition/SearchCondition.java @@ -1,14 +1,14 @@ -package com.parkingcomestrue.common.domain.searchcondition; +package com.example.parking.domain.searchcondition; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.infra.converter.FeeTypeConverter; -import com.parkingcomestrue.common.infra.converter.OperationTypeConverter; -import com.parkingcomestrue.common.infra.converter.ParkingTypeConverter; -import com.parkingcomestrue.common.infra.converter.PayTypeConverter; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayType; +import com.example.parking.infra.converter.FeeTypeConverter; +import com.example.parking.infra.converter.OperationTypeConverter; +import com.example.parking.infra.converter.ParkingTypeConverter; +import com.example.parking.infra.converter.PayTypeConverter; +import com.example.parking.support.Association; import jakarta.persistence.AttributeOverride; import jakarta.persistence.Column; import jakarta.persistence.Convert; diff --git a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/SearchConditionAvailable.java b/src/main/java/com/example/parking/domain/searchcondition/SearchConditionAvailable.java similarity index 69% rename from domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/SearchConditionAvailable.java rename to src/main/java/com/example/parking/domain/searchcondition/SearchConditionAvailable.java index 5ff6095d..affea042 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/domain/searchcondition/SearchConditionAvailable.java +++ b/src/main/java/com/example/parking/domain/searchcondition/SearchConditionAvailable.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.domain.searchcondition; +package com.example.parking.domain.searchcondition; public interface SearchConditionAvailable { diff --git a/src/main/java/com/example/parking/domain/searchcondition/SearchConditionRepository.java b/src/main/java/com/example/parking/domain/searchcondition/SearchConditionRepository.java new file mode 100644 index 00000000..5d3f3aac --- /dev/null +++ b/src/main/java/com/example/parking/domain/searchcondition/SearchConditionRepository.java @@ -0,0 +1,18 @@ +package com.example.parking.domain.searchcondition; + +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; +import java.util.Optional; +import org.springframework.data.repository.Repository; + +public interface SearchConditionRepository extends Repository { + + Optional findByMemberId(Long memberId); + + default SearchCondition getByMemberId(Long memberId) { + return findByMemberId(memberId) + .orElseThrow(() -> new DomainException(ExceptionInformation.INVALID_SEARCH_CONDITION)); + } + + void save(SearchCondition searchCondition); +} diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/config/RedisConfig.java b/src/main/java/com/example/parking/external/config/RedisConfig.java similarity index 96% rename from app-api/src/main/java/com/parkingcomestrue/parking/config/RedisConfig.java rename to src/main/java/com/example/parking/external/config/RedisConfig.java index f4ef7089..40fe88b3 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/config/RedisConfig.java +++ b/src/main/java/com/example/parking/external/config/RedisConfig.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.config; +package com.example.parking.external.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/CoordinateErrorHandler.java b/src/main/java/com/example/parking/external/coordinate/CoordinateErrorHandler.java similarity index 66% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/CoordinateErrorHandler.java rename to src/main/java/com/example/parking/external/coordinate/CoordinateErrorHandler.java index 83114fac..56806996 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/CoordinateErrorHandler.java +++ b/src/main/java/com/example/parking/external/coordinate/CoordinateErrorHandler.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.external.coordinate; +package com.example.parking.external.coordinate; -import com.parkingcomestrue.external.support.exception.SchedulerException; -import com.parkingcomestrue.external.support.exception.SchedulerExceptionInformation; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; import java.io.IOException; import lombok.extern.slf4j.Slf4j; import org.springframework.http.client.ClientHttpResponse; @@ -18,6 +18,6 @@ public boolean hasError(ClientHttpResponse response) throws IOException { @Override public void handleError(ClientHttpResponse response) throws IOException { log.warn("fail while extracting coordinate by address code: {}", response.getStatusCode()); - throw new SchedulerException(SchedulerExceptionInformation.COORDINATE_EXCEPTION); + throw new ClientException(ExceptionInformation.COORDINATE_EXCEPTION); } } diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/CoordinateApiService.java b/src/main/java/com/example/parking/external/coordinate/CoordinateService.java similarity index 83% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/CoordinateApiService.java rename to src/main/java/com/example/parking/external/coordinate/CoordinateService.java index d1d8d3b3..ca6abd81 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/CoordinateApiService.java +++ b/src/main/java/com/example/parking/external/coordinate/CoordinateService.java @@ -1,8 +1,8 @@ -package com.parkingcomestrue.external.coordinate; +package com.example.parking.external.coordinate; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.external.coordinate.dto.CoordinateResponse; -import com.parkingcomestrue.external.coordinate.dto.CoordinateResponse.ExactLocation; +import com.example.parking.external.coordinate.dto.CoordinateResponse; +import com.example.parking.external.coordinate.dto.CoordinateResponse.ExactLocation; +import com.example.parking.domain.parking.Location; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -13,14 +13,14 @@ import org.springframework.web.util.UriComponentsBuilder; @Component -public class CoordinateApiService { +public class CoordinateService { private static final String KAKAO_URL = "https://dapi.kakao.com/v2/local/search/address.json"; private final RestTemplate restTemplate; @Autowired - public CoordinateApiService(@Qualifier("coordinateRestTemplate") RestTemplate restTemplate) { + public CoordinateService(@Qualifier("coordinateRestTemplate") RestTemplate restTemplate) { this.restTemplate = restTemplate; } diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/dto/CoordinateResponse.java b/src/main/java/com/example/parking/external/coordinate/dto/CoordinateResponse.java similarity index 94% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/dto/CoordinateResponse.java rename to src/main/java/com/example/parking/external/coordinate/dto/CoordinateResponse.java index b91f2831..9de28a14 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/coordinate/dto/CoordinateResponse.java +++ b/src/main/java/com/example/parking/external/coordinate/dto/CoordinateResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.external.coordinate.dto; +package com.example.parking.external.coordinate.dto; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/ParkingApiService.java b/src/main/java/com/example/parking/external/parkingapi/ParkingApiService.java similarity index 62% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/ParkingApiService.java rename to src/main/java/com/example/parking/external/parkingapi/ParkingApiService.java index 877d6a69..e7f4989a 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/ParkingApiService.java +++ b/src/main/java/com/example/parking/external/parkingapi/ParkingApiService.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.external.parkingapi; +package com.example.parking.external.parkingapi; -import com.parkingcomestrue.common.domain.parking.Parking; +import com.example.parking.domain.parking.Parking; import java.util.List; public interface ParkingApiService { diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingAdapter.java b/src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingAdapter.java similarity index 64% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingAdapter.java rename to src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingAdapter.java index 387c8b32..732696b1 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingAdapter.java +++ b/src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingAdapter.java @@ -1,18 +1,20 @@ -package com.parkingcomestrue.external.parkingapi.pusan; +package com.example.parking.external.parkingapi.pusan; -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeInfo; -import com.parkingcomestrue.common.domain.parking.TimeUnit; +import static com.example.parking.external.parkingapi.pusan.PusanPublicParkingResponse.ParkingInfo.*; + +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.Space; +import com.example.parking.domain.parking.TimeInfo; +import com.example.parking.domain.parking.TimeUnit; import java.time.DateTimeException; import java.time.LocalTime; import java.time.format.DateTimeFormatter; @@ -32,7 +34,7 @@ public List convert(PusanPublicParkingResponse response) { .toList(); } - private Parking toParking(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private Parking toParking(final Item response) { return new Parking( getBaseInformation(response), getLocation(response), @@ -43,7 +45,7 @@ private Parking toParking(final PusanPublicParkingResponse.ParkingInfo.Item resp ); } - private BaseInformation getBaseInformation(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private BaseInformation getBaseInformation(final Item response) { return new BaseInformation( response.getParkingName(), response.getTelephoneNumber(), @@ -54,22 +56,22 @@ private BaseInformation getBaseInformation(final PusanPublicParkingResponse.Park ); } - private String filterAddress(PusanPublicParkingResponse.ParkingInfo.Item response) { + private String filterAddress(Item response) { if (response.getOldAddress().equals(EMPTY)) { return response.getNewAddress(); } return response.getOldAddress(); } - private Location getLocation(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private Location getLocation(final Item response) { return Location.of(response.getLongitude(), response.getLatitude()); } - private Space getSpace(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private Space getSpace(final Item response) { return Space.of(response.getCapacity(), response.getCurParking()); } - private OperatingTime getOperatingTime(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private OperatingTime getOperatingTime(final Item response) { return new OperatingTime( new TimeInfo(parsingOperationTime(response.getWeekdayBeginTime()), parsingOperationTime(response.getWeekdayEndTime())), @@ -91,7 +93,7 @@ private LocalTime parsingOperationTime(String time) { } } - private FeePolicy getFeePolicy(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private FeePolicy getFeePolicy(final Item response) { return new FeePolicy( Fee.from(response.getRates()), Fee.from(response.getAddRates()), @@ -101,7 +103,7 @@ private FeePolicy getFeePolicy(final PusanPublicParkingResponse.ParkingInfo.Item ); } - private FreeOperatingTime getFreeOperatingTime(final PusanPublicParkingResponse.ParkingInfo.Item response) { + private FreeOperatingTime getFreeOperatingTime(final Item response) { if (response.getRates().equals("0") && response.getAddRates().equals("0")) { return FreeOperatingTime.ALWAYS_FREE; } diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingApiService.java b/src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingApiService.java similarity index 92% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingApiService.java rename to src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingApiService.java index 3685b99c..099d8b6b 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingApiService.java +++ b/src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingApiService.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.external.parkingapi.pusan; +package com.example.parking.external.parkingapi.pusan; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.external.parkingapi.ParkingApiService; +import com.example.parking.domain.parking.Parking; +import com.example.parking.external.parkingapi.ParkingApiService; import java.net.URI; import java.nio.charset.StandardCharsets; import java.util.List; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingResponse.java b/src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingResponse.java similarity index 97% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingResponse.java rename to src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingResponse.java index c79d2130..392053f5 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/pusan/PusanPublicParkingResponse.java +++ b/src/main/java/com/example/parking/external/parkingapi/pusan/PusanPublicParkingResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.external.parkingapi.pusan; +package com.example.parking.external.parkingapi.pusan; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; @@ -43,12 +43,13 @@ public static class Item { @JsonProperty("jibunAddr") private String oldAddress; - @JsonProperty("yCdnt") + @JsonProperty("xCdnt") private String latitude; - @JsonProperty("xCdnt") + @JsonProperty("yCdnt") private String longitude; + @JsonProperty("pkCnt") private String capacity; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingAdapter.java b/src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingAdapter.java similarity index 61% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingAdapter.java rename to src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingAdapter.java index a0918d7b..640f663c 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingAdapter.java +++ b/src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingAdapter.java @@ -1,18 +1,19 @@ -package com.parkingcomestrue.external.parkingapi.seoul; - -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeInfo; -import com.parkingcomestrue.common.domain.parking.TimeUnit; +package com.example.parking.external.parkingapi.seoul; + +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.Space; +import com.example.parking.domain.parking.TimeInfo; +import com.example.parking.domain.parking.TimeUnit; +import com.example.parking.external.parkingapi.seoul.SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking; import java.time.DateTimeException; import java.time.LocalTime; import java.time.format.DateTimeFormatter; @@ -32,26 +33,26 @@ public class SeoulPublicParkingAdapter { private static final String HOURS_24 = "2400"; public List convert(SeoulPublicParkingResponse response) { - List rows = response.getParkingInfo().getRows(); - List seoulCityParkingLots = calculateCapacity(filterByOperation(rows)); + List rows = response.getParkingInfo().getRows(); + List seoulCityParkingLots = calculateCapacity(filterByOperation(rows)); return seoulCityParkingLots.stream() .map(this::toParking) .toList(); } - private List filterByOperation(final List rows) { + private List filterByOperation(final List rows) { return rows.stream() .filter(result -> TIMED_PARKING_RULES.contains(result.getOperationRule())) .toList(); } - private List calculateCapacity(final List results) { - final Map> collect = results.stream() + private List calculateCapacity(final List results) { + final Map> collect = results.stream() .collect(Collectors.groupingBy(a -> a.getParkingCode())); return collect.values().stream().map(parkingLots -> { - final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking parking = parkingLots.get(0); + final SeoulCityParking parking = parkingLots.get(0); if (parking.getParkingTypeNM().equals(STREET_PARKING_TYPE)) { parking.setCapacity(parkingLots.size()); return parking; @@ -60,7 +61,7 @@ private List calculateC }).toList(); } - private Parking toParking(final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private Parking toParking(final SeoulCityParking response) { return new Parking( getBaseInformation(response), getLocation(response), @@ -71,7 +72,7 @@ private Parking toParking(final SeoulPublicParkingResponse.ParkingInfo.SeoulCity ); } - private BaseInformation getBaseInformation(final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private BaseInformation getBaseInformation(final SeoulCityParking response) { return new BaseInformation( response.getParkingName(), response.getTel(), @@ -82,18 +83,18 @@ private BaseInformation getBaseInformation(final SeoulPublicParkingResponse.Park ); } - private Location getLocation(final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private Location getLocation(final SeoulCityParking response) { return Location.of(response.getLng(), response.getLat()); } - private Space getSpace(final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private Space getSpace(final SeoulCityParking response) { return Space.of( response.getCapacity(), response.getCurParking() ); } - private FreeOperatingTime getFreeOperatingTime(SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private FreeOperatingTime getFreeOperatingTime(SeoulCityParking response) { if (response.getPayNM().equals(FREE)) { return FreeOperatingTime.ALWAYS_FREE; } @@ -104,7 +105,7 @@ private FreeOperatingTime getFreeOperatingTime(SeoulPublicParkingResponse.Parkin ); } - private OperatingTime getOperatingTime(final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private OperatingTime getOperatingTime(final SeoulCityParking response) { return new OperatingTime( new TimeInfo( parsingOperationTime(response.getWeekdayBeginTime()), @@ -132,7 +133,7 @@ private LocalTime parsingOperationTime(String time) { } } - private FeePolicy getFeePolicy(final SeoulPublicParkingResponse.ParkingInfo.SeoulCityParking response) { + private FeePolicy getFeePolicy(final SeoulCityParking response) { return new FeePolicy( Fee.from(response.getRates()), Fee.from(response.getAddRates()), diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingApiService.java b/src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingApiService.java similarity index 93% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingApiService.java rename to src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingApiService.java index c009bc94..1e2a4bb3 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingApiService.java +++ b/src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingApiService.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.external.parkingapi.seoul; +package com.example.parking.external.parkingapi.seoul; -import com.parkingcomestrue.external.parkingapi.ParkingApiService; -import com.parkingcomestrue.common.domain.parking.Parking; +import com.example.parking.domain.parking.Parking; +import com.example.parking.external.parkingapi.ParkingApiService; import java.net.URI; import java.nio.charset.StandardCharsets; import java.util.Collection; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingResponse.java b/src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingResponse.java similarity index 96% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingResponse.java rename to src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingResponse.java index 3516e21f..f51555b4 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/parkingapi/seoul/SeoulPublicParkingResponse.java +++ b/src/main/java/com/example/parking/external/parkingapi/seoul/SeoulPublicParkingResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.external.parkingapi.seoul; +package com.example.parking.external.parkingapi.seoul; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies; diff --git a/app-scheduler/src/main/java/com/parkingcomestrue/external/scheduler/ParkingUpdateScheduler.java b/src/main/java/com/example/parking/external/scheduler/ParkingUpdateScheduler.java similarity index 81% rename from app-scheduler/src/main/java/com/parkingcomestrue/external/scheduler/ParkingUpdateScheduler.java rename to src/main/java/com/example/parking/external/scheduler/ParkingUpdateScheduler.java index 3473afb4..3de2c057 100644 --- a/app-scheduler/src/main/java/com/parkingcomestrue/external/scheduler/ParkingUpdateScheduler.java +++ b/src/main/java/com/example/parking/external/scheduler/ParkingUpdateScheduler.java @@ -1,10 +1,10 @@ -package com.parkingcomestrue.external.scheduler; +package com.example.parking.external.scheduler; -import com.parkingcomestrue.external.coordinate.CoordinateApiService; -import com.parkingcomestrue.external.parkingapi.ParkingApiService; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.repository.ParkingRepository; +import com.example.parking.application.parking.ParkingService; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.Parking; +import com.example.parking.external.coordinate.CoordinateService; +import com.example.parking.external.parkingapi.ParkingApiService; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -26,8 +26,8 @@ public class ParkingUpdateScheduler { private final List parkingApiServices; - private final CoordinateApiService coordinateApiService; - private final ParkingRepository parkingRepository; + private final CoordinateService coordinateService; + private final ParkingService parkingService; @Scheduled(cron = "0 */30 * * * *") public void autoUpdateOfferCurrentParking() { @@ -63,7 +63,7 @@ private List read(ParkingApiService parkingApiService) { } private Map findAllByName(Set names) { - return parkingRepository.findAllByBaseInformationNameIn(names) + return parkingService.getParkingLots(names) .stream() .collect(toParkingMap()); } @@ -83,13 +83,12 @@ private void saveNewParkingLots(Map parkingLots, Map newParkingLots) { for (Parking parking : newParkingLots) { - Location locationByAddress = coordinateApiService.extractLocationByAddress( - parking.getBaseInformation().getAddress(), + Location locationByAddress = coordinateService.extractLocationByAddress(parking.getBaseInformation().getAddress(), parking.getLocation()); parking.update(locationByAddress); } diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/ContentConverter.java b/src/main/java/com/example/parking/infra/converter/ContentConverter.java similarity index 63% rename from domain/src/main/java/com/parkingcomestrue/common/infra/converter/ContentConverter.java rename to src/main/java/com/example/parking/infra/converter/ContentConverter.java index 5f5344c7..742bff3c 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/ContentConverter.java +++ b/src/main/java/com/example/parking/infra/converter/ContentConverter.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.infra.converter; -import com.parkingcomestrue.common.domain.review.Content; +import com.example.parking.domain.review.Content; import jakarta.persistence.Converter; @Converter diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/EnumListConverter.java b/src/main/java/com/example/parking/infra/converter/EnumListConverter.java similarity index 94% rename from domain/src/main/java/com/parkingcomestrue/common/infra/converter/EnumListConverter.java rename to src/main/java/com/example/parking/infra/converter/EnumListConverter.java index 41aaba43..1e5b91e6 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/EnumListConverter.java +++ b/src/main/java/com/example/parking/infra/converter/EnumListConverter.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.infra.converter; import jakarta.persistence.AttributeConverter; import java.util.Arrays; diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/FeeTypeConverter.java b/src/main/java/com/example/parking/infra/converter/FeeTypeConverter.java similarity index 61% rename from domain/src/main/java/com/parkingcomestrue/common/infra/converter/FeeTypeConverter.java rename to src/main/java/com/example/parking/infra/converter/FeeTypeConverter.java index e8e6ca89..26292af6 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/FeeTypeConverter.java +++ b/src/main/java/com/example/parking/infra/converter/FeeTypeConverter.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.infra.converter; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; +import com.example.parking.domain.searchcondition.FeeType; import jakarta.persistence.Converter; @Converter diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/OperationTypeConverter.java b/src/main/java/com/example/parking/infra/converter/OperationTypeConverter.java similarity index 64% rename from domain/src/main/java/com/parkingcomestrue/common/infra/converter/OperationTypeConverter.java rename to src/main/java/com/example/parking/infra/converter/OperationTypeConverter.java index 330edf91..452ace9c 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/OperationTypeConverter.java +++ b/src/main/java/com/example/parking/infra/converter/OperationTypeConverter.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.infra.converter; -import com.parkingcomestrue.common.domain.parking.OperationType; +import com.example.parking.domain.parking.OperationType; import jakarta.persistence.Converter; @Converter diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/ParkingTypeConverter.java b/src/main/java/com/example/parking/infra/converter/ParkingTypeConverter.java similarity index 63% rename from domain/src/main/java/com/parkingcomestrue/common/infra/converter/ParkingTypeConverter.java rename to src/main/java/com/example/parking/infra/converter/ParkingTypeConverter.java index 35b5f741..733a1f0f 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/ParkingTypeConverter.java +++ b/src/main/java/com/example/parking/infra/converter/ParkingTypeConverter.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.infra.converter; -import com.parkingcomestrue.common.domain.parking.ParkingType; +import com.example.parking.domain.parking.ParkingType; import jakarta.persistence.Converter; @Converter diff --git a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/PayTypeConverter.java b/src/main/java/com/example/parking/infra/converter/PayTypeConverter.java similarity index 62% rename from domain/src/main/java/com/parkingcomestrue/common/infra/converter/PayTypeConverter.java rename to src/main/java/com/example/parking/infra/converter/PayTypeConverter.java index 24950000..e4c683ae 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/infra/converter/PayTypeConverter.java +++ b/src/main/java/com/example/parking/infra/converter/PayTypeConverter.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.infra.converter; -import com.parkingcomestrue.common.domain.parking.PayType; +import com.example.parking.domain.parking.PayType; import jakarta.persistence.Converter; @Converter diff --git a/domain/src/main/java/com/parkingcomestrue/common/support/Association.java b/src/main/java/com/example/parking/support/Association.java similarity index 92% rename from domain/src/main/java/com/parkingcomestrue/common/support/Association.java rename to src/main/java/com/example/parking/support/Association.java index 2d80978a..cbc52d8b 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/support/Association.java +++ b/src/main/java/com/example/parking/support/Association.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.support; +package com.example.parking.support; import jakarta.persistence.Embeddable; import lombok.AccessLevel; diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/controlleradvice/GlobalExceptionHandler.java b/src/main/java/com/example/parking/support/controlleradvice/GlobalExceptionHandler.java similarity index 74% rename from app-api/src/main/java/com/parkingcomestrue/parking/controlleradvice/GlobalExceptionHandler.java rename to src/main/java/com/example/parking/support/controlleradvice/GlobalExceptionHandler.java index 6d1a67d9..f144b70a 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/controlleradvice/GlobalExceptionHandler.java +++ b/src/main/java/com/example/parking/support/controlleradvice/GlobalExceptionHandler.java @@ -1,12 +1,12 @@ -package com.parkingcomestrue.parking.controlleradvice; +package com.example.parking.support.controlleradvice; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.UNAUTHORIZED; -import com.parkingcomestrue.parking.controlleradvice.dto.ExceptionResponse; -import com.parkingcomestrue.parking.support.exception.ClientException; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.parking.support.exception.ClientExceptionInformation; +import com.example.parking.support.controlleradvice.dto.ExceptionResponse; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; +import com.example.parking.support.exception.DomainException; import java.util.EnumMap; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; @@ -18,11 +18,11 @@ @RestControllerAdvice public class GlobalExceptionHandler { - private final EnumMap exceptionInfoToHttpStatus = new EnumMap<>( - ClientExceptionInformation.class); + private final EnumMap exceptionInfoToHttpStatus = new EnumMap<>( + ExceptionInformation.class); public GlobalExceptionHandler() { - exceptionInfoToHttpStatus.put(ClientExceptionInformation.UNAUTHORIZED, UNAUTHORIZED); + exceptionInfoToHttpStatus.put(ExceptionInformation.UNAUTHORIZED, UNAUTHORIZED); } @ExceptionHandler(Exception.class) diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/controlleradvice/dto/ExceptionResponse.java b/src/main/java/com/example/parking/support/controlleradvice/dto/ExceptionResponse.java similarity index 50% rename from app-api/src/main/java/com/parkingcomestrue/parking/controlleradvice/dto/ExceptionResponse.java rename to src/main/java/com/example/parking/support/controlleradvice/dto/ExceptionResponse.java index 4f132e31..7ee9cf6a 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/controlleradvice/dto/ExceptionResponse.java +++ b/src/main/java/com/example/parking/support/controlleradvice/dto/ExceptionResponse.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.controlleradvice.dto; +package com.example.parking.support.controlleradvice.dto; public record ExceptionResponse(String errorMessage) { diff --git a/src/main/java/com/example/parking/support/exception/ClientException.java b/src/main/java/com/example/parking/support/exception/ClientException.java new file mode 100644 index 00000000..74d4d1bd --- /dev/null +++ b/src/main/java/com/example/parking/support/exception/ClientException.java @@ -0,0 +1,19 @@ +package com.example.parking.support.exception; + +import lombok.Getter; + +@Getter +public class ClientException extends RuntimeException{ + + private final ExceptionInformation exceptionInformation; + + public ClientException(ExceptionInformation exceptionInformation) { + super(); + this.exceptionInformation = exceptionInformation; + } + + @Override + public String getMessage() { + return exceptionInformation.getMessage(); + } +} diff --git a/src/main/java/com/example/parking/support/exception/DomainException.java b/src/main/java/com/example/parking/support/exception/DomainException.java new file mode 100644 index 00000000..77e1b2ec --- /dev/null +++ b/src/main/java/com/example/parking/support/exception/DomainException.java @@ -0,0 +1,16 @@ +package com.example.parking.support.exception; + +public class DomainException extends RuntimeException{ + + private final ExceptionInformation exceptionInformation; + + public DomainException(ExceptionInformation exceptionInformation) { + super(); + this.exceptionInformation = exceptionInformation; + } + + @Override + public String getMessage() { + return exceptionInformation.getMessage(); + } +} diff --git a/domain/src/main/java/com/parkingcomestrue/common/support/exception/DomainExceptionInformation.java b/src/main/java/com/example/parking/support/exception/ExceptionInformation.java similarity index 59% rename from domain/src/main/java/com/parkingcomestrue/common/support/exception/DomainExceptionInformation.java rename to src/main/java/com/example/parking/support/exception/ExceptionInformation.java index ce37f420..2917ca9b 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/support/exception/DomainExceptionInformation.java +++ b/src/main/java/com/example/parking/support/exception/ExceptionInformation.java @@ -1,12 +1,14 @@ -package com.parkingcomestrue.common.support.exception; +package com.example.parking.support.exception; import lombok.Getter; @Getter -public enum DomainExceptionInformation { - +public enum ExceptionInformation { + DUPLICATE_MAIL("중복된 이메일이라 회원가입이 불가능합니다."), + INVALID_EMAIL("회원가입되지 않은 이메일입니다."), INVALID_MEMBER("존재하지 않는 회원입니다."), INVALID_PASSWORD("비밀번호가 틀립니다."), + UNAUTHORIZED("존재하지 않는 sessionId 입니다."), INVALID_PARKING("존재하지 않는 주차장입니다."), INVALID_CONTENT("존재하지 않는 리뷰 내용입니다."), @@ -18,11 +20,15 @@ public enum DomainExceptionInformation { ENCRYPT_EXCEPTION("암호화에 실패했습니다."), + INVALID_CONNECT("주차장 API 연결 중 예외 발생"), + COORDINATE_EXCEPTION("좌표 변환 중 예외 발생"), + INVALID_AUTH_CODE("존재하지 않는 인증코드 입니다."), + INVALID_DESCRIPTION("해당하는 내용의 검색 조건이 존재하지 않습니다."), INVALID_LOCATION("경도 또는 위도가 올바르지 않습니다."); private final String message; - DomainExceptionInformation(String message) { + ExceptionInformation(String message) { this.message = message; } } diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/AuthCodeGenerator.java b/src/main/java/com/example/parking/util/authcode/AuthCodeGenerator.java similarity index 51% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/AuthCodeGenerator.java rename to src/main/java/com/example/parking/util/authcode/AuthCodeGenerator.java index 0bfa0711..d505a434 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/AuthCodeGenerator.java +++ b/src/main/java/com/example/parking/util/authcode/AuthCodeGenerator.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.util; +package com.example.parking.util.authcode; public interface AuthCodeGenerator { diff --git a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/NumberAuthCodeGenerator.java b/src/main/java/com/example/parking/util/authcode/NumberAuthCodeGenerator.java similarity index 88% rename from app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/NumberAuthCodeGenerator.java rename to src/main/java/com/example/parking/util/authcode/NumberAuthCodeGenerator.java index 56ae56de..0a26bc9e 100644 --- a/app-api/src/main/java/com/parkingcomestrue/parking/application/auth/authcode/util/NumberAuthCodeGenerator.java +++ b/src/main/java/com/example/parking/util/authcode/NumberAuthCodeGenerator.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.auth.authcode.util; +package com.example.parking.util.authcode; import java.util.Random; import org.springframework.stereotype.Component; diff --git a/domain/src/main/java/com/parkingcomestrue/common/util/cipher/EncryptionException.java b/src/main/java/com/example/parking/util/cipher/EncryptionException.java similarity index 74% rename from domain/src/main/java/com/parkingcomestrue/common/util/cipher/EncryptionException.java rename to src/main/java/com/example/parking/util/cipher/EncryptionException.java index 74b4d5f2..fa1e644a 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/util/cipher/EncryptionException.java +++ b/src/main/java/com/example/parking/util/cipher/EncryptionException.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.common.util.cipher; +package com.example.parking.util.cipher; public class EncryptionException extends RuntimeException { diff --git a/domain/src/main/java/com/parkingcomestrue/common/util/cipher/SHA256.java b/src/main/java/com/example/parking/util/cipher/SHA256.java similarity index 68% rename from domain/src/main/java/com/parkingcomestrue/common/util/cipher/SHA256.java rename to src/main/java/com/example/parking/util/cipher/SHA256.java index d12928f1..616d6b52 100644 --- a/domain/src/main/java/com/parkingcomestrue/common/util/cipher/SHA256.java +++ b/src/main/java/com/example/parking/util/cipher/SHA256.java @@ -1,7 +1,7 @@ -package com.parkingcomestrue.common.util.cipher; +package com.example.parking.util.cipher; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import java.security.MessageDigest; public class SHA256 { @@ -14,7 +14,7 @@ public static String encrypt(String plainText) { md.update(plainText.getBytes()); return bytesToHex(md.digest()); } catch (Exception e) { - throw new DomainException(DomainExceptionInformation.ENCRYPT_EXCEPTION); + throw new DomainException(ExceptionInformation.ENCRYPT_EXCEPTION); } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 00000000..22c29aa9 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,11 @@ +spring: + # JPA + jpa: + hibernate: + ddl-auto: create + show-sql: true + properties: + hibernate: + format_sql: true + flyway: + enabled: false diff --git a/app-api/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml similarity index 57% rename from app-api/src/main/resources/application-prod.yml rename to src/main/resources/application-prod.yml index 494fa049..c7a26256 100644 --- a/app-api/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -12,3 +12,11 @@ spring: username: ${DB_USERNAME} password: ${DB_PASSWORD} driver-class-name: com.mysql.cj.jdbc.Driver + # flyway + flyway: + enabled: true + url: ${DB_URL} + user: ${DB_USERNAME} + password: ${DB_PASSWORD} + baseline-on-migrate: true + locations: classpath:db/migration/mysql diff --git a/app-api/src/main/resources/application.yml b/src/main/resources/application.yml similarity index 79% rename from app-api/src/main/resources/application.yml rename to src/main/resources/application.yml index b9554ae4..ec3a02f9 100644 --- a/app-api/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -24,6 +24,12 @@ spring: authcode: expired-time: 300 +# API KEY +kakao: + key: ${KAKAO_API_KEY:kakao} +seoul-public-parking-key: ${SEOUL_API_KEY:seoul} +pusan-public-parking-key: ${PUSAN_API_KEY:pusan} + # Allow origin cors: allowedOrigins: ${ORIGIN:http://localhost:3000} diff --git a/src/main/resources/db/migration/mysql/V1.0.0__initial_schema.sql b/src/main/resources/db/migration/mysql/V1.0.0__initial_schema.sql new file mode 100644 index 00000000..dd6ec735 --- /dev/null +++ b/src/main/resources/db/migration/mysql/V1.0.0__initial_schema.sql @@ -0,0 +1,88 @@ +-- favorite 테이블 생성 +CREATE TABLE favorite ( + id BIGINT NOT NULL AUTO_INCREMENT, + created_at TIMESTAMP, + updated_at TIMESTAMP, + member_id BIGINT, + parking_id BIGINT, + PRIMARY KEY (id), + UNIQUE (member_id, parking_id) +); + +-- member 테이블 생성 +CREATE TABLE member ( + id BIGINT NOT NULL AUTO_INCREMENT, + deleted BOOLEAN, + email VARCHAR(255) UNIQUE, + name VARCHAR(255), + nickname VARCHAR(255), + password VARCHAR(255), + PRIMARY KEY (id) +); + +-- member_session 테이블 생성 +CREATE TABLE member_session ( + session_id VARCHAR(255) NOT NULL, + created_at TIMESTAMP, + expired_at TIMESTAMP, + member_id BIGINT, + PRIMARY KEY (session_id) +); + +-- parking 테이블 생성 +CREATE TABLE parking ( + id BIGINT NOT NULL AUTO_INCREMENT, + created_at TIMESTAMP, + updated_at TIMESTAMP, + base_fee INTEGER, + base_time_unit INTEGER, + capacity INTEGER, + current_parking INTEGER, + day_maximum_fee INTEGER, + extra_fee INTEGER, + extra_time_unit INTEGER, + holiday_begin_time TIME, + holiday_end_time TIME, + holiday_free_begin_time TIME, + holiday_free_end_time TIME, + latitude FLOAT NOT NULL, + longitude FLOAT NOT NULL, + saturday_begin_time TIME, + saturday_end_time TIME, + saturday_free_begin_time TIME, + saturday_free_end_time TIME, + weekday_begin_time TIME, + weekday_end_time TIME, + weekday_free_begin_time TIME, + weekday_free_end_time TIME, + address VARCHAR(255), + description VARCHAR(255), + name VARCHAR(255), + operation_type ENUM ('PUBLIC', 'PRIVATE', 'NO_INFO'), + parking_type ENUM ('OFF_STREET', 'ON_STREET', 'MECHANICAL', 'NO_INFO'), + tel VARCHAR(255), + PRIMARY KEY (id) +); + +-- review 테이블 생성 +CREATE TABLE review ( + id BIGINT NOT NULL AUTO_INCREMENT, + created_at TIMESTAMP, + parking_id BIGINT, + reviewer_id BIGINT, + contents VARCHAR(255), + PRIMARY KEY (id) +); + +-- search_condition 테이블 생성 +CREATE TABLE search_condition ( + id BIGINT NOT NULL AUTO_INCREMENT, + hours INTEGER NOT NULL, + member_id BIGINT, + fee_types VARCHAR(255), + operation_types VARCHAR(255), + parking_types VARCHAR(255), + pay_types VARCHAR(255), + priority ENUM ('DISTANCE', 'PRICE', 'RECOMMENDATION'), + PRIMARY KEY (id) +); diff --git a/domain/src/main/resources/db/migration/mysql/V2.0.0__add_point_parking_table.sql b/src/main/resources/db/migration/mysql/V2.0.0__add_point_parking_table.sql similarity index 100% rename from domain/src/main/resources/db/migration/mysql/V2.0.0__add_point_parking_table.sql rename to src/main/resources/db/migration/mysql/V2.0.0__add_point_parking_table.sql diff --git a/domain/src/main/resources/db/migration/mysql/V3.0.0__drop_column_parking_table.sql b/src/main/resources/db/migration/mysql/V3.0.0__drop_column_parking_table.sql similarity index 100% rename from domain/src/main/resources/db/migration/mysql/V3.0.0__drop_column_parking_table.sql rename to src/main/resources/db/migration/mysql/V3.0.0__drop_column_parking_table.sql diff --git a/domain/src/main/resources/db/migration/mysql/V4.0.0__drop_column_member_table.sql b/src/main/resources/db/migration/mysql/V4.0.0__drop_column_member_table.sql similarity index 100% rename from domain/src/main/resources/db/migration/mysql/V4.0.0__drop_column_member_table.sql rename to src/main/resources/db/migration/mysql/V4.0.0__drop_column_member_table.sql diff --git a/app-api/src/test/java/com/parkingcomestrue/ApiApplicationTests.java b/src/test/java/com/example/parking/ParkingApplicationTests.java similarity index 72% rename from app-api/src/test/java/com/parkingcomestrue/ApiApplicationTests.java rename to src/test/java/com/example/parking/ParkingApplicationTests.java index 94d62f51..db6c30db 100644 --- a/app-api/src/test/java/com/parkingcomestrue/ApiApplicationTests.java +++ b/src/test/java/com/example/parking/ParkingApplicationTests.java @@ -1,10 +1,10 @@ -package com.parkingcomestrue; +package com.example.parking; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest -class ApiApplicationTests { +class ParkingApplicationTests { @Test void contextLoads() { diff --git a/app-scheduler/src/test/java/com/parkingcomestrue/external/coordinate/CoordinateApiServiceTest.java b/src/test/java/com/example/parking/application/CoordinateServiceTest.java similarity index 68% rename from app-scheduler/src/test/java/com/parkingcomestrue/external/coordinate/CoordinateApiServiceTest.java rename to src/test/java/com/example/parking/application/CoordinateServiceTest.java index e1cb42a9..a6c33536 100644 --- a/app-scheduler/src/test/java/com/parkingcomestrue/external/coordinate/CoordinateApiServiceTest.java +++ b/src/test/java/com/example/parking/application/CoordinateServiceTest.java @@ -1,13 +1,15 @@ -package com.parkingcomestrue.external.coordinate; +package com.example.parking.application; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertAll; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; -import com.parkingcomestrue.external.coordinate.dto.CoordinateResponse; -import com.parkingcomestrue.common.domain.parking.Location; +import com.example.parking.external.coordinate.CoordinateService; +import com.example.parking.external.coordinate.dto.CoordinateResponse; +import com.example.parking.external.coordinate.dto.CoordinateResponse.Meta; +import com.example.parking.domain.parking.Location; import java.util.Collections; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -19,17 +21,17 @@ import org.springframework.web.client.RestTemplate; @ExtendWith(MockitoExtension.class) -class CoordinateApiServiceTest { +class CoordinateServiceTest { @Mock private RestTemplate restTemplate; @InjectMocks - private CoordinateApiService coordinateApiService; + private CoordinateService coordinateService; @Test void 주소_변환_요청_결과개수가_0이면_기존의_위도_경도를_반환한다() { - CoordinateResponse emptyResponse = new CoordinateResponse(Collections.emptyList(), new CoordinateResponse.Meta(0)); + CoordinateResponse emptyResponse = new CoordinateResponse(Collections.emptyList(), new Meta(0)); when(restTemplate.getForEntity(anyString(), any())) .thenReturn(new ResponseEntity<>(emptyResponse, HttpStatus.OK)); @@ -37,7 +39,7 @@ class CoordinateApiServiceTest { double expectedLongitude = 67; double expectedLatitude = 10; - Location result = coordinateApiService.extractLocationByAddress("address", Location.of(67.0, 10.0)); + Location result = coordinateService.extractLocationByAddress("address", Location.of(67.0, 10.0)); assertAll( () -> assertThat(result.getLatitude()).isEqualTo(expectedLatitude), () -> assertThat(result.getLongitude()).isEqualTo(expectedLongitude) diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/member/MemberServiceTest.java b/src/test/java/com/example/parking/application/member/MemberServiceTest.java similarity index 78% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/member/MemberServiceTest.java rename to src/test/java/com/example/parking/application/member/MemberServiceTest.java index 53635f62..f4e19a83 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/member/MemberServiceTest.java +++ b/src/test/java/com/example/parking/application/member/MemberServiceTest.java @@ -1,15 +1,16 @@ -package com.parkingcomestrue.parking.application.member; +package com.example.parking.application.member; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.INVALID_MEMBER; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.INVALID_PASSWORD; +import static com.example.parking.support.exception.ExceptionInformation.INVALID_MEMBER; +import static com.example.parking.support.exception.ExceptionInformation.INVALID_PASSWORD; import static org.assertj.core.api.Assertions.assertThat; -import com.parkingcomestrue.parking.application.member.dto.MemberLoginRequest; -import com.parkingcomestrue.parking.application.member.dto.MemberSignupRequest; -import com.parkingcomestrue.parking.application.member.dto.PasswordChangeRequest; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.member.repository.MemberRepository; -import com.parkingcomestrue.common.support.exception.DomainException; +import com.example.parking.application.member.dto.MemberLoginRequest; +import com.example.parking.application.member.dto.MemberSignupRequest; +import com.example.parking.application.member.dto.PasswordChangeRequest; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.member.MemberRepository; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.DomainException; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -68,7 +69,7 @@ class MemberServiceTest { // then Assertions.assertThatThrownBy(() -> memberService.login(new MemberLoginRequest(email, previousPassword))) - .isInstanceOf(DomainException.class) + .isInstanceOf(ClientException.class) .hasMessage(INVALID_PASSWORD.getMessage()); } diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/service/ParkingFilteringServiceTest.java b/src/test/java/com/example/parking/application/parking/ParkingFilteringServiceTest.java similarity index 85% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/service/ParkingFilteringServiceTest.java rename to src/test/java/com/example/parking/application/parking/ParkingFilteringServiceTest.java index 91857ef5..36b74bcd 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/service/ParkingFilteringServiceTest.java +++ b/src/test/java/com/example/parking/application/parking/ParkingFilteringServiceTest.java @@ -1,21 +1,20 @@ -package com.parkingcomestrue.common.domain.parking.service; +package com.example.parking.application.parking; import static org.assertj.core.api.Assertions.assertThat; -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingFeeCalculator; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.SearchingCondition; -import com.parkingcomestrue.common.domain.parking.TimeUnit; -import com.parkingcomestrue.common.domain.parking.service.ParkingFilteringService; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingFeeCalculator; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.SearchingCondition; +import com.example.parking.domain.parking.TimeUnit; +import com.example.parking.domain.searchcondition.FeeType; import java.time.LocalDateTime; import java.util.List; import org.assertj.core.api.Assertions; @@ -159,5 +158,6 @@ class ParkingFilteringServiceTest { // then Assertions.assertThat(filteredParkings).hasSize(2); + } } diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/parking/ParkingServiceTest.java b/src/test/java/com/example/parking/application/parking/ParkingServiceTest.java similarity index 65% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/parking/ParkingServiceTest.java rename to src/test/java/com/example/parking/application/parking/ParkingServiceTest.java index b5e56930..1379c902 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/parking/ParkingServiceTest.java +++ b/src/test/java/com/example/parking/application/parking/ParkingServiceTest.java @@ -1,28 +1,28 @@ -package com.parkingcomestrue.parking.application.parking; +package com.example.parking.application.parking; import static org.junit.jupiter.api.Assertions.assertAll; -import com.parkingcomestrue.parking.application.ContainerTest; -import com.parkingcomestrue.parking.application.parking.dto.ParkingDetailInfoResponse; -import com.parkingcomestrue.parking.application.review.dto.ReviewCreateRequest; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.member.Password; -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeInfo; -import com.parkingcomestrue.common.domain.parking.TimeUnit; -import com.parkingcomestrue.common.domain.review.Content; -import com.parkingcomestrue.common.support.exception.DomainException; -import com.parkingcomestrue.common.support.exception.DomainExceptionInformation; +import com.example.parking.application.parking.dto.ParkingDetailInfoResponse; +import com.example.parking.application.review.dto.ReviewCreateRequest; +import com.example.parking.container.ContainerTest; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.member.Password; +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.Space; +import com.example.parking.domain.parking.TimeInfo; +import com.example.parking.domain.parking.TimeUnit; +import com.example.parking.domain.review.Content; +import com.example.parking.support.exception.DomainException; +import com.example.parking.support.exception.ExceptionInformation; import java.time.LocalTime; import java.util.List; import org.assertj.core.api.Assertions; @@ -35,7 +35,7 @@ class ParkingServiceTest extends ContainerTest { //given Assertions.assertThatThrownBy(() -> parkingService.findParking(1L)) .isInstanceOf(DomainException.class) - .hasMessage(DomainExceptionInformation.INVALID_PARKING.getMessage()); + .hasMessage(ExceptionInformation.INVALID_PARKING.getMessage()); } @Test diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/review/ReviewServiceTest.java b/src/test/java/com/example/parking/application/review/ReviewServiceTest.java similarity index 80% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/review/ReviewServiceTest.java rename to src/test/java/com/example/parking/application/review/ReviewServiceTest.java index 1d981c06..2d5f6ad2 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/review/ReviewServiceTest.java +++ b/src/test/java/com/example/parking/application/review/ReviewServiceTest.java @@ -1,24 +1,24 @@ -package com.parkingcomestrue.parking.application.review; +package com.example.parking.application.review; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.DUPLICATE_REVIEW; +import static com.example.parking.support.exception.ExceptionInformation.DUPLICATE_REVIEW; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.SoftAssertions.assertSoftly; -import com.parkingcomestrue.parking.application.review.dto.ReviewCreateRequest; -import com.parkingcomestrue.parking.application.review.dto.ReviewInfoResponse; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.review.Content; -import com.parkingcomestrue.common.domain.review.Review; -import com.parkingcomestrue.common.domain.review.service.ReviewDomainService; -import com.parkingcomestrue.common.support.Association; -import com.parkingcomestrue.common.support.exception.DomainException; +import com.example.parking.application.review.dto.ReviewCreateRequest; +import com.example.parking.application.review.dto.ReviewInfoResponse; +import com.example.parking.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.review.Content; +import com.example.parking.domain.review.Review; +import com.example.parking.domain.review.service.ReviewDomainService; +import com.example.parking.fake.BasicMemberRepository; +import com.example.parking.fake.BasicParkingRepository; +import com.example.parking.fake.BasicReviewRepository; +import com.example.parking.support.exception.DomainException; import java.util.List; import org.junit.jupiter.api.Test; -import repository.BasicMemberRepository; -import repository.BasicParkingRepository; -import repository.BasicReviewRepository; class ReviewServiceTest { diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/auth/AuthServiceTest.java b/src/test/java/com/example/parking/auth/AuthServiceTest.java similarity index 86% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/auth/AuthServiceTest.java rename to src/test/java/com/example/parking/auth/AuthServiceTest.java index cd4ed735..23992a21 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/auth/AuthServiceTest.java +++ b/src/test/java/com/example/parking/auth/AuthServiceTest.java @@ -1,24 +1,27 @@ -package com.parkingcomestrue.parking.application.auth; +package com.example.parking.auth; -import static com.parkingcomestrue.parking.support.exception.ClientExceptionInformation.INVALID_AUTH_CODE; -import static com.parkingcomestrue.parking.support.exception.ClientExceptionInformation.UNAUTHORIZED; +import static com.example.parking.support.exception.ExceptionInformation.INVALID_AUTH_CODE; +import static com.example.parking.support.exception.ExceptionInformation.UNAUTHORIZED; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatNoException; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import com.parkingcomestrue.parking.application.ContainerTest; -import com.parkingcomestrue.parking.application.auth.authcode.AuthCodeCategory; -import com.parkingcomestrue.parking.application.auth.authcode.AuthCodePlatform; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeCertificateRequest; -import com.parkingcomestrue.parking.application.auth.authcode.dto.AuthCodeRequest; -import com.parkingcomestrue.common.domain.session.MemberSession; -import com.parkingcomestrue.parking.support.exception.ClientException; +import com.example.parking.auth.authcode.AuthCodeCategory; +import com.example.parking.auth.authcode.AuthCodePlatform; +import com.example.parking.auth.authcode.application.dto.AuthCodeCertificateRequest; +import com.example.parking.auth.authcode.application.dto.AuthCodeRequest; +import com.example.parking.auth.session.MemberSession; +import com.example.parking.container.ContainerTest; +import com.example.parking.support.exception.ClientException; import java.time.LocalDateTime; import org.junit.jupiter.api.Test; class AuthServiceTest extends ContainerTest { + private static final String AUTH_CODE = "111111"; + + @Test void 세션_아이디에_해당하는_세션을_찾는다() { // given diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/session/repository/MemberSessionRepositoryTest.java b/src/test/java/com/example/parking/auth/MemberSessionRepositoryTest.java similarity index 88% rename from domain/src/test/java/com/parkingcomestrue/common/domain/session/repository/MemberSessionRepositoryTest.java rename to src/test/java/com/example/parking/auth/MemberSessionRepositoryTest.java index 0f05710d..cbc66091 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/session/repository/MemberSessionRepositoryTest.java +++ b/src/test/java/com/example/parking/auth/MemberSessionRepositoryTest.java @@ -1,9 +1,9 @@ -package com.parkingcomestrue.common.domain.session.repository; +package com.example.parking.auth; import static org.assertj.core.api.Assertions.assertThat; -import com.parkingcomestrue.common.domain.session.MemberSession; -import com.parkingcomestrue.common.domain.session.repository.MemberSessionRepository; +import com.example.parking.auth.session.MemberSession; +import com.example.parking.auth.session.MemberSessionRepository; import java.time.LocalDateTime; import java.util.UUID; import org.junit.jupiter.api.Test; diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/TestConfig.java b/src/test/java/com/example/parking/config/TestConfig.java similarity index 76% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/TestConfig.java rename to src/test/java/com/example/parking/config/TestConfig.java index 2df3f36c..dfd75c64 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/TestConfig.java +++ b/src/test/java/com/example/parking/config/TestConfig.java @@ -1,6 +1,6 @@ -package com.parkingcomestrue.parking.application; +package com.example.parking.config; -import com.parkingcomestrue.parking.application.auth.authcode.infrastructure.AuthCodeSender; +import com.example.parking.auth.authcode.infrastructure.AuthCodeSender; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/ContainerTest.java b/src/test/java/com/example/parking/container/ContainerTest.java similarity index 85% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/ContainerTest.java rename to src/test/java/com/example/parking/container/ContainerTest.java index 040715e3..636188db 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/ContainerTest.java +++ b/src/test/java/com/example/parking/container/ContainerTest.java @@ -1,10 +1,10 @@ -package com.parkingcomestrue.parking.application; +package com.example.parking.container; -import com.parkingcomestrue.parking.application.auth.AuthService; -import com.parkingcomestrue.parking.application.container.MySQLDataCleaner; -import com.parkingcomestrue.parking.application.parking.ParkingService; -import com.parkingcomestrue.parking.application.review.ReviewService; -import com.parkingcomestrue.common.domain.member.repository.MemberRepository; +import com.example.parking.application.parking.ParkingService; +import com.example.parking.application.review.ReviewService; +import com.example.parking.auth.AuthService; +import com.example.parking.config.TestConfig; +import com.example.parking.domain.member.MemberRepository; import com.redis.testcontainers.RedisContainer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/container/MySQLDataCleaner.java b/src/test/java/com/example/parking/container/MySQLDataCleaner.java similarity index 94% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/container/MySQLDataCleaner.java rename to src/test/java/com/example/parking/container/MySQLDataCleaner.java index b358ef7e..38893521 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/container/MySQLDataCleaner.java +++ b/src/test/java/com/example/parking/container/MySQLDataCleaner.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.container; +package com.example.parking.container; import jakarta.persistence.EntityManager; import java.util.List; diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/container/RedisDataCleaner.java b/src/test/java/com/example/parking/container/RedisDataCleaner.java similarity index 89% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/container/RedisDataCleaner.java rename to src/test/java/com/example/parking/container/RedisDataCleaner.java index 10f82d01..e4707ee9 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/container/RedisDataCleaner.java +++ b/src/test/java/com/example/parking/container/RedisDataCleaner.java @@ -1,4 +1,4 @@ -package com.parkingcomestrue.parking.application.container; +package com.example.parking.container; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Profile; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/favorite/repository/FavoriteRepositoryTest.java b/src/test/java/com/example/parking/domain/favorite/FavoriteRepositoryTest.java similarity index 86% rename from domain/src/test/java/com/parkingcomestrue/common/domain/favorite/repository/FavoriteRepositoryTest.java rename to src/test/java/com/example/parking/domain/favorite/FavoriteRepositoryTest.java index c9068814..ed6e7292 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/favorite/repository/FavoriteRepositoryTest.java +++ b/src/test/java/com/example/parking/domain/favorite/FavoriteRepositoryTest.java @@ -1,10 +1,8 @@ -package com.parkingcomestrue.common.domain.favorite.repository; +package com.example.parking.domain.favorite; import static org.assertj.core.api.Assertions.assertThat; -import com.parkingcomestrue.common.domain.favorite.Favorite; -import com.parkingcomestrue.common.domain.favorite.repository.FavoriteRepository; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.support.Association; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/member/MemberTest.java b/src/test/java/com/example/parking/domain/member/MemberTest.java similarity index 85% rename from domain/src/test/java/com/parkingcomestrue/common/domain/member/MemberTest.java rename to src/test/java/com/example/parking/domain/member/MemberTest.java index 2dbec5f7..ce8807cb 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/member/MemberTest.java +++ b/src/test/java/com/example/parking/domain/member/MemberTest.java @@ -1,10 +1,8 @@ -package com.parkingcomestrue.common.domain.member; +package com.example.parking.domain.member; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.INVALID_PASSWORD; +import static com.example.parking.support.exception.ExceptionInformation.INVALID_PASSWORD; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.member.Password; -import com.parkingcomestrue.common.support.exception.DomainException; +import com.example.parking.support.exception.DomainException; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/BaseInformationTest.java b/src/test/java/com/example/parking/domain/parking/BaseInformationTest.java similarity index 68% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/BaseInformationTest.java rename to src/test/java/com/example/parking/domain/parking/BaseInformationTest.java index ac00ab36..ef2bddb1 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/BaseInformationTest.java +++ b/src/test/java/com/example/parking/domain/parking/BaseInformationTest.java @@ -1,7 +1,5 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.domain.parking.PayTypes; import java.util.List; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/DayTest.java b/src/test/java/com/example/parking/domain/parking/DayTest.java similarity index 93% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/DayTest.java rename to src/test/java/com/example/parking/domain/parking/DayTest.java index 1e5243f0..427e636a 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/DayTest.java +++ b/src/test/java/com/example/parking/domain/parking/DayTest.java @@ -1,13 +1,13 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.Day; -import java.time.DayOfWeek; -import java.util.stream.Stream; import org.assertj.core.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.time.DayOfWeek; +import java.util.stream.Stream; + class DayTest { @ParameterizedTest diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/FeePolicyTest.java b/src/test/java/com/example/parking/domain/parking/FeePolicyTest.java similarity index 93% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/FeePolicyTest.java rename to src/test/java/com/example/parking/domain/parking/FeePolicyTest.java index 0cd738a5..398cb0fc 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/FeePolicyTest.java +++ b/src/test/java/com/example/parking/domain/parking/FeePolicyTest.java @@ -1,14 +1,12 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.TimeUnit; -import java.util.stream.Stream; import org.assertj.core.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.util.stream.Stream; + class FeePolicyTest { @ParameterizedTest diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/FeeTest.java b/src/test/java/com/example/parking/domain/parking/FeeTest.java similarity index 87% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/FeeTest.java rename to src/test/java/com/example/parking/domain/parking/FeeTest.java index d209a2d0..c287dd76 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/FeeTest.java +++ b/src/test/java/com/example/parking/domain/parking/FeeTest.java @@ -1,6 +1,5 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.Fee; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/FreeOperatingTimeTest.java b/src/test/java/com/example/parking/domain/parking/FreeOperatingTimeTest.java similarity index 96% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/FreeOperatingTimeTest.java rename to src/test/java/com/example/parking/domain/parking/FreeOperatingTimeTest.java index 6d34ed68..6cf7cd3e 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/FreeOperatingTimeTest.java +++ b/src/test/java/com/example/parking/domain/parking/FreeOperatingTimeTest.java @@ -1,16 +1,13 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.Day; -import com.parkingcomestrue.common.domain.parking.DayParking; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.TimeInfo; -import java.time.LocalTime; -import java.util.stream.Stream; import org.assertj.core.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.time.LocalTime; +import java.util.stream.Stream; + class FreeOperatingTimeTest { @ParameterizedTest diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/LocationTest.java b/src/test/java/com/example/parking/domain/parking/LocationTest.java similarity index 91% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/LocationTest.java rename to src/test/java/com/example/parking/domain/parking/LocationTest.java index 0bd85672..11811709 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/LocationTest.java +++ b/src/test/java/com/example/parking/domain/parking/LocationTest.java @@ -1,9 +1,8 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; -import com.parkingcomestrue.common.domain.parking.Location; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.Test; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/ParkingFeeCalculatorTest.java b/src/test/java/com/example/parking/domain/parking/ParkingFeeCalculatorTest.java similarity index 92% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/ParkingFeeCalculatorTest.java rename to src/test/java/com/example/parking/domain/parking/ParkingFeeCalculatorTest.java index d0cd9544..b0850b79 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/ParkingFeeCalculatorTest.java +++ b/src/test/java/com/example/parking/domain/parking/ParkingFeeCalculatorTest.java @@ -1,24 +1,14 @@ -package com.parkingcomestrue.common.domain.parking; - -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingFeeCalculator; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeInfo; -import com.parkingcomestrue.common.domain.parking.TimeUnit; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.stream.Stream; +package com.example.parking.domain.parking; + import org.assertj.core.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.stream.Stream; + class ParkingFeeCalculatorTest { private final ParkingFeeCalculator parkingFeeCalculator = new ParkingFeeCalculator(); @@ -64,8 +54,8 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), TimeInfo.ALL_DAY, TimeInfo.ALL_DAY @@ -112,8 +102,8 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), TimeInfo.ALL_DAY, TimeInfo.ALL_DAY @@ -160,8 +150,8 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), TimeInfo.ALL_DAY, TimeInfo.ALL_DAY @@ -211,8 +201,8 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), TimeInfo.ALL_DAY, TimeInfo.ALL_DAY @@ -262,11 +252,11 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), new TimeInfo( - LocalTime.of(6, 0), + LocalTime.of(6,0), LocalTime.MAX ), TimeInfo.ALL_DAY @@ -319,12 +309,12 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), TimeInfo.ALL_DAY, new TimeInfo( - LocalTime.of(4, 0), + LocalTime.of(4,0), LocalTime.MAX ) ), @@ -378,12 +368,12 @@ static Stream getParkingFeeCalculator() { new Space(), new FreeOperatingTime( new TimeInfo( - LocalTime.of(9, 0), - LocalTime.of(12, 0) + LocalTime.of(9,0), + LocalTime.of(12,0) ), TimeInfo.ALL_DAY, new TimeInfo( - LocalTime.of(4, 0), + LocalTime.of(4,0), LocalTime.MAX ) ), diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/ParkingTest.java b/src/test/java/com/example/parking/domain/parking/ParkingTest.java similarity index 93% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/ParkingTest.java rename to src/test/java/com/example/parking/domain/parking/ParkingTest.java index 4e86762d..4b33b123 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/ParkingTest.java +++ b/src/test/java/com/example/parking/domain/parking/ParkingTest.java @@ -1,14 +1,5 @@ -package com.parkingcomestrue.common.domain.parking; - -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeUnit; +package com.example.parking.domain.parking; + import java.util.stream.Stream; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/PayTypesTest.java b/src/test/java/com/example/parking/domain/parking/PayTypesTest.java similarity index 81% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/PayTypesTest.java rename to src/test/java/com/example/parking/domain/parking/PayTypesTest.java index a7522149..d668fa87 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/PayTypesTest.java +++ b/src/test/java/com/example/parking/domain/parking/PayTypesTest.java @@ -1,14 +1,12 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import static com.parkingcomestrue.common.domain.parking.PayType.BANK_TRANSFER; -import static com.parkingcomestrue.common.domain.parking.PayType.CARD; -import static com.parkingcomestrue.common.domain.parking.PayType.CASH; -import static com.parkingcomestrue.common.domain.parking.PayType.NO_INFO; +import static com.example.parking.domain.parking.PayType.BANK_TRANSFER; +import static com.example.parking.domain.parking.PayType.CARD; +import static com.example.parking.domain.parking.PayType.CASH; +import static com.example.parking.domain.parking.PayType.NO_INFO; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.params.provider.Arguments.arguments; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.domain.parking.PayTypes; import java.util.Collection; import java.util.List; import java.util.Set; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/TimeInfoTest.java b/src/test/java/com/example/parking/domain/parking/TimeInfoTest.java similarity index 98% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/TimeInfoTest.java rename to src/test/java/com/example/parking/domain/parking/TimeInfoTest.java index ffaefbe0..1bddde9e 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/TimeInfoTest.java +++ b/src/test/java/com/example/parking/domain/parking/TimeInfoTest.java @@ -1,13 +1,13 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.TimeInfo; -import java.time.LocalTime; -import java.util.stream.Stream; import org.assertj.core.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.time.LocalTime; +import java.util.stream.Stream; + class TimeInfoTest { @ParameterizedTest diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/TimeUnitTest.java b/src/test/java/com/example/parking/domain/parking/TimeUnitTest.java similarity index 89% rename from domain/src/test/java/com/parkingcomestrue/common/domain/parking/TimeUnitTest.java rename to src/test/java/com/example/parking/domain/parking/TimeUnitTest.java index f6a22cfa..f32c64f1 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/parking/TimeUnitTest.java +++ b/src/test/java/com/example/parking/domain/parking/TimeUnitTest.java @@ -1,6 +1,5 @@ -package com.parkingcomestrue.common.domain.parking; +package com.example.parking.domain.parking; -import com.parkingcomestrue.common.domain.parking.TimeUnit; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/review/ContentTest.java b/src/test/java/com/example/parking/domain/review/ContentTest.java similarity index 81% rename from domain/src/test/java/com/parkingcomestrue/common/domain/review/ContentTest.java rename to src/test/java/com/example/parking/domain/review/ContentTest.java index 974fae28..dc6f3859 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/review/ContentTest.java +++ b/src/test/java/com/example/parking/domain/review/ContentTest.java @@ -1,12 +1,11 @@ -package com.parkingcomestrue.common.domain.review; +package com.example.parking.domain.review; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.INVALID_CONTENT; +import static com.example.parking.support.exception.ExceptionInformation.INVALID_CONTENT; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.params.provider.Arguments.arguments; -import com.parkingcomestrue.common.domain.review.Content; -import com.parkingcomestrue.common.support.exception.DomainException; +import com.example.parking.support.exception.DomainException; import java.util.stream.Stream; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/review/service/ReviewDomainServiceTest.java b/src/test/java/com/example/parking/domain/review/service/ReviewDomainServiceTest.java similarity index 82% rename from domain/src/test/java/com/parkingcomestrue/common/domain/review/service/ReviewDomainServiceTest.java rename to src/test/java/com/example/parking/domain/review/service/ReviewDomainServiceTest.java index 6dcb9369..a28c9530 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/review/service/ReviewDomainServiceTest.java +++ b/src/test/java/com/example/parking/domain/review/service/ReviewDomainServiceTest.java @@ -1,21 +1,20 @@ -package com.parkingcomestrue.common.domain.review.service; +package com.example.parking.domain.review.service; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.DUPLICATE_REVIEW; +import static com.example.parking.support.exception.ExceptionInformation.DUPLICATE_REVIEW; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.SoftAssertions.assertSoftly; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.review.Content; -import com.parkingcomestrue.common.domain.review.Review; -import com.parkingcomestrue.common.domain.review.service.ReviewDomainService; -import com.parkingcomestrue.common.support.Association; -import com.parkingcomestrue.common.support.exception.DomainException; +import com.example.parking.support.Association; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.review.Content; +import com.example.parking.domain.review.Review; +import com.example.parking.fake.BasicReviewRepository; +import com.example.parking.support.exception.DomainException; import java.util.List; import java.util.Map; import org.junit.jupiter.api.Test; -import repository.BasicReviewRepository; class ReviewDomainServiceTest { diff --git a/domain/src/test/java/com/parkingcomestrue/common/infra/converter/EnumListConverterTest.java b/src/test/java/com/example/parking/domain/searchcondition/EnumListConverterTest.java similarity index 78% rename from domain/src/test/java/com/parkingcomestrue/common/infra/converter/EnumListConverterTest.java rename to src/test/java/com/example/parking/domain/searchcondition/EnumListConverterTest.java index 58f5ec86..a8b8081f 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/infra/converter/EnumListConverterTest.java +++ b/src/test/java/com/example/parking/domain/searchcondition/EnumListConverterTest.java @@ -1,9 +1,8 @@ -package com.parkingcomestrue.common.infra.converter; +package com.example.parking.domain.searchcondition; import static org.assertj.core.api.Assertions.assertThat; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; -import com.parkingcomestrue.common.infra.converter.FeeTypeConverter; +import com.example.parking.infra.converter.FeeTypeConverter; import java.util.List; import java.util.stream.Collectors; import org.junit.jupiter.api.DisplayName; @@ -11,7 +10,7 @@ class EnumListConverterTest { - @DisplayName("DB에 Enum을 List형식으로 저장할 때, Enum의 값 이름과 " + '"' + ", " + '"' + " 구분자를 이용해서 저장된다.") + @DisplayName("DB에 Enum을 List형식으로 저장할 때, Enum의 값 이름과 " + '"' + ", " + '"'+ " 구분자를 이용해서 저장된다.") @Test void convertTest() { //given diff --git a/domain/src/test/java/com/parkingcomestrue/common/domain/searchcondition/HoursTest.java b/src/test/java/com/example/parking/domain/searchcondition/HoursTest.java similarity index 72% rename from domain/src/test/java/com/parkingcomestrue/common/domain/searchcondition/HoursTest.java rename to src/test/java/com/example/parking/domain/searchcondition/HoursTest.java index 2544a5d1..9aa777cc 100644 --- a/domain/src/test/java/com/parkingcomestrue/common/domain/searchcondition/HoursTest.java +++ b/src/test/java/com/example/parking/domain/searchcondition/HoursTest.java @@ -1,10 +1,9 @@ -package com.parkingcomestrue.common.domain.searchcondition; +package com.example.parking.domain.searchcondition; -import static com.parkingcomestrue.common.support.exception.DomainExceptionInformation.INVALID_HOURS; +import static com.example.parking.support.exception.ExceptionInformation.INVALID_HOURS; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import com.parkingcomestrue.common.domain.searchcondition.Hours; -import com.parkingcomestrue.common.support.exception.DomainException; +import com.example.parking.support.exception.DomainException; import org.assertj.core.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; diff --git a/app-api/src/test/java/com/parkingcomestrue/parking/application/SearchConditionMapperTest.java b/src/test/java/com/example/parking/domain/searchcondition/SearchConditionMapperTest.java similarity index 87% rename from app-api/src/test/java/com/parkingcomestrue/parking/application/SearchConditionMapperTest.java rename to src/test/java/com/example/parking/domain/searchcondition/SearchConditionMapperTest.java index d3c93612..948796ae 100644 --- a/app-api/src/test/java/com/parkingcomestrue/parking/application/SearchConditionMapperTest.java +++ b/src/test/java/com/example/parking/domain/searchcondition/SearchConditionMapperTest.java @@ -1,18 +1,15 @@ -package com.parkingcomestrue.parking.application; +package com.example.parking.domain.searchcondition; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.params.provider.Arguments.arguments; -import com.parkingcomestrue.parking.support.exception.ClientException; -import com.parkingcomestrue.parking.support.exception.ClientExceptionInformation; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayType; -import com.parkingcomestrue.common.domain.searchcondition.FeeType; -import com.parkingcomestrue.common.domain.searchcondition.Priority; -import com.parkingcomestrue.common.domain.searchcondition.SearchConditionAvailable; - +import com.example.parking.application.SearchConditionMapper; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayType; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; import java.util.List; import java.util.stream.Stream; import org.junit.Test; @@ -54,7 +51,7 @@ static Stream parametersProvider1() { //given, when, then assertThatThrownBy(() -> searchConditionMapper.toEnum(PayType.class, "아무거나 입력")) .isInstanceOf(ClientException.class) - .hasMessage(ClientExceptionInformation.INVALID_DESCRIPTION.getMessage()); + .hasMessage(ExceptionInformation.INVALID_DESCRIPTION.getMessage()); } @ParameterizedTest diff --git a/app-scheduler/src/test/java/com/parkingcomestrue/external/scheduler/ParkingUpdateSchedulerTest.java b/src/test/java/com/example/parking/external/scheduler/ParkingUpdateSchedulerTest.java similarity index 69% rename from app-scheduler/src/test/java/com/parkingcomestrue/external/scheduler/ParkingUpdateSchedulerTest.java rename to src/test/java/com/example/parking/external/scheduler/ParkingUpdateSchedulerTest.java index ba9a9ff1..4f540769 100644 --- a/app-scheduler/src/test/java/com/parkingcomestrue/external/scheduler/ParkingUpdateSchedulerTest.java +++ b/src/test/java/com/example/parking/external/scheduler/ParkingUpdateSchedulerTest.java @@ -1,42 +1,44 @@ -package com.parkingcomestrue.external.scheduler; - - -import com.parkingcomestrue.external.coordinate.CoordinateApiService; -import com.parkingcomestrue.fake.ExceptionParkingApiService; -import com.parkingcomestrue.fake.FakeCoordinateApiService; -import com.parkingcomestrue.fake.NotOfferCurrentParkingApiService; -import com.parkingcomestrue.fake.OfferCurrentParkingApiService; +package com.example.parking.external.scheduler; + +import com.example.parking.external.coordinate.CoordinateService; +import com.example.parking.fake.BasicParkingRepository; +import com.example.parking.fake.ExceptionParkingApiService; +import com.example.parking.fake.FakeCoordinateService; +import com.example.parking.fake.FakeParkingService; +import com.example.parking.fake.NotOfferCurrentParkingApiService; +import com.example.parking.fake.OfferCurrentParkingApiService; import java.util.List; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import repository.BasicParkingRepository; class ParkingUpdateSchedulerTest { - private final BasicParkingRepository parkingRepository = new BasicParkingRepository(); - private final CoordinateApiService coordinateService = new FakeCoordinateApiService(); + private final FakeParkingService parkingService = new FakeParkingService( + new BasicParkingRepository() + ); + private final CoordinateService coordinateService = new FakeCoordinateService(); @DisplayName("실시간 주차 대수를 제공하는 API에서 주차장이 0~4까지 저장되어 있는 상태에서 0~9까지 주차장을 읽어와 업데이트한다.") @Test void autoUpdateOfferCurrentParking() { //given OfferCurrentParkingApiService offerCurrentParkingApiService = new OfferCurrentParkingApiService(5); - parkingRepository.saveAll(offerCurrentParkingApiService.read()); + parkingService.saveAll(offerCurrentParkingApiService.read()); int readSize = 10; offerCurrentParkingApiService.setReadSize(readSize); ParkingUpdateScheduler scheduler = new ParkingUpdateScheduler( List.of(offerCurrentParkingApiService), coordinateService, - parkingRepository + parkingService ); //when scheduler.autoUpdateOfferCurrentParking(); //then - Assertions.assertThat(parkingRepository.count()).isEqualTo(readSize); + Assertions.assertThat(parkingService.count()).isEqualTo(readSize); } @DisplayName("실시간 주차 대수를 제공하지 않는 API에서 주차장이 0~4까지 저장되어 있는 상태에서 0~9까지 주차장을 읽어와 업데이트한다.") @@ -45,21 +47,21 @@ void autoUpdateNotOfferCurrentParking() { //given NotOfferCurrentParkingApiService notOfferCurrentParkingApiService = new NotOfferCurrentParkingApiService( 5); - parkingRepository.saveAll(notOfferCurrentParkingApiService.read()); + parkingService.saveAll(notOfferCurrentParkingApiService.read()); int readSize = 10; notOfferCurrentParkingApiService.setReadSize(readSize); ParkingUpdateScheduler scheduler = new ParkingUpdateScheduler( List.of(notOfferCurrentParkingApiService), coordinateService, - parkingRepository + parkingService ); //when scheduler.autoUpdateNotOfferCurrentParking(); //then - Assertions.assertThat(parkingRepository.count()).isEqualTo(readSize); + Assertions.assertThat(parkingService.count()).isEqualTo(readSize); } @DisplayName("실시간 주차 대수를 제공하는 API와 제공하지 않는 API는 영향을 안준다.") @@ -69,21 +71,21 @@ void notAffectBetweenOfferAndNotOfferCurrentParking() { OfferCurrentParkingApiService offerCurrentParkingApiService = new OfferCurrentParkingApiService(5); NotOfferCurrentParkingApiService notOfferCurrentParkingApiService = new NotOfferCurrentParkingApiService( 5); - parkingRepository.saveAll(offerCurrentParkingApiService.read()); + parkingService.saveAll(offerCurrentParkingApiService.read()); int readSize = 10; notOfferCurrentParkingApiService.setReadSize(readSize); ParkingUpdateScheduler scheduler = new ParkingUpdateScheduler( List.of(offerCurrentParkingApiService, notOfferCurrentParkingApiService), coordinateService, - parkingRepository + parkingService ); //when scheduler.autoUpdateOfferCurrentParking(); //then - Assertions.assertThat(parkingRepository.count()).isEqualTo(5); + Assertions.assertThat(parkingService.count()).isEqualTo(5); } @DisplayName("특정 API에서 예외 발생시, 해당 API는 log를 남기고 무시한다.") @@ -93,13 +95,13 @@ void autoUpdateWithExceptionApi() { ParkingUpdateScheduler scheduler = new ParkingUpdateScheduler( List.of(new OfferCurrentParkingApiService(5), new ExceptionParkingApiService()), coordinateService, - parkingRepository + parkingService ); //when scheduler.autoUpdateOfferCurrentParking(); //then - Assertions.assertThat(parkingRepository.count()).isEqualTo(5); + Assertions.assertThat(parkingService.count()).isEqualTo(5); } } diff --git a/domain/src/testFixtures/java/repository/BasicMemberRepository.java b/src/test/java/com/example/parking/fake/BasicMemberRepository.java similarity index 87% rename from domain/src/testFixtures/java/repository/BasicMemberRepository.java rename to src/test/java/com/example/parking/fake/BasicMemberRepository.java index ec75a8f9..b3e35ca5 100644 --- a/domain/src/testFixtures/java/repository/BasicMemberRepository.java +++ b/src/test/java/com/example/parking/fake/BasicMemberRepository.java @@ -1,8 +1,8 @@ -package repository; +package com.example.parking.fake; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.member.Password; -import com.parkingcomestrue.common.domain.member.repository.MemberRepository; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.member.MemberRepository; +import com.example.parking.domain.member.Password; import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/domain/src/testFixtures/java/repository/BasicParkingRepository.java b/src/test/java/com/example/parking/fake/BasicParkingRepository.java similarity index 73% rename from domain/src/testFixtures/java/repository/BasicParkingRepository.java rename to src/test/java/com/example/parking/fake/BasicParkingRepository.java index f4b0dd52..eb44f02a 100644 --- a/domain/src/testFixtures/java/repository/BasicParkingRepository.java +++ b/src/test/java/com/example/parking/fake/BasicParkingRepository.java @@ -1,18 +1,18 @@ -package repository; +package com.example.parking.fake; -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeUnit; -import com.parkingcomestrue.common.domain.parking.repository.ParkingRepository; +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.Space; +import com.example.parking.domain.parking.TimeUnit; +import com.example.parking.domain.parking.repository.ParkingRepository; import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; diff --git a/domain/src/testFixtures/java/repository/BasicRepository.java b/src/test/java/com/example/parking/fake/BasicRepository.java similarity index 91% rename from domain/src/testFixtures/java/repository/BasicRepository.java rename to src/test/java/com/example/parking/fake/BasicRepository.java index 6e99a9a7..60c21899 100644 --- a/domain/src/testFixtures/java/repository/BasicRepository.java +++ b/src/test/java/com/example/parking/fake/BasicRepository.java @@ -1,4 +1,4 @@ -package repository; +package com.example.parking.fake; import java.lang.reflect.Field; diff --git a/domain/src/testFixtures/java/repository/BasicReviewRepository.java b/src/test/java/com/example/parking/fake/BasicReviewRepository.java similarity index 84% rename from domain/src/testFixtures/java/repository/BasicReviewRepository.java rename to src/test/java/com/example/parking/fake/BasicReviewRepository.java index a16ac3d4..1f499e87 100644 --- a/domain/src/testFixtures/java/repository/BasicReviewRepository.java +++ b/src/test/java/com/example/parking/fake/BasicReviewRepository.java @@ -1,8 +1,8 @@ -package repository; +package com.example.parking.fake; -import com.parkingcomestrue.common.domain.review.Review; -import com.parkingcomestrue.common.domain.review.repository.ReviewRepository; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.support.Association; +import com.example.parking.domain.review.Review; +import com.example.parking.domain.review.ReviewRepository; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/test/java/com/example/parking/fake/ExceptionParkingApiService.java b/src/test/java/com/example/parking/fake/ExceptionParkingApiService.java new file mode 100644 index 00000000..65ba6733 --- /dev/null +++ b/src/test/java/com/example/parking/fake/ExceptionParkingApiService.java @@ -0,0 +1,20 @@ +package com.example.parking.fake; + +import com.example.parking.domain.parking.Parking; +import com.example.parking.external.parkingapi.ParkingApiService; +import com.example.parking.support.exception.ClientException; +import com.example.parking.support.exception.ExceptionInformation; +import java.util.List; + +public class ExceptionParkingApiService implements ParkingApiService { + + @Override + public boolean offerCurrentParking() { + return true; + } + + @Override + public List read() { + throw new ClientException(ExceptionInformation.INVALID_CONNECT); + } +} diff --git a/src/test/java/com/example/parking/fake/FakeCoordinateService.java b/src/test/java/com/example/parking/fake/FakeCoordinateService.java new file mode 100644 index 00000000..2a455a3c --- /dev/null +++ b/src/test/java/com/example/parking/fake/FakeCoordinateService.java @@ -0,0 +1,16 @@ +package com.example.parking.fake; + +import com.example.parking.domain.parking.Location; +import com.example.parking.external.coordinate.CoordinateService; + +public class FakeCoordinateService extends CoordinateService { + + public FakeCoordinateService() { + super(null); + } + + @Override + public Location extractLocationByAddress(String address, Location location) { + return Location.of(10.0, 10.0); + } +} diff --git a/domain/src/testFixtures/java/repository/FakeFavoriteRepository.java b/src/test/java/com/example/parking/fake/FakeFavoriteRepository.java similarity index 56% rename from domain/src/testFixtures/java/repository/FakeFavoriteRepository.java rename to src/test/java/com/example/parking/fake/FakeFavoriteRepository.java index f35aee23..263edab0 100644 --- a/domain/src/testFixtures/java/repository/FakeFavoriteRepository.java +++ b/src/test/java/com/example/parking/fake/FakeFavoriteRepository.java @@ -1,10 +1,10 @@ -package repository; +package com.example.parking.fake; -import com.parkingcomestrue.common.domain.favorite.Favorite; -import com.parkingcomestrue.common.domain.favorite.repository.FavoriteRepository; -import com.parkingcomestrue.common.domain.member.Member; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.support.Association; +import com.example.parking.domain.favorite.Favorite; +import com.example.parking.domain.favorite.FavoriteRepository; +import com.example.parking.domain.member.Member; +import com.example.parking.domain.parking.Parking; +import com.example.parking.support.Association; import java.util.List; public class FakeFavoriteRepository implements FavoriteRepository { diff --git a/src/test/java/com/example/parking/fake/FakeParkingService.java b/src/test/java/com/example/parking/fake/FakeParkingService.java new file mode 100644 index 00000000..10eea1fe --- /dev/null +++ b/src/test/java/com/example/parking/fake/FakeParkingService.java @@ -0,0 +1,31 @@ +package com.example.parking.fake; + +import com.example.parking.application.SearchConditionMapper; +import com.example.parking.application.parking.ParkingFilteringService; +import com.example.parking.application.parking.ParkingService; +import com.example.parking.application.review.ReviewService; +import com.example.parking.domain.parking.ParkingFeeCalculator; +import com.example.parking.domain.review.service.ReviewDomainService; + +public class FakeParkingService extends ParkingService { + + private final BasicParkingRepository repository; + + public FakeParkingService(BasicParkingRepository repository) { + super( + repository, + new ParkingFilteringService(new ParkingFeeCalculator()), + new FakeFavoriteRepository(), + new SearchConditionMapper(), + new ParkingFeeCalculator(), + new ReviewService( + new BasicReviewRepository(), + new ReviewDomainService(new BasicReviewRepository()) + )); + this.repository = repository; + } + + public int count() { + return repository.count(); + } +} diff --git a/src/test/java/com/example/parking/fake/FakeReviewService.java b/src/test/java/com/example/parking/fake/FakeReviewService.java new file mode 100644 index 00000000..e7c5923c --- /dev/null +++ b/src/test/java/com/example/parking/fake/FakeReviewService.java @@ -0,0 +1,12 @@ +package com.example.parking.fake; + +import com.example.parking.application.review.ReviewService; +import com.example.parking.domain.review.ReviewRepository; +import com.example.parking.domain.review.service.ReviewDomainService; + +public class FakeReviewService extends ReviewService { + public FakeReviewService(ReviewRepository reviewRepository, + ReviewDomainService reviewDomainService) { + super(reviewRepository, reviewDomainService); + } +} diff --git a/domain/src/testFixtures/java/repository/FakeSearchConditionRepository.java b/src/test/java/com/example/parking/fake/FakeSearchConditionRepository.java similarity index 61% rename from domain/src/testFixtures/java/repository/FakeSearchConditionRepository.java rename to src/test/java/com/example/parking/fake/FakeSearchConditionRepository.java index 49ba4552..df13129e 100644 --- a/domain/src/testFixtures/java/repository/FakeSearchConditionRepository.java +++ b/src/test/java/com/example/parking/fake/FakeSearchConditionRepository.java @@ -1,11 +1,10 @@ -package repository; +package com.example.parking.fake; -import com.parkingcomestrue.common.domain.searchcondition.SearchCondition; -import com.parkingcomestrue.common.domain.searchcondition.repository.SearchConditionRepository; +import com.example.parking.domain.searchcondition.SearchCondition; +import com.example.parking.domain.searchcondition.SearchConditionRepository; import java.util.Optional; public class FakeSearchConditionRepository implements SearchConditionRepository { - @Override public Optional findByMemberId(Long memberId) { return Optional.empty(); diff --git a/app-scheduler/src/test/java/com/parkingcomestrue/fake/NotOfferCurrentParkingApiService.java b/src/test/java/com/example/parking/fake/NotOfferCurrentParkingApiService.java similarity index 59% rename from app-scheduler/src/test/java/com/parkingcomestrue/fake/NotOfferCurrentParkingApiService.java rename to src/test/java/com/example/parking/fake/NotOfferCurrentParkingApiService.java index 96aaa5e7..491ec2b8 100644 --- a/app-scheduler/src/test/java/com/parkingcomestrue/fake/NotOfferCurrentParkingApiService.java +++ b/src/test/java/com/example/parking/fake/NotOfferCurrentParkingApiService.java @@ -1,18 +1,18 @@ -package com.parkingcomestrue.fake; - -import com.parkingcomestrue.external.parkingapi.ParkingApiService; -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeUnit; +package com.example.parking.fake; + +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.Space; +import com.example.parking.domain.parking.TimeUnit; +import com.example.parking.external.parkingapi.ParkingApiService; import java.util.LinkedList; import java.util.List; diff --git a/app-scheduler/src/test/java/com/parkingcomestrue/fake/OfferCurrentParkingApiService.java b/src/test/java/com/example/parking/fake/OfferCurrentParkingApiService.java similarity index 59% rename from app-scheduler/src/test/java/com/parkingcomestrue/fake/OfferCurrentParkingApiService.java rename to src/test/java/com/example/parking/fake/OfferCurrentParkingApiService.java index 2df132e5..44d0c895 100644 --- a/app-scheduler/src/test/java/com/parkingcomestrue/fake/OfferCurrentParkingApiService.java +++ b/src/test/java/com/example/parking/fake/OfferCurrentParkingApiService.java @@ -1,18 +1,18 @@ -package com.parkingcomestrue.fake; - -import com.parkingcomestrue.external.parkingapi.ParkingApiService; -import com.parkingcomestrue.common.domain.parking.BaseInformation; -import com.parkingcomestrue.common.domain.parking.Fee; -import com.parkingcomestrue.common.domain.parking.FeePolicy; -import com.parkingcomestrue.common.domain.parking.FreeOperatingTime; -import com.parkingcomestrue.common.domain.parking.Location; -import com.parkingcomestrue.common.domain.parking.OperatingTime; -import com.parkingcomestrue.common.domain.parking.OperationType; -import com.parkingcomestrue.common.domain.parking.Parking; -import com.parkingcomestrue.common.domain.parking.ParkingType; -import com.parkingcomestrue.common.domain.parking.PayTypes; -import com.parkingcomestrue.common.domain.parking.Space; -import com.parkingcomestrue.common.domain.parking.TimeUnit; +package com.example.parking.fake; + +import com.example.parking.domain.parking.BaseInformation; +import com.example.parking.domain.parking.Fee; +import com.example.parking.domain.parking.FeePolicy; +import com.example.parking.domain.parking.FreeOperatingTime; +import com.example.parking.domain.parking.Location; +import com.example.parking.domain.parking.OperatingTime; +import com.example.parking.domain.parking.OperationType; +import com.example.parking.domain.parking.Parking; +import com.example.parking.domain.parking.ParkingType; +import com.example.parking.domain.parking.PayTypes; +import com.example.parking.domain.parking.Space; +import com.example.parking.domain.parking.TimeUnit; +import com.example.parking.external.parkingapi.ParkingApiService; import java.util.LinkedList; import java.util.List; diff --git a/app-api/src/test/resources/application.yml b/src/test/resources/application.yml similarity index 100% rename from app-api/src/test/resources/application.yml rename to src/test/resources/application.yml