import axios from 'axios' import { useEffect, useState } from 'react' import { useHistory } from 'react-router-dom' import Kakaopay from '../../components/Kakaopay' import { useAuth } from '../../context/auth_context' import catchErrors from '../../utils/catchErrors' import styles from './PaymentPage.module.scss' const Payment = ({ location }) => { const history = useHistory(); const [ticketInfo, setTicketInfo] = useState({ ...location.state }) const [error, setError] = useState("") const [userInfo, setUserInfo] = useState({ nickname: "", email: "", birth: "", phoneNumber: "" }) const [guestInfo, setGuestInfo] = useState({}) const [guestID, setGuestID] = useState() const { user } = useAuth() useEffect(() => { console.log(user.id) if (user.role === "member") { getUserInfo() } }, []) async function getUserInfo() { try { const response = await axios.post(`/api/auth/getuserinfo`, { id: user.id }) console.log(response.data) setUserInfo(response.data) } catch (error) { catchErrors(error, setError) } } function handleChangeGuest(e) { setGuestInfo({ ...guestInfo, [e.target.name]: String(e.target.value) }) } async function handleClickGuest() { try { const response = await axios.post('/api/auth/guest/save', { ...guestInfo }) setGuestID(response.data.id) alert("비회원 정보가 저장되었습니다.") } catch (error) { catchErrors(error, setError) } } async function reservationComplete() { try { if (user.id > 0) { const response = await axios.post(`/api/reservation/save`, { userType: "member", user: userInfo.id, ...ticketInfo, payment: "카카오페이", timetable: 1 }) if (response.data) { const responseEmail = await axios.post('/api/email/send', { ...ticketInfo, ...userInfo, ...guestInfo, }) console.log("이메일전송완료===", responseEmail.data) alert("예매가 완료되었습니다.") history.push('/') } } else { if (guestID) { const response = await axios.post(`/api/reservation/save`, { userType: "guest", user: guestID, ...ticketInfo, payment: "카카오페이", timetable: 1 }) if (response.data) { const responseEmail = await axios.post('/api/email/send', { ...ticketInfo, ...userInfo, ...guestInfo, }) console.log("이메일전송완료===", responseEmail.data) } alert("예매가 완료되었습니다.") console.log("비회원예매완료===", response.data) history.push('/') } else { alert("비회원 정보를 모두 입력 후 비회원 정보 저장 버튼을 눌러주세요.") } } } catch (error) { catchErrors(error, setError) } } return (
{console.log(ticketInfo)} {console.log(userInfo)} {/* {console.log(guestInfo)} */}

결제하기

{user.role === "member" ?
회원정보

※ 회원정보 변경은 마이페이지에서 가능합니다.

:
비회원예매 정보입력

※ 비회원 정보 오기입 시 예매 내역 확인/취소 및 티켓 발권이 어려울 수 있으니 다시 한번 확인해 주시기 바랍니다.

}
결제방법
영화포스터
{ticketInfo.title}
{ticketInfo.cinema}
{ticketInfo.time}
{ticketInfo.selectedTheater}관 {ticketInfo.selectedSeats.map(el => String.fromCharCode(parseInt(el.split('-')[0]) + 65) + el.split('-')[1]) + ' '}
청소년: {ticketInfo.teenager}명
성인: {ticketInfo.adult}명
경로우대: {ticketInfo.elderly}명
총 결제금액: {ticketInfo.teenager * 7000 + ticketInfo.adult * 8000 + ticketInfo.elderly * 6000}
) } export default Payment