Wecode - Project 3 (부트캠프)/Project 3 과정

Project 3 : 주문 api postman 통신 방법 (if 에러 핸들링 x, transactionx) + 에러 해결 법

Queen Julia 2023. 10. 20. 08:33
vscode의 mysql 확장자 사용 -> 주문 결제 시 간편 

 

1. carts 수량 넉넉히 넣어두고 (테스트 해야 하니까) 

( + 버튼 누르면 됨) 

에러 전

 

에러 후 이게 맞는 carts 테이블 (userid, product id 반영해야)

2. user 만들고 

(created at dms 자동생성되니 냅두고) 

 

3. product 만들고 

(아래에 product_category_id 참고해서 넣고) 

 

4. 그러다가, 아 하고 product categories 만들고 

(저장하면서 이동 해야 한다 _ 연두색 체크 버튼 _ 다 달라감) 

 

 

5. body 에 보내야 하는 게

payment id도 있어서 만들고

 

6. 만든 테이블 참고해서 

 

어떤 user 인지 userid , payment id, product id  는 내가 만든 각 user / payment /product 테이블 참고해서 넣고

total price는 product 테이블에 있는 값 참고하고 (제품의 가격이니까)

shippingMethod, total price는 id 가 아닌 문자열로 " " 써준다.

shippingMethod는 "택배배송/방문수령" 중에, quantity는 내가 살 수량으로 적어준다.

 

created_at은 자동생성이라 필요 없고 

]


 

그런데 수량을 "7"로 쓸지, 7로 쓸지 헷갈려서 

"7" 로 먼저 보내보니, 

quantity 값이 안 들어감 

order까지 주문 정보 들어가는데 , orderDetails 들어가는 쿼리 실패 

 

 

시도를 두번 해서 

orders에 6000원짜리 방문수령 주문 2건 있고

orderdetails에는 order id 가 25에서 멈춰 있음. 안 들어감 -> orderdetails의 insertinto 쿼리문에 문제가 

 

에러에서 product id 말하길래,  products 테이블을 들어가보니, 내가 추가했던 Products 2 번이 저장이 안 돼 있었다. 

(아까도 user도 그랬는데.)

 

 

 

 

이제는 수량을 읽을 수 없단다. 

carts 테이블로 가보니, 내가 userid 와 product id = 2 를 추가해놓고 

 테이블엔 userid 와 product id = 1만 있었다. 

 

 

 

수정하니 됐다! 

조작 의심 방지를 위한 동시 양쪽 창 캡쳐

 

그런데 아직 carts 수량은 50개 처음 그대로지? 

이제 mysql 새로고침을 해줘야 한다. 

 

두둥 

 

1) 장바구니 수량 줄어든 거 확인

quantity = 7 했으니

50-7 = 43 맞다. 

 

2) orders table 확인 

3)  order details table 확인 

 

위 2) 에서 order id 32 인 거 확인하고

아래 order details 에서 order id 보면 32!

 

 

4) 한번 더 보내볼까? 그럼 장바구니 수량이 줄어야겠지? 

50-7-7 = 36 이 돼야 겠지?

새로 고침 해볼까?

 됐다! 

 

order id도 잘 찍히고
틈새 order id = 33 확인하기

 

 

 

5) 그러면 이제 님은 33개 다  넣었을 때

어떻게 봐야하는지  (전체 삭제 테스트)

장바구니 carts 테이블에 

원래 있던 

carts id 2 가 사라짐 --> 재고가 없기에 

36개 담았던 장바구니에서 36개를 샀으니 없어지는 것 

그리고 update가 아닌 delete 쿼리문이 쓰이는 걸 잘 확인 

틈새 order details 의 주문내역의 
주문한 quantity 수량 잘 들어가는지 확인하기 
이번에 당신은 36개를 구매하셨습니다

네 맞추셨습니다 저는 36개 샀습니다