본문으로 건너뛰기

궁합 분석

개요

상대방의 사주 정보를 등록하고 두 사람 간의 오행 기반 궁합 점수와 해설을 조회하는 기능입니다. 연운과 동일하게 비동기 웹훅 방식으로 처리합니다.


흐름

상대방 생년월일시 + 성별 입력

POST /api/partners ← 파트너 사주 저장

GET /api/partners/{partnerId}/compatibility

Ablecity 궁합 분석 요청 (비동기, X-Callback-URL 전달)

CompletableFuture 대기 (최대 120초)

Ablecity → POST /api/internal/callbacks/compatibility/{userId}

DB 저장 → afterCommit() → Future 완료

궁합 점수 + 해설 응답

파트너 관리

  • 파트너 등록은 무료입니다.
  • 등록된 파트너 목록은 GET /api/partners로 조회합니다.
  • 궁합 결과 데이터는 CompatibilityInfo 도메인에 저장되며, MySQL JSON 컬럼으로 Ablecity 원본 응답을 그대로 보존합니다.

동시성 제어

파트너 등록 시 동일 사용자가 동시에 중복 요청을 보내는 경우를 방지하기 위해 비관적 락(PESSIMISTIC_WRITE)을 적용합니다.


응답 상태

연운과 동일하게 complete / pending 두 가지 상태로 응답합니다. 120초 초과 시 PENDING 반환 후 클라이언트가 재요청합니다.