롯데ON의 장바구니 기능은 DTO 기반 옵션 구조와 중복 옵션 확인 후 수량 증가 처리를 통해 사용자 경험과 유지보수성을 높였습니다. Controller–Service–Repository 구조에서 옵션 비교 로직으로 중복 항목을 방지하고, 수량 변경·삭제 API를 별도 분리해 일관된 흐름을 구현했습니다.
findByUserAndProductAndOptions()로 6개 옵션 필드 완전 일치 조회src/ └── main/ │── java/ │ └── kr.co.lotteon/ │ │── controller/ │ │ └── product/ │ │ └── ProductCartController.java │ │── service/ │ │ └── product/ │ │ └── ProductCartService.java │ │── repository/ │ │ └── cart/ │ │ └── CartRepository.java │ │── entity/ │ │ └── cart/ │ │ └── Cart.java │ └── dto/ │ │── page/ │ │ └── itemRequestDTO.java │ └── cart/ │ └── CartDTO.java └── resources/ └── templates/ │ └── product/ │ └── cart.html └── static/ └── js/ └── product/ └── cart.js
