Open chessta0126 opened 1 year ago
isTimeOver (예매 중 / 만료) 값이 파라미터로 보내질 때 @ModelAttribute에 의해 객체 형태로 맞춰지는데,
객체에서는 boolean으로 되어있지만 AJAX가 전송할 때 true는 'true'로, String 형태로 간다. -> DB에서 설정한 타입과 다르므로 매치가 안 된다.
let isMember = true;
if(isMember){ isMember = 1; } else{ isMember = 0; }
-> 이것도 결국 String으로 보내지므로, 적용이 안 된다.
**따라서 MultipartFile 처리할 때처럼, @ModelAttribute 이외에도 따로 String 형태로 보내어 boolean으로 변환 후 setting한다.**
// String 형태의 isTimeOver >> boolean으로 setting boolean isTimeOverBoolean = false; if(isTimeOver.equals("true")) { isTimeOverBoolean = true; } festival.setTimeOver(isTimeOverBoolean);
예약자 수 / 명단을 볼 수 있게 해야 함
select의 선택값을 넘길 때는 아이디.val( )이 아니라, 정확히 선택된 것을 명시해줘야 한다.
let headCount = $('#headCount option:selected').val();
span 내부의 글자 값을 가져오는 것은 val( )이 아니라 text( )로 가져온다.
let payMoney = $('#payMoney').text();
FestivalController에서 공연 상세 페이지에 예약 여부 model을 내려줄 때, 비로그인일 경우 session 자체가 없어 userId가 없으니 try-catch로 예외 처리했다.
// 예매 여부(회원 / 비회원)
// 비로그인 시 아예 session이 없으므로 에러-> 예외처리
try{ // 회원(로그인)
int userId = (int)session.getAttribute("userId");
boolean isBooked = bookBO.isBookedByUserIdFestivalId(userId, festivalId);
model.addAttribute("isBooked",isBooked);
BookView bookView = bookBO.generateBookViewByUserIdFestivalId(userId, festivalId);
model.addAttribute("bookView",bookView);
}catch(Exception e){
// 비회원(비로그인)일 때는 예매 완료 버튼은 띄우지 않는다(false)
model.addAttribute("isBooked",false);
}
로그인 상태(회원) -> 예약 여부 / 공연-예약 정보 묶음을 내려주고 비로그인 상태(비회원) -> 예매 완료 버튼을 띄우지는 않지만
예매 완료 후 페이지 리로드
location.reload();
textarea 영역 크기 조절 방지
textarea {resize: none;}
if(${isBooked}){
let memberBookingBtn = document.getElementById("memberBookingBtn");
memberBookingBtn.innerText = "추가 예매";
}
<h3 class="bold"> </h3>
-> startDate, endDate를 비필수 파라미터(쿼리스트링)로 받아서, 파라미터가 존재할 경우에만 조건에 맞는 myBookingList로 오버라이딩
if(!ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)) {
myBookingList = festivalBO.generateBookViewListByLimit(startDate, endDate, userId);
}
-> 하지만 공연 등록 및 검색에 제한을 두는 것은
-> maxDate : 31 을 제거했다. $('#endDate').datepicker({ }); 까지 제거하면 datepicker가 작동을 안 하므로, 이건 살려두었다.
BookRestController
예매 내역 추가
BookBO
예매 내역 객체 형태로 보내기(insert)
BookDAO