로그인한 회원이 카페 상세페이지에서 이벤트 예약을 할 경우
EventCreateRequestDto
에는 이벤트 예약정보와, 카페, 유저 정보가 필요함
#EventCreateRequestDto
@Data
public class EventCreateRequestDto {
private String eventName;
private EventCategory eventCategory;
private LocalDate eventStartDate;
private LocalDate eventEndDate;
private String eventInfo;
private int eventPrice;
private List<MultipartFile> files;
private Long cafeNumber; // 유저와 카페를 number로 저장
private Long userNumber;
}
# EventController
@PostMapping("/api/events")
public void createEvent(@RequestBody EventCreateRequestDto requestDto) {
eventService.createEvent(requestDto);
}
# EventService
@Transactional
public void createEvent(EventCreateRequestDto requestDto) {
User user = userRepository.findById(requestDto.getUserNumber()).orElseThrow();
Cafe cafe = cafeRepository.findById(requestDto.getCafeNumber()).orElseThrow();
Event event = new Event(requestDto, user, cafe);
eventRepository.save(event);
}
// number로 각각의 카페와 유저를 찾아서 이벤트 정보와 함께 저장