kos-mock 상품변경 실제 DB 업데이트 기능 추가

- 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>
This commit is contained in:
hiondal
2025-09-10 02:06:24 +09:00
parent 6ca4daed8d
commit 02bcfa5434
122 changed files with 6116 additions and 3983 deletions
@@ -1,48 +1,3 @@
spring:
# H2 데이터베이스 설정 (Mock 서비스용)
datasource:
url: jdbc:h2:mem:kosmock;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
username: sa
password:
driver-class-name: org.h2.Driver
# JPA 설정
jpa:
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: create-drop
show-sql: true
properties:
hibernate:
format_sql: true
# H2 Console (개발환경에서만)
h2:
console:
enabled: true
path: /h2-console
# Redis 설정
data:
redis:
host: ${REDIS_HOST:localhost}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:}
timeout: 2000ms
lettuce:
pool:
max-active: 8
max-idle: 8
min-idle: 0
max-wait: -1ms
database: ${REDIS_DATABASE:4}
# Mock 응답 시간 (개발 환경에서는 빠른 응답)
kos:
mock:
response-delay: 100 # milliseconds
failure-rate: 0.01 # 1% 실패율
# 로깅 레벨 (개발환경)
logging:
level:
@@ -1,27 +1,6 @@
spring:
data:
redis:
host: ${REDIS_HOST:localhost}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:}
timeout: 2000ms
lettuce:
pool:
max-active: 20
max-idle: 10
min-idle: 5
# Mock 응답 시간 (실제 KOS 시스템을 모방)
kos:
mock:
response-delay: 1000 # milliseconds (1초)
failure-rate: 0.05 # 5% 실패율
# 로깅 레벨 (운영환경)
# 로깅 레벨
logging:
level:
com.phonebill.kosmock: INFO
org.springframework.web: WARN
org.springframework.data.redis: WARN
file:
name: /var/log/kos-mock-service.log
org.springframework.data.redis: WARN
+29 -3
View File
@@ -2,7 +2,28 @@ spring:
application:
name: kos-mock-service
profiles:
active: dev
active: ${SPRING_PROFILES_ACTIVE:dev}
datasource:
url: jdbc:h2:file:./data/kos_mock
driver-class-name: org.h2.Driver
username: sa
password: password
sql:
init:
platform: h2
jpa:
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
format_sql: true
h2:
console:
enabled: true
path: /h2-console
server:
port: ${SERVER_PORT:8084}
@@ -22,8 +43,12 @@ management:
logging:
level:
com.phonebill.kosmock: INFO
com.phonebill.kosmock: DEBUG
org.springframework.web: INFO
org.springframework.jdbc.core: DEBUG
org.hibernate.SQL: DEBUG
org.hibernate.type.descriptor.sql: TRACE
com.zaxxer.hikari: DEBUG
pattern:
console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n'
file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n'
@@ -38,4 +63,5 @@ springdoc:
path: /swagger-ui.html
tags-sorter: alpha
operations-sorter: alpha
show-actuator: true
show-actuator: true
paths-to-exclude: /actuator/**