일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 상품목록보기
- 스프링부트
- html
- 상품명중복체크
- 쇼핑몰주문취소
- vscode폴더삭제
- 주문취소하기기능
- 주문조회페이지
- 아이디중복체크
- 구매목록페이지
- vscode삭제
- 상품삭제
- jsp
- 권한체크
- 상품상세페이지
- 쇼핑몰만들기
- 국비프로젝트
- 구매목록보기
- 상품수정
- 유저삭제
- 파이널프로젝트
- 쇼핑몰홈페이지만들기
- javascript
- 생활코딩javascript
- ajax중복체크
- 쇼핑몰프로젝트
- DB공유하기
- 자바스크립트
- 마이페이지만들기
- 생활코딩
- Today
- Total
INTP의 멋대로 개발 세상
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 6-2. 상품 구매하기 기능 만들기 본문
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 6-2. 상품 구매하기 기능 만들기
인팁구름 2023. 4. 23. 21:44
드디어 구매하기 기능을 만들어 볼 것이다💧💧 (진땀 빼는 중 헉헉)
내용이 길어 포스팅을 나눈 거라
앞 포스팅 6-1 을 꼭 보고 와야 한다!
구매하기 기능의 전반적인 개요? + 완성 코드가 적혀 있다!!
[연습📚상품 구매 사이트] 구매자 서버 만들기 - 6-1. 상품 구매하기 - 주문 목록(주문 조회) 페이
구매자 입장에서 상품 상세페이지를 들어가면 아래에 구매 수량을 입력할 수 있는 input 태그와 input에 입력한 값 만큼 구매가 되는 버튼을 만들고, 구매가 완료되면 나의 주문목록 페이지로 이동
whiteclouds-dev.tistory.com
🎤 코드 리뷰 - 구매하기 기능 만들기 🎤
코드들을 하나씩 뜯어보자💔
먼저 구매하기 기능은 로그인 한 사람만 할 수 있도록 막아준다.
먼저 productId를 이용해서 (상세페이지에서 구매하기를 누를 것이기 때문에 해당 상품의 id임)
상품의 정보들을 가져와준다.
findById는 id에 해당하는 상품의 모든 정보를 가져온다.
그러니까 위의 사진처럼 구매하려는 해당 상품의 Qty(재고)에서 주문수량(ordersQty)를 뺐을 때
0보다 작으면 안되니 예외처리를 해 준다.
위의 과정을 거쳤다면, 구매자가 입력한 구매수량은 상품의 재고보다 적다는 뜻일테고,
그러면 구매하고 난 후의 상품재고 수를 업데이트 해 주자!
ordersDto의 정보를 매개변수로 넣어준다.
그러면 MyBatis에서 product 테이블에 있던 재고(Qty)를
재고 - 구매수량한 값으로 업데이트 해 준다💫
principal.getUserId() ⬅ 현재 세션에 로그인 한 유저의 Id 값인데,
너무 길어서 userId로 만들어 주고, ordersRepository에 insert 해 준다😁
매개변수를 2개 넣었기 때문에 @Param 어노테이션 붙이는 거 잊지 말기🤭
안붙여서 데이터 값을 못찾았었다
구매에 대한 정보를 모두 insert 해 준다!!
인서트가 완료되면 구매목록으로 redirect 해 주면 된다.
redirect 주소는 구매목록 페이지의 주소값을 가져오면 된다😎
orderController와 productDetail 페이지의 form 태그 action 주소와 method 속성을 맞춰준다!
상품 상세페이지의 값을 들고 구매를 할 것이기 때문이다🛒🛒
📊 결과 확인 📊
로그인을 한 뒤,
상품 목록이 나오면 딸기🍓를 구매해 보자
현재 재고가 98개니까 8개를 입력하고 구매하기 클릭
구매 목록 페이지로 이동하면 딸기 8개가 구매된 것을 확인할 수 있다.
상품 목록 페이지로 가면 ssar이 8개를 구매했으니 90개로 재고가 바뀌어 있다
'KDT 풀스택 국비 과정 > 파이널 프로젝트(미니)' 카테고리의 다른 글
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 7. 주문 취소하기 기능 만들기 (0) | 2023.04.24 |
---|---|
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 6-3. 상품 구매하기 - 자바스크립트로 유효성 검사하기 (2) | 2023.04.24 |
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 6-1. 상품 구매하기 - 주문 목록(주문 조회) 페이지 만들기 (0) | 2023.04.23 |
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 5. 상품 목록보기/상세보기 만들기 (1) | 2023.04.17 |
[📚상품 구매 사이트 3단계] 구매자 서버 만들기 - 4. 회원가입 기능 만들기 (0) | 2023.04.17 |