diff --git a/order/build.gradle b/order/build.gradle index 95446001..96310145 100644 --- a/order/build.gradle +++ b/order/build.gradle @@ -22,29 +22,43 @@ configurations { repositories { mavenCentral() + maven { url 'https://jitpack.io' } } dependencies { + // Spring Boot Starter implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' - implementation 'org.springframework.cloud:spring-cloud-starter-config' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-security' + + // Spring Cloud + implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' + implementation 'org.springframework.cloud:spring-cloud-starter-config' implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' + + // External Libraries implementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' + + // API Documentation implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}" + + // Lombok compileOnly 'org.projectlombok:lombok' - runtimeOnly 'com.mysql:mysql-connector-j' annotationProcessor 'org.projectlombok:lombok' - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + + // Database Driver + runtimeOnly 'com.mysql:mysql-connector-j' // zipkin implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'io.micrometer:micrometer-tracing-bridge-brave' implementation 'io.zipkin.reporter2:zipkin-reporter-brave' implementation 'io.github.openfeign:feign-micrometer' + + // Testing + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } dependencyManagement { diff --git a/order/src/main/java/com/hubEleven/order/presentation/dto/request/OrderRequests.java b/order/src/main/java/com/hubEleven/order/presentation/dto/request/OrderRequests.java index 93d3bb29..7fa85a30 100644 --- a/order/src/main/java/com/hubEleven/order/presentation/dto/request/OrderRequests.java +++ b/order/src/main/java/com/hubEleven/order/presentation/dto/request/OrderRequests.java @@ -1,5 +1,6 @@ package com.hubEleven.order.presentation.dto.request; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; @@ -7,6 +8,7 @@ public class OrderRequests { + @Schema(name = "OrderCreateRequest", description = "주문 생성 요청") public record Create( @NotNull(message = "요청 업체 ID는 필수 입력 항목입니다.") UUID requestorCompanyId, @NotNull(message = "수령 업체 ID는 필수 입력 항목입니다.") UUID recipientCompanyId, @@ -15,6 +17,7 @@ public record Create( @NotNull(message = "수량은 필수 입력 항목입니다.") Long quantity, @Size(max = 500, message = "노트는 500자 이하여야 합니다.") String note) {} + @Schema(name = "OrderUpdateRequest", description = "주문 수정 요청") public record Update( @Min(value = 1, message = "수량은 1개 이상이어야 합니다.") Long quantity, @Size(max = 500, message = "노트는 500자 이하여야 합니다.") String note) {} diff --git a/product/src/main/java/com/hubEleven/product/presentation/dto/request/ProductRequests.java b/product/src/main/java/com/hubEleven/product/presentation/dto/request/ProductRequests.java index 074ccec4..a91eea55 100644 --- a/product/src/main/java/com/hubEleven/product/presentation/dto/request/ProductRequests.java +++ b/product/src/main/java/com/hubEleven/product/presentation/dto/request/ProductRequests.java @@ -1,5 +1,6 @@ package com.hubEleven.product.presentation.dto.request; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; @@ -7,12 +8,14 @@ public class ProductRequests { + @Schema(name = "ProductCreateRequest", description = "상품 생성 요청") public record Create( @NotBlank(message = "상품명은 필수 입력 항목입니다.") @Size(max = 150, message = "상품명은 150자 이하여야 합니다.") String name, @NotNull(message = "업체 ID는 필수 입력 항목입니다.") UUID companyId, @NotNull(message = "허브 ID는 필수 입력 항목입니다.") UUID hubId) {} + @Schema(name = "ProductUpdateRequest", description = "상품 수정 요청") public record Update( @NotBlank(message = "상품명은 필수 입력 항목입니다.") @Size(max = 150, message = "상품명은 150자 이하여야 합니다.") String name) {} diff --git a/product/src/main/java/com/hubEleven/stock/presentation/dto/request/StockRequests.java b/product/src/main/java/com/hubEleven/stock/presentation/dto/request/StockRequests.java index 6164dd2f..b7b2efd5 100644 --- a/product/src/main/java/com/hubEleven/stock/presentation/dto/request/StockRequests.java +++ b/product/src/main/java/com/hubEleven/stock/presentation/dto/request/StockRequests.java @@ -1,11 +1,13 @@ package com.hubEleven.stock.presentation.dto.request; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; import java.util.UUID; public class StockRequests { + @Schema(name = "StockCreateRequest", description = "재고 생성 요청") public record Create( @NotNull(message = "수량은 필수 입력 항목입니다.") @Min(value = 0, message = "수량은 0 이상이어야 합니다.") int quantity, @@ -13,6 +15,7 @@ public record Create( @NotNull(message = "업체 ID는 필수 입력 항목입니다.") UUID companyId, @NotNull(message = "허브 ID는 필수 입력 항목입니다.") UUID hubId) {} + @Schema(name = "StockUpdateRequest", description = "재고 수정 요청") public record Update(@Min(value = 0, message = "수량은 0 이상이어야 합니다.") int quantity) {} public record Restore(