쿠폰 +-(2)

kbs·2023년 4월 28일
0

+버튼을 누르면 tempbasketprovider의 add함수가 실행된다.

1) tempbasket state 내부 상품을 가격순으로 정렬

2) 쿠폰 적용 대상이 되는 상품도 가격순으로 정렬

3) tempbasket state 내부 상품 중 쿠폰 적용 대상이 되는 상품과 이름이 일치하는 첫번째 상품을 변수에 저장함.만약 null이면 함수를 종결함

4) 첫번째 상품(가장 비싼 상품)이 추출되면, 그 다음에는 해당 상품이 tempbasket state의 쿠폰 basket에 존재하는지를 살펴본다.

4.1.) 만약 존재하면, 해당 쿠폰함에서 quantity 값을 1개만 증가시켜준다.

4.2.) 존재하지 않으면, 아예 새로운 쿠폰 모델을 형성시켜준다.

5) 이제 중요한 것은 쿠폰이 적용되었으니, tempbasket state의 basket에서

해당 상품을 제거하는 것이다.

6) 3)에서 추출된 상품의 index 값을 뽑아내고 동시에 해당 상품의 count 값이 1인지를 살펴본다.

6.1) count 값이 1 이라면, 해당 상품을 제외한채로 list를 재구성하고

6.2) count 값이 1이 아니라면, 해당 상품의 count 값을 1을 빼준다.

0개의 댓글