ondal 4390a0a7a4 가이드 업데이트 및 DB 설정 변경
- CLAUDE.md 가이드 섹션 최신화 (2025-11-18)
- GradleWrapper생성가이드, ArgoCD파이프라인준비가이드 등 신규 가이드 추가
- bill-inquiry-postgres LoadBalancer 타입 변경
- 서비스 실행 프로파일 업데이트 (bill-service, product-service, user-service)
- kos-mock 데이터베이스 업데이트

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 15:07:31 +09:00
..
2025-09-09 01:12:14 +09:00

KOS Mock Service

KT 통신사 시스템(KOS-Order)을 모방한 Mock 서비스입니다.

개요

KOS Mock Service는 통신요금 관리 서비스의 다른 마이크로서비스들이 외부 시스템과의 연동을 테스트할 수 있도록 하는 내부 Mock 서비스입니다.

주요 기능

1. 요금 조회 Mock API

  • 고객의 통신요금 정보 조회
  • 회선번호 기반 요금 데이터 제공
  • 다양한 오류 상황 시뮬레이션

2. 상품 변경 Mock API

  • 고객의 통신상품 변경 처리
  • 상품 변경 가능성 검증
  • KOS 주문 번호 생성

3. Mock 데이터 관리

  • 테스트용 고객 데이터 제공
  • 요금제별 Mock 상품 데이터
  • 청구월별 요금 이력 데이터

기술 스택

  • Framework: Spring Boot 3.2
  • Language: Java 17
  • Documentation: Swagger/OpenAPI 3.0
  • Cache: Redis (선택적)
  • Test: JUnit 5, MockMvc

API 엔드포인트

기본 정보

  • Base URL: http://localhost:8080/kos-mock
  • API Version: v1
  • Content-Type: application/json

주요 API

1. 요금 조회 API

POST /api/v1/kos/bill/inquiry

요청 예시:

{
  "lineNumber": "01012345678",
  "billingMonth": "202501",
  "requestId": "REQ_20250108_001",
  "requestorId": "BILL_SERVICE"
}

2. 상품 변경 API

POST /api/v1/kos/product/change

요청 예시:

{
  "lineNumber": "01012345678",
  "currentProductCode": "LTE-BASIC-001",
  "targetProductCode": "5G-PREMIUM-001",
  "requestId": "REQ_20250108_002",
  "requestorId": "PRODUCT_SERVICE",
  "changeReason": "고객 요청에 의한 상품 변경"
}

3. 서비스 상태 체크 API

GET /api/v1/kos/health

Mock 데이터

테스트용 회선번호

  • 01012345678 - 김테스트 (5G 프리미엄)
  • 01087654321 - 이샘플 (5G 스탠다드)
  • 01055554444 - 박데모 (LTE 프리미엄)
  • 01099998888 - 최모의 (LTE 베이직)
  • 01000000000 - 비활성사용자 (정지 상태)

상품 코드

  • 5G-PREMIUM-001 - 5G 프리미엄 플랜 (89,000원)
  • 5G-STANDARD-001 - 5G 스탠다드 플랜 (69,000원)
  • LTE-PREMIUM-001 - LTE 프리미엄 플랜 (59,000원)
  • LTE-BASIC-001 - LTE 베이직 플랜 (39,000원)
  • 3G-OLD-001 - 3G 레거시 플랜 (판매 중단)

실행 방법

1. 개발 환경에서 실행

./gradlew bootRun

2. JAR 파일로 실행

./gradlew build
java -jar build/libs/kos-mock-service-1.0.0.jar

3. 특정 프로파일로 실행

java -jar kos-mock-service-1.0.0.jar --spring.profiles.active=prod

설정

Mock 응답 지연 설정

kos:
  mock:
    response-delay: 1000  # 밀리초
    failure-rate: 0.05    # 5% 실패율

Redis 설정 (선택적)

spring:
  data:
    redis:
      host: localhost
      port: 6379

테스트

단위 테스트 실행

./gradlew test

API 테스트

Swagger UI를 통해 API를 직접 테스트할 수 있습니다:

모니터링

Health Check

Metrics

주의사항

  1. 내부 시스템 전용: 이 서비스는 내부 테스트 목적으로만 사용하세요.
  2. 보안 설정 간소화: Mock 서비스이므로 보안 설정이 간소화되어 있습니다.
  3. 데이터 지속성: Mock 데이터는 메모리에만 저장되며, 재시작 시 초기화됩니다.
  4. 성능 제한: 실제 부하 테스트 용도로는 적합하지 않습니다.

문의

KOS Mock Service 관련 문의사항이 있으시면 개발팀으로 연락해 주세요.