Skip to content

[ Feature ] - CODEF 동기화 배치 수동 트리거 테스트 API 구현 #199

Description

@KSBoscoKim

🛠️ 계획된 개발 기능

CODEF 일일 증분 동기화 배치(DailyFinancialSyncScheduler)는 현재 매일 새벽 1시(서울 시간)에만 자동 실행됩니다. 배치 로직 동작 확인·디버깅을 위해 특정 사용자·날짜를 스케줄을 기다리지 않고 즉시 실행해볼 수 있는 테스트용 API를 추가합니다. bff-service의 기존 SettlementTestController(정산 배치 수동 실행)와 동일한 패턴을 따릅니다.

🛠 기능 구현 세부사항

  • bff-serviceCodefSyncTestController 신규 추가
    • GET /internal/test/codef-sync/run?userId=&date=
    • common의 기존 DailyFinancialSyncClient를 그대로 주입받아 synchronize(DailyFinancialSyncProvider.CODEF, List.of(userId), date) 호출 — 스케줄러가 실제로 타는 것과 동일한 진입점(lease 획득/스킵/완료 로직 포함)을 재사용하며, 새 인터페이스나 Local*CommandClient는 추가하지 않음
    • 응답은 DailyFinancialSyncResultApiResponse로 감싸 반환 (executionStatus, 기관별 결과, 처리 건수 — 민감정보 없음)
  • SecurityConfig 변경 없음 (/internal/test/** permitAll 이미 존재)
  • account-service 쪽 로직(DailyCodefSyncService, BatchExecutionLeaseService)은 변경하지 않음 — 같은 (jobName, businessDate)라도 RUNNING이 아닌 완료된 실행은 재트리거가 이미 허용되므로 별도 idempotency 처리가 필요 없음

🛠 참고사항

  • SettlementTestController와 동일하게 검증 끝나면 삭제 대상인 테스트용 컨트롤러입니다. 인증 없이 호출 가능하므로 운영 배포 전 삭제 여부를 확인해야 합니다.

📝 check-lists

  • CodefSyncTestController 구현
  • 로컬에서 특정 userId·date로 수동 트리거 후 DAILY_BATCH_EXECUTION/ACCOUNT_SYNC_STATE 반영 확인
  • 같은 (userId, date) 재호출 시 재트리거 동작(완료된 실행 재실행) 확인
  • 검증 끝나면 컨트롤러 삭제 여부 결정

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions