mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2025-12-05 23:56:23 +00:00
- MockDataService에 updateCustomerProduct 메서드 추가 - KosMockService에 실제 고객 데이터 업데이트 로직 추가 - 상품변경 시 고객의 current_product_code를 실제로 업데이트하도록 수정 - 트랜잭션 처리로 데이터 일관성 보장 - product-service Hibernate dialect 설정 추가 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
130 lines
4.6 KiB
Groovy
130 lines
4.6 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.springframework.boot' version '3.3.0' apply false
|
|
id 'io.spring.dependency-management' version '1.1.6' apply false
|
|
id 'io.freefair.lombok' version '8.10' apply false
|
|
}
|
|
|
|
group = 'com.unicorn.phonebill'
|
|
version = '1.0.0'
|
|
|
|
allprojects {
|
|
repositories {
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: 'java'
|
|
apply plugin: 'io.freefair.lombok'
|
|
|
|
if (it.name == 'common') {
|
|
apply plugin: 'io.spring.dependency-management'
|
|
} else {
|
|
apply plugin: 'org.springframework.boot'
|
|
apply plugin: 'io.spring.dependency-management'
|
|
}
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom annotationProcessor
|
|
}
|
|
}
|
|
|
|
tasks.named('test') {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
// Common versions for all subprojects
|
|
ext {
|
|
jjwtVersion = '0.12.5'
|
|
springdocVersion = '2.5.0'
|
|
mapstructVersion = '1.5.5.Final'
|
|
commonsLang3Version = '3.14.0'
|
|
commonsIoVersion = '2.16.1'
|
|
hypersistenceVersion = '3.7.3'
|
|
openaiVersion = '0.18.2'
|
|
feignJacksonVersion = '13.1'
|
|
}
|
|
}
|
|
|
|
// Configure only service modules (exclude common and api-gateway)
|
|
configure(subprojects.findAll { it.name != 'common' && it.name != 'api-gateway' }) {
|
|
|
|
dependencies {
|
|
|
|
// Common Spring Boot Starters
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
|
|
implementation 'org.springframework.boot:spring-boot-starter-security'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
implementation 'org.springframework.boot:spring-boot-starter-cache'
|
|
|
|
// Actuator for health checks and monitoring
|
|
implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
|
|
// JWT Authentication (common across all services)
|
|
implementation "io.jsonwebtoken:jjwt-api:${jjwtVersion}"
|
|
runtimeOnly "io.jsonwebtoken:jjwt-impl:${jjwtVersion}"
|
|
runtimeOnly "io.jsonwebtoken:jjwt-jackson:${jjwtVersion}"
|
|
|
|
// JSON Processing
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind'
|
|
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
|
|
|
|
// API Documentation (common across all services)
|
|
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}"
|
|
|
|
// Common Utilities
|
|
implementation "org.apache.commons:commons-lang3:${commonsLang3Version}"
|
|
|
|
// Testing
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.springframework.security:spring-security-test'
|
|
testImplementation 'org.testcontainers:junit-jupiter'
|
|
testImplementation 'org.testcontainers:testcontainers'
|
|
testImplementation 'org.mockito:mockito-junit-jupiter'
|
|
testImplementation 'org.awaitility:awaitility:4.2.0'
|
|
|
|
// Configuration Processor
|
|
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
|
}
|
|
}
|
|
|
|
// Configure API Gateway separately (uses WebFlux instead of Web)
|
|
configure(subprojects.findAll { it.name == 'api-gateway' }) {
|
|
dependencies {
|
|
// WebFlux instead of Web for reactive programming
|
|
implementation 'org.springframework.boot:spring-boot-starter-webflux'
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
|
|
// Actuator for health checks and monitoring
|
|
implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
|
|
// JWT Authentication (same as other services)
|
|
implementation "io.jsonwebtoken:jjwt-api:${jjwtVersion}"
|
|
implementation "io.jsonwebtoken:jjwt-impl:${jjwtVersion}"
|
|
implementation "io.jsonwebtoken:jjwt-jackson:${jjwtVersion}"
|
|
|
|
// API Documentation for WebFlux
|
|
implementation "org.springdoc:springdoc-openapi-starter-webflux-ui:${springdocVersion}"
|
|
|
|
// Testing (WebFlux specific)
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'io.projectreactor:reactor-test'
|
|
|
|
// Configuration Processor
|
|
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
|
}
|
|
}
|
|
|