Skip to content

빌릴게 대여 신청·반납 신청 API 추가 #74

Description

@xeoxxn

어떤 기능인가요?

학생 앱 빌릴게(물품 대여) 화면의 쓰기 API 2개를 추가한다. feat/#68-billilge-query-apis(PR #69)가 만든 조회 3개 위에서 이어간다.

Method Endpoint 설명
POST /v1/app/billilge/histories 대여 신청
PATCH /v1/app/billilge/histories/{id}/return 반납 신청

📝 작업 상세 내용

  • RentalErrorCode에 에러코드 6개 추가 (MEMBER_IS_NOT_PAYER, ITEM_OUT_OF_STOCK, RENTAL_ITEM_DUPLICATED, INVALID_RENTAL_TIME_RANGE, INVALID_RENTAL_TIME_LUNCH_BREAK, ITEM_NOT_FOUND, RENTAL_NOT_FOUND)
  • RentalHistory.create(...)/markReturned(...), Item.decreaseStock(...) 도메인 메서드 추가
  • RentalTimeValidator(정적 유틸) — 영업시간(1017시)·점심시간(1213시) 검증
  • ItemRepository.findByIdForUpdate(비관적 락)/save, RentalHistoryRepository.save/중복 조회/반납 대상 조회 추가
  • fee 도메인 PayerService.isPayer(memberId) 추가 (회비 납부 여부 확인)
  • 대여 신청: RentalApplyUseCase(fee+rental 도메인 조합, @Transactional) + API
  • 반납 신청: RentalHistoryService.returnRental(...) + API

📁 참고 자료 (선택)

  • 계획서: docs/plans/billilge-rental-apply-return-api.md (로컬, gitignore 대상)
  • 레거시 billilge/backend(Kotlin) 저장소의 RentalService.createRental()/checkDuplicateRental()/updateRentalStatus() 참고

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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