mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2025-12-06 16:16: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>
97 lines
2.5 KiB
Groovy
97 lines
2.5 KiB
Groovy
// bill-service 모듈
|
|
// 루트 build.gradle의 subprojects 블록에서 공통 설정 적용됨
|
|
|
|
plugins {
|
|
id 'jacoco'
|
|
}
|
|
|
|
dependencies {
|
|
// Database (bill service specific)
|
|
runtimeOnly 'org.postgresql:postgresql'
|
|
implementation 'com.zaxxer:HikariCP:5.0.1'
|
|
|
|
// Redis (bill service specific)
|
|
implementation 'redis.clients:jedis:4.4.6'
|
|
|
|
// Circuit Breaker & Resilience
|
|
implementation 'io.github.resilience4j:resilience4j-spring-boot3:2.1.0'
|
|
implementation 'io.github.resilience4j:resilience4j-circuitbreaker:2.1.0'
|
|
implementation 'io.github.resilience4j:resilience4j-retry:2.1.0'
|
|
implementation 'io.github.resilience4j:resilience4j-timelimiter:2.1.0'
|
|
|
|
// Logging (bill service specific)
|
|
implementation 'org.slf4j:slf4j-api'
|
|
implementation 'ch.qos.logback:logback-classic'
|
|
|
|
// HTTP Client
|
|
implementation 'org.springframework.boot:spring-boot-starter-webflux'
|
|
|
|
// Common modules (로컬 의존성)
|
|
implementation project(':common')
|
|
implementation project(':kos-mock')
|
|
|
|
// Test Dependencies (bill service specific)
|
|
testImplementation 'org.testcontainers:postgresql'
|
|
testImplementation 'redis.embedded:embedded-redis:0.7.3'
|
|
testImplementation 'com.github.tomakehurst:wiremock-jre8:2.35.0'
|
|
}
|
|
|
|
tasks.named('test') {
|
|
finalizedBy jacocoTestReport
|
|
}
|
|
|
|
jacocoTestReport {
|
|
dependsOn test
|
|
reports {
|
|
xml.required = true
|
|
csv.required = false
|
|
html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
|
|
}
|
|
}
|
|
|
|
jacoco {
|
|
toolVersion = "0.8.8"
|
|
}
|
|
|
|
jacocoTestCoverageVerification {
|
|
violationRules {
|
|
rule {
|
|
limit {
|
|
minimum = 0.80
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
springBoot {
|
|
buildInfo()
|
|
}
|
|
|
|
// 환경별 실행 프로필 설정
|
|
task runDev(type: JavaExec, dependsOn: 'classes') {
|
|
group = 'application'
|
|
description = 'Run the application with dev profile'
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
mainClass = 'com.phonebill.bill.BillServiceApplication'
|
|
systemProperty 'spring.profiles.active', 'dev'
|
|
}
|
|
|
|
task runProd(type: JavaExec, dependsOn: 'classes') {
|
|
group = 'application'
|
|
description = 'Run the application with prod profile'
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
mainClass = 'com.phonebill.bill.BillServiceApplication'
|
|
systemProperty 'spring.profiles.active', 'prod'
|
|
}
|
|
|
|
// JAR 파일명 설정
|
|
jar {
|
|
enabled = false
|
|
archiveBaseName = 'bill-service'
|
|
}
|
|
|
|
bootJar {
|
|
enabled = true
|
|
archiveBaseName = 'bill-service'
|
|
archiveClassifier = ''
|
|
} |