Skip to content

송금 요청 만료 기능 #28

@donggi-lee-bit

Description

@donggi-lee-bit

송금 요청이 생성된 후 일정 시간(3일) 이내에 수락 또는 거절되지 않으면, 해당 요청을 EXPIRED 상태로 전환하는 만료 처리 기능을 도입하고자 합니다.

요청 만료 처리 기능은 단계적으로 도입하고자 하며, 현재 고려 중인 방식은 다음과 같습니다.

  • 요청 시점 검증
    사용자가 송금 요청을 수락하거나 거절하는 시점에, 만료 여부를 확인하고 조건을 만족할 경우 상태를 EXPIRED로 전환합니다.

  • 스케줄러 기반 배치 처리
    일정 주기로 만료 조건에 해당하는 요청들을 조회하고, 일괄적으로 EXPIRED 상태로 변경합니다.
    요청 시점 검증만으로는 누락될 수 있는 요청을 보완합니다.

  • Queue 기반 자동 만료 처리
    요청 생성 시 만료 예정 시점을 큐에 등록하고, 지정된 시간이 도래하면 만료 이벤트를 트리거하여 상태를 전환합니다.

먼저 구현 난이도가 가장 낮은 요청 시점 검증 방식으로 구현하고, 추후 점진적으로 기능을 확장하고자 합니다.

주요 기능

  • 송금 요청 생성 이후 일정 시간(3일) 경과 시 만료 처리
  • 수신자가 수락/거절 시점에 만료 여부 검증
  • 만료 시 RemittanceRequestStatus.EXPIRED로 상태 변경
  • 상태 이력(remittance_request_status_history)에 만료 기록 추가
  • 만료된 요청에 대한 수락/거절 시도는 예외(ExpiredRequestException)로 처리

적용 대상

  • 송금 요청 수락 API
  • 송금 요청 거절 API

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions