From fb322574d075820afcbe577459dfb1f76af58ae2 Mon Sep 17 00:00:00 2001 From: kimseohae <202083@ssg.com> Date: Sat, 5 Nov 2022 00:33:50 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feature=20:=20core-server=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EC=85=8B=ED=8C=85=20=EC=A7=84=ED=96=89?= =?UTF-8?q?=20-=20common=20package=20move?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- expedia-server/booking-server/build.gradle | 1 + .../BookingServerApplication.java | 2 +- .../bookingserver/common/ResponseDto.java | 14 -------- .../common/enums/ExceptionMessage.java | 23 ------------ .../common/exception/BadRequestException.java | 14 -------- .../exception/CommonExceptionHandler.java | 36 ------------------- expedia-server/core-server/build.gradle | 10 ++++++ .../coreserver/CoreServerApplication.java | 13 +++++++ .../coreserver}/common/CommonResponse.java | 4 +-- .../coreserver}/common/ResponseDto.java | 2 +- .../common/enums/ExceptionMessage.java | 2 +- .../common/exception/BadRequestException.java | 4 +-- .../ProductCommonExceptionHandler.java | 6 ++-- .../src/main/resources/application.yml | 1 + .../CoreServerApplicationTests.java | 13 +++++++ expedia-server/product-server/build.gradle | 2 ++ .../ProductServerApplication.java | 2 ++ .../productserver/common/CommonResponse.java | 25 ------------- .../domain/AccommodationRoom.java | 12 +++++-- .../accommodation/AccommodationService.java | 3 -- .../accommodation/AccommodationStore.java | 2 -- .../AccommodationStoreImpl.java | 4 +-- expedia-server/settings.gradle | 3 +- 23 files changed, 65 insertions(+), 133 deletions(-) delete mode 100644 expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/ResponseDto.java delete mode 100644 expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/enums/ExceptionMessage.java delete mode 100644 expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/BadRequestException.java delete mode 100644 expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/CommonExceptionHandler.java create mode 100644 expedia-server/core-server/build.gradle create mode 100644 expedia-server/core-server/src/main/java/org/clonecoder/coreserver/CoreServerApplication.java rename expedia-server/{booking-server/src/main/java/org/clonecoder/bookingserver => core-server/src/main/java/org/clonecoder/coreserver}/common/CommonResponse.java (88%) rename expedia-server/{product-server/src/main/java/org/clonecoder/productserver => core-server/src/main/java/org/clonecoder/coreserver}/common/ResponseDto.java (81%) rename expedia-server/{product-server/src/main/java/org/clonecoder/productserver => core-server/src/main/java/org/clonecoder/coreserver}/common/enums/ExceptionMessage.java (94%) rename expedia-server/{product-server/src/main/java/org/clonecoder/productserver => core-server/src/main/java/org/clonecoder/coreserver}/common/exception/BadRequestException.java (72%) rename expedia-server/{product-server/src/main/java/org/clonecoder/productserver => core-server/src/main/java/org/clonecoder/coreserver}/common/exception/ProductCommonExceptionHandler.java (84%) create mode 100644 expedia-server/core-server/src/main/resources/application.yml create mode 100644 expedia-server/core-server/src/test/java/org/clonecoder/coreserver/CoreServerApplicationTests.java delete mode 100644 expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/CommonResponse.java diff --git a/expedia-server/booking-server/build.gradle b/expedia-server/booking-server/build.gradle index eb06826..8a6ae37 100644 --- a/expedia-server/booking-server/build.gradle +++ b/expedia-server/booking-server/build.gradle @@ -8,4 +8,5 @@ bootJar { dependencies { implementation project(':product-server') + implementation project(':core-server') } \ No newline at end of file diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java index 8518e65..8d8d809 100644 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java +++ b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java @@ -8,7 +8,7 @@ @SpringBootApplication @EnableJpaAuditing -@ComponentScan(basePackages = {"org.clonecoder.bookingserver", "org.clonecoder.productserver"}) +@ComponentScan(basePackages = {"org.clonecoder"}) public class BookingServerApplication { public static void main(String[] args) { diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/ResponseDto.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/ResponseDto.java deleted file mode 100644 index df7cd0a..0000000 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/ResponseDto.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.clonecoder.bookingserver.common; - -import lombok.Builder; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -@Builder -public class ResponseDto { - private int status; - private String message; - private T body; -} diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/enums/ExceptionMessage.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/enums/ExceptionMessage.java deleted file mode 100644 index 4e5c9f8..0000000 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/enums/ExceptionMessage.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.clonecoder.bookingserver.common.enums; - -import lombok.Getter; - -public enum ExceptionMessage { - OK (0, ""), - HTTP_INTERNAL_SERVER_ERROR (5001, "서버에러가 발생하여 요청사항을 수행할 수 없습니다."), - - HTTP_BAD_REQUEST (4001, "요청이 잘못되었습니다."), - NOT_EXIST_BOOKING (4002, "존재하지않은 예약건입니다.") - ; - - @Getter - private int code; - - @Getter - private final String message; - - ExceptionMessage(int code, String message) { - this.code = code; - this.message = message; - } -} diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/BadRequestException.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/BadRequestException.java deleted file mode 100644 index 20230eb..0000000 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/BadRequestException.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.clonecoder.bookingserver.common.exception; - -import lombok.Getter; -import org.clonecoder.bookingserver.common.enums.ExceptionMessage; - -public class BadRequestException extends RuntimeException { - @Getter - private final ExceptionMessage exceptionMessage; - - public BadRequestException(ExceptionMessage exceptionMessage) { - super(exceptionMessage.getMessage()); - this.exceptionMessage = exceptionMessage; - } -} diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/CommonExceptionHandler.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/CommonExceptionHandler.java deleted file mode 100644 index ae15466..0000000 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/exception/CommonExceptionHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.clonecoder.bookingserver.common.exception; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.clonecoder.bookingserver.common.CommonResponse; -import org.clonecoder.bookingserver.common.enums.ExceptionMessage; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -@RestControllerAdvice -@Slf4j -@RequiredArgsConstructor -public class CommonExceptionHandler { - /** - * 400 에러 - * @param e - * @return - */ - @ExceptionHandler(BadRequestException.class) - public ResponseEntity error400(BadRequestException e) { - return CommonResponse.send(HttpStatus.BAD_REQUEST, e.getExceptionMessage(), null); - } - - /** - * 500 에러 - * @param e - * @return - */ - @ExceptionHandler(Exception.class) - public ResponseEntity error500(Exception e) { - e.printStackTrace(); - return CommonResponse.send(HttpStatus.INTERNAL_SERVER_ERROR, ExceptionMessage.HTTP_INTERNAL_SERVER_ERROR, null); - } -} \ No newline at end of file diff --git a/expedia-server/core-server/build.gradle b/expedia-server/core-server/build.gradle new file mode 100644 index 0000000..9f488ad --- /dev/null +++ b/expedia-server/core-server/build.gradle @@ -0,0 +1,10 @@ +jar { + enabled = false +} + +bootJar { + enabled = true +} + +dependencies { +} \ No newline at end of file diff --git a/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/CoreServerApplication.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/CoreServerApplication.java new file mode 100644 index 0000000..addc693 --- /dev/null +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/CoreServerApplication.java @@ -0,0 +1,13 @@ +package org.clonecoder.coreserver; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class CoreServerApplication { + + public static void main(String[] args) { + SpringApplication.run(CoreServerApplication.class, args); + } + +} diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/CommonResponse.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/CommonResponse.java similarity index 88% rename from expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/CommonResponse.java rename to expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/CommonResponse.java index ac91478..b2df33b 100644 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/common/CommonResponse.java +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/CommonResponse.java @@ -1,6 +1,6 @@ -package org.clonecoder.bookingserver.common; +package org.clonecoder.coreserver.common; -import org.clonecoder.bookingserver.common.enums.ExceptionMessage; +import org.clonecoder.coreserver.common.enums.ExceptionMessage; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/ResponseDto.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/ResponseDto.java similarity index 81% rename from expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/ResponseDto.java rename to expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/ResponseDto.java index 9d33b77..3975063 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/ResponseDto.java +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/ResponseDto.java @@ -1,4 +1,4 @@ -package org.clonecoder.productserver.common; +package org.clonecoder.coreserver.common; import lombok.Builder; import lombok.Getter; diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/enums/ExceptionMessage.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/enums/ExceptionMessage.java similarity index 94% rename from expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/enums/ExceptionMessage.java rename to expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/enums/ExceptionMessage.java index 79ede28..023e8d7 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/enums/ExceptionMessage.java +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/enums/ExceptionMessage.java @@ -1,4 +1,4 @@ -package org.clonecoder.productserver.common.enums; +package org.clonecoder.coreserver.common.enums; import lombok.Getter; diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/exception/BadRequestException.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/BadRequestException.java similarity index 72% rename from expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/exception/BadRequestException.java rename to expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/BadRequestException.java index 2b2da97..0ada6a5 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/exception/BadRequestException.java +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/BadRequestException.java @@ -1,7 +1,7 @@ -package org.clonecoder.productserver.common.exception; +package org.clonecoder.coreserver.common.exception; import lombok.Getter; -import org.clonecoder.productserver.common.enums.ExceptionMessage; +import org.clonecoder.coreserver.common.enums.ExceptionMessage; public class BadRequestException extends RuntimeException { @Getter diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/exception/ProductCommonExceptionHandler.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/ProductCommonExceptionHandler.java similarity index 84% rename from expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/exception/ProductCommonExceptionHandler.java rename to expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/ProductCommonExceptionHandler.java index fddfdcc..77ae7b9 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/exception/ProductCommonExceptionHandler.java +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/ProductCommonExceptionHandler.java @@ -1,9 +1,9 @@ -package org.clonecoder.productserver.common.exception; +package org.clonecoder.coreserver.common.exception; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.clonecoder.productserver.common.CommonResponse; -import org.clonecoder.productserver.common.enums.ExceptionMessage; +import org.clonecoder.coreserver.common.CommonResponse; +import org.clonecoder.coreserver.common.enums.ExceptionMessage; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; diff --git a/expedia-server/core-server/src/main/resources/application.yml b/expedia-server/core-server/src/main/resources/application.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/expedia-server/core-server/src/main/resources/application.yml @@ -0,0 +1 @@ + diff --git a/expedia-server/core-server/src/test/java/org/clonecoder/coreserver/CoreServerApplicationTests.java b/expedia-server/core-server/src/test/java/org/clonecoder/coreserver/CoreServerApplicationTests.java new file mode 100644 index 0000000..43efec4 --- /dev/null +++ b/expedia-server/core-server/src/test/java/org/clonecoder/coreserver/CoreServerApplicationTests.java @@ -0,0 +1,13 @@ +package org.clonecoder.coreserver; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class CoreServerApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/expedia-server/product-server/build.gradle b/expedia-server/product-server/build.gradle index 2c858b8..48e3dc2 100644 --- a/expedia-server/product-server/build.gradle +++ b/expedia-server/product-server/build.gradle @@ -7,6 +7,8 @@ bootJar { } dependencies { + implementation project(':core-server') + implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.redisson:redisson-spring-boot-starter:3.17.7' } \ No newline at end of file diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java index 252c402..98c0cea 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java +++ b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java @@ -2,8 +2,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; @SpringBootApplication +@ComponentScan(basePackages = {"org.clonecoder.coreserver"}) public class ProductServerApplication { public static void main(String[] args) { diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/CommonResponse.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/CommonResponse.java deleted file mode 100644 index 9bdd201..0000000 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/common/CommonResponse.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.clonecoder.productserver.common; - -import org.clonecoder.productserver.common.enums.ExceptionMessage; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; - -public class CommonResponse { - public static ResponseEntity> send(HttpStatus status, ExceptionMessage exceptionMessage, T body) { - ResponseDto responseDto = ResponseDto.builder() - .status(exceptionMessage.getCode()) - .message(exceptionMessage.getMessage()) - .body(body) - .build(); - - return ResponseEntity.status(status.value()).body(responseDto); - } - - public static ResponseEntity send() { - return CommonResponse.send(HttpStatus.OK, ExceptionMessage.OK, ""); - } - - public static ResponseEntity> send(T object) { - return CommonResponse.send(HttpStatus.OK, ExceptionMessage.OK, object); - } -} \ No newline at end of file diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/AccommodationRoom.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/AccommodationRoom.java index 8600fcd..9b6e48f 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/AccommodationRoom.java +++ b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/AccommodationRoom.java @@ -3,10 +3,16 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; -import org.clonecoder.productserver.common.enums.ExceptionMessage; -import org.clonecoder.productserver.common.exception.BadRequestException; +import org.clonecoder.coreserver.common.enums.ExceptionMessage; +import org.clonecoder.coreserver.common.exception.BadRequestException; -import javax.persistence.*; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; import java.time.LocalDateTime; @Getter diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationService.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationService.java index 859e6dd..e1a59b0 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationService.java +++ b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationService.java @@ -1,11 +1,8 @@ package org.clonecoder.productserver.domain.accommodation; -import org.clonecoder.productserver.common.aop.RedissonLock; -import org.clonecoder.productserver.domain.AccommodationRoom; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationStore.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationStore.java index c9d9a7a..42ef4da 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationStore.java +++ b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/domain/accommodation/AccommodationStore.java @@ -1,7 +1,5 @@ package org.clonecoder.productserver.domain.accommodation; -import org.clonecoder.productserver.domain.AccommodationRoom; - public interface AccommodationStore { void stockDecrease(Long accommodationRoomId); } diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/infrastructure/AccommodationStoreImpl.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/infrastructure/AccommodationStoreImpl.java index 51dd782..f719d12 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/infrastructure/AccommodationStoreImpl.java +++ b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/infrastructure/AccommodationStoreImpl.java @@ -1,9 +1,9 @@ package org.clonecoder.productserver.infrastructure; import lombok.extern.slf4j.Slf4j; +import org.clonecoder.coreserver.common.enums.ExceptionMessage; +import org.clonecoder.coreserver.common.exception.BadRequestException; import org.clonecoder.productserver.common.aop.RedissonLock; -import org.clonecoder.productserver.common.enums.ExceptionMessage; -import org.clonecoder.productserver.common.exception.BadRequestException; import org.clonecoder.productserver.domain.AccommodationRoom; import org.clonecoder.productserver.domain.accommodation.AccommodationStore; import lombok.RequiredArgsConstructor; diff --git a/expedia-server/settings.gradle b/expedia-server/settings.gradle index 93dd7a3..4110249 100644 --- a/expedia-server/settings.gradle +++ b/expedia-server/settings.gradle @@ -1,3 +1,4 @@ rootProject.name = 'expedia-server' include ':booking-server' -include ':product-server' \ No newline at end of file +include ':product-server' +include ':core-server' \ No newline at end of file From d1e67a54c29a70e7c5e4f149017f4d0c51a6a1f5 Mon Sep 17 00:00:00 2001 From: kimseohae <202083@ssg.com> Date: Sat, 5 Nov 2022 18:55:54 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feature=20:=20core-server=20=EC=85=8B?= =?UTF-8?q?=ED=8C=85=20=EB=B0=8F=20=EC=85=8B=ED=8C=85=20=ED=9B=84=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=BD=94=EB=93=9C=20=ED=99=95?= =?UTF-8?q?=EC=9D=B8=20=EC=A7=84=ED=96=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bookingserver/BookingServerApplication.java | 3 +-- .../interfaces/controller/BookingController.java | 4 ++-- .../bookingserver/interfaces/dto/ResponseDto.java | 14 -------------- .../org/clonecoder/bookingserver/BookingTest.java | 14 ++++++++++++++ .../bookingserver/documentation/Documentation.java | 6 ++++-- .../unit/domain/booking/BookingServiceTest.java | 5 ++--- expedia-server/core-server/build.gradle | 2 +- ...ionHandler.java => CommonExceptionHandler.java} | 2 +- expedia-server/product-server/build.gradle | 2 +- .../productserver/ProductServerApplication.java | 10 ++++++++-- .../src/main/resources/application.yml | 4 ++-- .../accommodation/AccommodationServiceTest.java | 7 ++++++- 12 files changed, 42 insertions(+), 31 deletions(-) delete mode 100644 expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/dto/ResponseDto.java create mode 100644 expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/BookingTest.java rename expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/{ProductCommonExceptionHandler.java => CommonExceptionHandler.java} (96%) diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java index 8d8d809..a9c55aa 100644 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java +++ b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/BookingServerApplication.java @@ -6,9 +6,8 @@ import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.stereotype.Component; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"org.clonecoder.bookingserver", "org.clonecoder.productserver", "org.clonecoder.coreserver"}) @EnableJpaAuditing -@ComponentScan(basePackages = {"org.clonecoder"}) public class BookingServerApplication { public static void main(String[] args) { diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/controller/BookingController.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/controller/BookingController.java index 80d9083..0ea55f6 100644 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/controller/BookingController.java +++ b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/controller/BookingController.java @@ -2,13 +2,13 @@ import lombok.RequiredArgsConstructor; import org.clonecoder.bookingserver.application.booking.BookingFacade; -import org.clonecoder.bookingserver.common.CommonResponse; -import org.clonecoder.bookingserver.common.ResponseDto; import org.clonecoder.bookingserver.domain.command.BookingCommand; import org.clonecoder.bookingserver.domain.command.BookingGuestsCommand; import org.clonecoder.bookingserver.interfaces.dto.RequestBookingDto; import org.clonecoder.bookingserver.interfaces.mapper.BookingDtoMapper; import org.clonecoder.bookingserver.interfaces.mapper.BookingGuestsDtoMapper; +import org.clonecoder.coreserver.common.CommonResponse; +import org.clonecoder.coreserver.common.ResponseDto; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/dto/ResponseDto.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/dto/ResponseDto.java deleted file mode 100644 index 3d616d3..0000000 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/interfaces/dto/ResponseDto.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.clonecoder.bookingserver.interfaces.dto; - -import lombok.*; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class ResponseDto { - private int status; - private String message; - private T data; -} diff --git a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/BookingTest.java b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/BookingTest.java new file mode 100644 index 0000000..91ff705 --- /dev/null +++ b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/BookingTest.java @@ -0,0 +1,14 @@ +package org.clonecoder.bookingserver; + +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.jdbc.Sql; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@Sql({"classpath:accommodation/schema/accommodation.sql" + , "classpath:accommodation/data/accommodation_1.sql" + , "classpath:accommodation/data/accommodation_2.sql" + , "classpath:accommodation/data/accommodation_3.sql" + , "classpath:accommodation/data/accommodation_code.sql"} +) +public class BookingTest { +} diff --git a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/documentation/Documentation.java b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/documentation/Documentation.java index b3591b3..75f02c3 100644 --- a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/documentation/Documentation.java +++ b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/documentation/Documentation.java @@ -3,6 +3,7 @@ import io.restassured.RestAssured; import io.restassured.builder.RequestSpecBuilder; import io.restassured.specification.RequestSpecification; +import org.clonecoder.bookingserver.BookingTest; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; @@ -11,12 +12,13 @@ import org.springframework.boot.web.server.LocalServerPort; import org.springframework.restdocs.RestDocumentationContextProvider; import org.springframework.restdocs.RestDocumentationExtension; +import org.springframework.test.context.jdbc.Sql; +import org.springframework.transaction.annotation.Transactional; import static org.springframework.restdocs.restassured3.RestAssuredRestDocumentation.documentationConfiguration; -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ExtendWith(RestDocumentationExtension.class) // 스니펫 생성을 위한 선언 -public class Documentation { +public class Documentation extends BookingTest { @LocalServerPort int port; diff --git a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java index 916118c..7d2fcd4 100644 --- a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java +++ b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java @@ -1,5 +1,6 @@ package org.clonecoder.bookingserver.unit.domain.booking; +import org.clonecoder.bookingserver.BookingTest; import org.clonecoder.bookingserver.domain.Booking; import org.clonecoder.bookingserver.domain.BookingGuests; import org.clonecoder.bookingserver.domain.booking.BookingService; @@ -26,9 +27,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.clonecoder.bookingserver.param.ParamDto.예약_생성_정보_셋팅; -@SpringBootTest -@Sql({"classpath:accommodation/schema/accommodation.sql", "classpath:accommodation/data/accommodation_1.sql"}) -class BookingServiceTest { +class BookingServiceTest extends BookingTest { @Autowired private BookingService bookingService; diff --git a/expedia-server/core-server/build.gradle b/expedia-server/core-server/build.gradle index 9f488ad..bfb9e53 100644 --- a/expedia-server/core-server/build.gradle +++ b/expedia-server/core-server/build.gradle @@ -1,5 +1,5 @@ jar { - enabled = false + enabled = true } bootJar { diff --git a/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/ProductCommonExceptionHandler.java b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/CommonExceptionHandler.java similarity index 96% rename from expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/ProductCommonExceptionHandler.java rename to expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/CommonExceptionHandler.java index 77ae7b9..cc26f5a 100644 --- a/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/ProductCommonExceptionHandler.java +++ b/expedia-server/core-server/src/main/java/org/clonecoder/coreserver/common/exception/CommonExceptionHandler.java @@ -12,7 +12,7 @@ @RestControllerAdvice @Slf4j @RequiredArgsConstructor -public class ProductCommonExceptionHandler { +public class CommonExceptionHandler { /** * 400 에러 * @param e diff --git a/expedia-server/product-server/build.gradle b/expedia-server/product-server/build.gradle index 48e3dc2..8b9c1e9 100644 --- a/expedia-server/product-server/build.gradle +++ b/expedia-server/product-server/build.gradle @@ -1,5 +1,5 @@ jar { - enabled = false + enabled = true } bootJar { diff --git a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java index 98c0cea..1103ea4 100644 --- a/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java +++ b/expedia-server/product-server/src/main/java/org/clonecoder/productserver/ProductServerApplication.java @@ -2,10 +2,16 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.context.annotation.ComponentScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -@SpringBootApplication -@ComponentScan(basePackages = {"org.clonecoder.coreserver"}) +@SpringBootApplication( + scanBasePackages = { + "org.clonecoder.productserver", + "org.clonecoder.coreserver", + } +) public class ProductServerApplication { public static void main(String[] args) { diff --git a/expedia-server/product-server/src/main/resources/application.yml b/expedia-server/product-server/src/main/resources/application.yml index 3af0480..111714f 100644 --- a/expedia-server/product-server/src/main/resources/application.yml +++ b/expedia-server/product-server/src/main/resources/application.yml @@ -9,8 +9,8 @@ spring: sql: init: mode: always - schema-locations: classpath:accommodation/schema/accommodation.sql - data-locations: classpath:accommodation/data/accommodation_1.sql + schema-locations: classpath:accommodation/schema/*.sql + data-locations: classpath:accommodation/data/*.sql # JPA jpa: diff --git a/expedia-server/product-server/src/test/java/org/clonecoder/productserver/unit/domain/accommodation/AccommodationServiceTest.java b/expedia-server/product-server/src/test/java/org/clonecoder/productserver/unit/domain/accommodation/AccommodationServiceTest.java index 01a6158..ee4e87f 100644 --- a/expedia-server/product-server/src/test/java/org/clonecoder/productserver/unit/domain/accommodation/AccommodationServiceTest.java +++ b/expedia-server/product-server/src/test/java/org/clonecoder/productserver/unit/domain/accommodation/AccommodationServiceTest.java @@ -17,7 +17,12 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -@Sql({"classpath:accommodation/schema/accommodation.sql", "classpath:accommodation/data/accommodation_1.sql"}) +@Sql({"classpath:accommodation/schema/accommodation.sql" + , "classpath:accommodation/data/accommodation_1.sql" + , "classpath:accommodation/data/accommodation_2.sql" + , "classpath:accommodation/data/accommodation_3.sql" + , "classpath:accommodation/data/accommodation_code.sql"} +) class AccommodationServiceTest { @Autowired private AccommodationService accommodationService; From 62fd61dd1071d32ee3226d2136e274a22d0bbdcf Mon Sep 17 00:00:00 2001 From: kimseohae <202083@ssg.com> Date: Sat, 5 Nov 2022 20:20:41 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feature=20:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20build=20=EC=A0=95=EC=83=81=20=EC=84=B1?= =?UTF-8?q?=EA=B3=B5=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bookingserver/domain/booking/BookingService.java | 3 +++ .../bookingserver/acceptance/AcceptanceTest.java | 4 ++-- .../java/org/clonecoder/bookingserver/param/ParamMap.java | 2 +- .../unit/domain/booking/BookingServiceTest.java | 7 +++++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/domain/booking/BookingService.java b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/domain/booking/BookingService.java index 75aae08..8a82141 100644 --- a/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/domain/booking/BookingService.java +++ b/expedia-server/booking-server/src/main/java/org/clonecoder/bookingserver/domain/booking/BookingService.java @@ -1,6 +1,7 @@ package org.clonecoder.bookingserver.domain.booking; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.clonecoder.bookingserver.domain.Booking; import org.clonecoder.bookingserver.domain.BookingGuests; import org.clonecoder.bookingserver.domain.command.BookingCommand; @@ -14,6 +15,7 @@ @Service @RequiredArgsConstructor +@Slf4j public class BookingService { private final BookingStore bookingStore; private final AccommodationStore accommodationStore; @@ -42,6 +44,7 @@ public Booking saveBooking(BookingCommand bookingCommand, List 예약_정보_셋팅() { Map params = new HashMap<>(); params.put("bookingNo", "A25BD-20220928"); - params.put("accommodationRoomId", 9); + params.put("accommodationRoomId", 1L); params.put("bookingUserId", "test1234"); params.put("bookingLastName", "KIM"); params.put("bookingFirstName", "SEOHAE"); diff --git a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java index 7d2fcd4..fccba86 100644 --- a/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java +++ b/expedia-server/booking-server/src/test/java/org/clonecoder/bookingserver/unit/domain/booking/BookingServiceTest.java @@ -69,10 +69,13 @@ void setUp() { // then Optional findBooking = bookingRepository.findById(resultBooking.getId()); - List findBookingGuests = bookingGuestsRepository.findAll(); + List findBookingGuests = + bookingGuestsRepository.findAll().stream() + .filter(bookingGuests -> bookingGuests.getBooking().getId().equals(resultBooking.getId())) + .collect(Collectors.toList()); // 1) 원하는 예약이 생성됨 - assertThat(findBooking.get().getId()).isEqualTo(findBookingGuests.get(0).getBooking().getId()); + assertThat(resultBooking.getId()).isEqualTo(findBookingGuests.get(0).getBooking().getId()); // 2) 예약한 게스트 수가 일치해야함 assertThat(findBookingGuests.size()).isEqualTo(requestBookingSaveDto.getBookingGuestsDtoList().size());