어떤 기능인가요?
학생 앱에서 구역 상세 조회로 고른 사물함을 신청 즉시 배정하는 API를 추가한다.
| Method |
Endpoint |
설명 |
POST |
/v1/app/lockers/applications |
사물함 신청(즉시 배정) |
- 한 회원은 운영 회차당 사물함 하나만 신청할 수 있고, 신청 후 취소·변경은 없다.
- 같은 사물함에 동시 신청이 들어오면 먼저 완료된 신청만 성공하고 나머지는
LOCKER_ALREADY_ASSIGNED(409)를 받는다.
- #64에서 미뤄둔
locker_applications (locker_period_id, locker_id) 유니크 제약을 이 작업에서 추가한다.
📝 작업 상세 내용
스키마 (Flyway)
도메인 / 영속화
API
📁 참고 자료 (선택)
어떤 기능인가요?
학생 앱에서 구역 상세 조회로 고른 사물함을 신청 즉시 배정하는 API를 추가한다.
POST/v1/app/lockers/applicationsLOCKER_ALREADY_ASSIGNED(409)를 받는다.locker_applications (locker_period_id, locker_id)유니크 제약을 이 작업에서 추가한다.📝 작업 상세 내용
스키마 (Flyway)
locker_applications (locker_period_id, locker_id)비유니크 인덱스를 유니크로 교체applied_at컬럼 추가 (행사 신청과 같이 앱이 채움), 회원 인덱스를(member_id, applied_at)로 교체도메인 / 영속화
LockerApplication에appliedAt,create(...)추가LockerApplyCommand,LockerApplicationResult,LockerErrorCode.LOCKER_ALREADY_ASSIGNED추가LockerRepository에 게시 회차 단건 조회·사물함 신청 여부·신청 저장 추가LOCKER_ALREADY_ASSIGNED로 변환LockerApplicationService공개 인터페이스 +impl추가API
{ lockerPeriodId, lockerId }—lockerPeriodId는 구역 조회에 쓴 값을 그대로 받는다lockerApplicationId,lockerId,lockerLabel,usageStartDate,usageEndDateAppLockerApi스웨거 명세 +AppLockerController엔드포인트📁 참고 자료 (선택)