FLIP

📊 FLIP 데이터 모델링 (주문, 결제)

King of Silicon Valley 2021. 9. 14. 20:24
728x90

주문, 결제 ERD

테이블 소개

주문(orders)

칼럼: 유저아이디(FK), 주문 상태(FK), 최종 가격, 생성일, 업데이트일

주문 아이템(orderitems) 

  • 주문에 담긴 상품들의 정보와 수량 등을 포함하는 테이블 (주문에 여러개의 상품이 담길 수 있어서 생성했다.)

칼럼: 주문아이디(FK), 상품 아이디(FK), 수량, 생성일, 업데이트일

주문 상태(order status)

  • 주문 상태정보를 저장하는 테이블이다. 카테고리와 비슷한 개념이라고 보면된다. "주문 대기", "주문 진행중", "주문 완료"등의 정보가 저장된다. 

칼럼: 상태(status) 

결제(payments)

  • 결제 정보를 저장한다. 주문을 FK로 갖는다.

칼럼: 주문 아이디(FK), 결제 종류(FK), 최종 가격, 상태, 생성일, 업데이트일 

 

결제 메소드(methods)

  • 결제 유형을 저장한다. 카드, 무통장, 카카오 페이, 네이버 페이 등등 

칼럼: 이름 

 

주문 처리 과정 

  • 장바구니 없는 경우 

주문 생성 -> 주문 아이템 생성 -> 결제 생성 -> 결제 완료 -> 주문 상태 변경 

 

  • 장바구니 있는 경우 

장바구니 생성 -> 주문 생성 -> 장바구니에 있는 목록으로 주문 아이템 생성 ->  결제 생성 -> 결제 완료 -> 주문 상테 변경 

 

 

일단 로직은 이렇게 구성해 보았다. 

트랜잭션 처리, 결제 취소, 결제 중 네트워크 중단 등 다양한 상황을 가정해보면 재밌는 구현 요소가 많이 나올 것 같다.