2024년 9월 30일
: 위 그림에서 member 테이블의 id를 이용해 follow 테이블에서 followng 하는 유저와 followed 하는 유저를 같이 관리해주고 있다.
이처럼, 좋아요도 1:N의 관계로 ERD를 그릴 수 있다.
: 결제하기 = 주문하기 = 주문등록 = 데이터베이스 주문 insert
주문서 작성은 배송 정보, 주문상품 목록, 결제 정보, 총 금액으로 이루어짐
결제(주문) API
request body에 주문 상품 목록, 배송 정보, 총 금액을 요청해야함
상품 목록 : 장바구니에서 선택한 주문 예상 상품 목록 조회의 response body 내용을 배열로 보여주면 됨
배송 정보는 사용자 입력해서 {adderss : “주소”, receiver : “이름”, contact: “010-0000-0000”} 요청 ⇒ 이 데이터들이 delivery 테이블로 저장됨
결제 정보 : 일단 보류
총 금액 : {totalPrice: 총 금액} 으로 요청
request로 받은 정보들을 order 테이블 안에 다 넣어서 관리해도 되고, devliery & order 테이블롤 나눠서 관리해도 됨
orders 테이블 생성
상품 목록을 이제 bookId로 가져올 것인데, cartItems의 bookId도 주문하면 역시 사라지므로 count를 프론트단에서 가져와줘야한다. 또한 주문를 하면 장바구니에서 주문된 상품은 사라져야 하므로(DELETE) cartItems의 cartItemId까지 알아야 삭제할 수 있으므로 cartItemId도 request도 받아야 한다.
주문을 하면 주문 일자도 넣어야 하므로 created_at 필드도 추가해준다.
그리고 테이블 정리
*주문 목록 페이지 : 주문 일자, 배송 정보(주소, 수령인, 전화번호), 상품 정보, 배송 추적(모달을 띄우는 정도로 처리 프론트엔드쪽), 상세 정보(토글 클릭하면 상세 상품 정보 노출) 로 구성됨
response body에 orders 테이블을 통해 주문한 내역들을 보여준다.
주문 id와 주문 일자는 orders 테이블에서 가져올 예정
배송 정보 : delivery 테이블의 address, receiver, contact에서 가져올 예정
대표 책 제목, 결제 금액, 총 수량
orderBook 테이블의 book_id를 통해 대표 책 제목을 가져오려고 했는데 번거로워서 order테이블에 추가해서 book_title 사용
rderBook 테이블의 count를 통해 총 수량을 가져오려고 했는데 번거로워서 order테이블에 total_count 사용
: 해당 주문 아이디에 해당된 상품들의 정보를 출력할 예정
ex) 주문 id가 1인 친구를 조회하면 그에 따른 책들을 상세히 보여줄 것임
따라서, orderBook 테이블을 이용할 예정 → order_id에 해당하는 book_id로 도서 제목, 작가 이름, 가격, 수량을 가져오고 count도 가져옴