배민문방구를 들어가면 제일 처음 보이는 메인페이지에 대해서 리뷰해볼 시간이다!
메인페이지를 보면
잘나가요
, 새로 나왔어요
, 지금은 할인 중
이라고 나눠져 있고, 각각 4, 8, 8개의 상품으로 이루어져 있는것을 알 수 있다.
이것들을 객체에 담아 넘기면 되겠다!! 라고 생각했다.
compare_date
는 날짜를 비교하기 위해 필요하다.
check_best_list
는 베스트인 상품들의 배열이다.
베스트 상품은 전체 상품 중에 제일 잘 팔린 상품들의 20개다.
각각의 4, 8, 8개의 상품을 얻어야 하는데 이것은 상수로 지정하여 유지보수가 편할 수 있도록 설정하였다.
각각의 쿼리를 필터링하는 조건과 방법은 다르지만, 다 비슷비슷하게 작성되었다.
is_new
는 create_at
을 기준으로 한달 이내의 제품만 True
가 되게 하였고, is_best
는 해당 제품이 위에서 구한 best_list
에 in
되어 있는지 검사하였다.
모든 제품의 sale
값은 0이 default
인데, is_sale
은 0보다 크면 True
가 나오게 하여 각각의 항목에 대하여 나눠주었다.