어떤 기능인가요?
학생 앱 빌릴게(물품 대여) 화면의 쓰기 API 2개를 추가한다. feat/#68-billilge-query-apis(PR #69)가 만든 조회 3개 위에서 이어간다.
| Method |
Endpoint |
설명 |
POST |
/v1/app/billilge/histories |
대여 신청 |
PATCH |
/v1/app/billilge/histories/{id}/return |
반납 신청 |
📝 작업 상세 내용
📁 참고 자료 (선택)
- 계획서:
docs/plans/billilge-rental-apply-return-api.md (로컬, gitignore 대상)
- 레거시
billilge/backend(Kotlin) 저장소의 RentalService.createRental()/checkDuplicateRental()/updateRentalStatus() 참고
어떤 기능인가요?
학생 앱 빌릴게(물품 대여) 화면의 쓰기 API 2개를 추가한다.
feat/#68-billilge-query-apis(PR #69)가 만든 조회 3개 위에서 이어간다.POST/v1/app/billilge/historiesPATCH/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) + APIRentalHistoryService.returnRental(...)+ API📁 참고 자료 (선택)
docs/plans/billilge-rental-apply-return-api.md(로컬, gitignore 대상)billilge/backend(Kotlin) 저장소의RentalService.createRental()/checkDuplicateRental()/updateRentalStatus()참고