Skip to content

feat: 물품 재고 수량 정합성 검증 및 자동 복구 배치 구현 #119

Description

@tnals0924

어떤 기능인가요?

Item.stockCount와 실제 RENTAL/RETURN_PENDING 상태인 대여 건수 사이의 불일치를 주기적으로 감지하고 자동으로 복구하는 배치를 구현합니다.

동시성 이슈, 코드 버그, DB 직접 수정 등 다양한 원인으로 저장된 재고 수량과 실제 대여 중인 건수가 어긋날 수 있습니다. 현재는 이를 감지하거나 복구하는 수단이 없어 재고가 있다고 표시되지만 실제론 전부 대여 중인 상태(또는 그 반대)가 발생할 수 있습니다.

📝 작업 상세 내용

  • 정합성 검증 쿼리 작성: totalStock - 실제 RENTAL 중인 건수 ≠ stockCount 인 물품 탐지
  • ItemRepositoryCustom에 불일치 물품 조회 메서드 추가
  • 자동 복구 배치 구현 (@Scheduled, 매일 새벽 3시)
    • 실제 대여 건수 기준으로 stockCount 보정
    • 불일치 발생 시 로그 기록 (물품 ID, 보정 전/후 값)
  • 불일치 감지 시 관리자 알림 발송 (FCM 또는 로그)

📁 참고 자료 (선택)

  • 관련 파일: ItemRepository, RentalRepository, Item.stockCount, RentalStatus
  • 대여 상태 중 재고 차감 대상: RENTAL, RETURN_PENDING

Metadata

Metadata

Assignees

No one assigned

    Labels

    new feature새로운 기능 추가

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions