[REST API 및 프로젝트 소개]_06_이벤트 비즈니스 로직
Event 생성 API 구현: 비즈니스 로직
Event 생성 API
- 다음의 입력 값을 받는다.
- name
- description
- beginEnrollmentDateTime : 이벤트 등록 시작 시간
- closeEnrollmentDateTime : 이벤트 등록 종료 시간
- beginEventDateTime : 이벤트 시작 일시
- endEventDateTime : 이벤트 종료 일시
- location (optional) : 이벤트 장소 - 이게 없으면 온라인 모임
- basePrice (optional) : 기본 등록비
- maxPrice (optional)
- limitOfEnrollment : 등록 참여인원 제한
basePrice와 maxPrice 경우의 수와 각각의 로직
basePrice | maxPrice | - |
---|---|---|
0 | 100 | 선착순 등록(지정된 금액 결제) |
0 | 0 | 무료 |
100 | 0 | 무제한 경매 (높은 금액 낸 사람이 등록) |
100 | 200 | 제한가 선착순 등록 처음 부터 200을 낸 사람은 선 등록. 100을 내고 등록할 수 있으나 더 많이 낸 사람에 의해 밀려날 수 있음. |
결과값
-
id ★ //이벤트를 고유하게 식별할 수 있는 식별자
-
name //이벤트 생성 시 입력한 값들도 반환
-
…
-
eventStatus: DRAFT, PUBLISHED, ENROLLMENT_STARTED, …
//기본적으로 DRAFT 상태 (다른 유저에게 이벤트가 보이지 않고 본인에게만 보임)
-
offline //offline 여부는 location에 따라 달라짐(location : true → offline, flase → online)
-
free //유/무료
-
_links //여러 HATEOAS 정보
-
profile (for the self-descriptive message)
//이 응답 메시지 자체에 대한 정보를 담고있는 문서 링크 →
Self-descriptive
를 만족 -
self //생성한 이벤트를 조회할 수 있는 자기자신 링크
-
publish
-
…
-