CartDTO (장바구니 데이터 전송 객체)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CartDTO {
private int cartNo; // 장바구니 고유 번호
private String uid; // 회원 ID
private UserDTO user; // 회원 정보 DTO
private ProductDTO product; // 상품 정보 DTO
private String prodNo; // 상품 번호 (FK)
private int cartProdCount; // 장바구니에 담긴 수량
private LocalDateTime cartProdDate; // 장바구니에 담긴 날짜/시간
// 옵션 필드 (최대 6개)
private String opt1;
private String opt1Cont;
private String opt2;
private String opt2Cont;
private String opt3;
private String opt3Cont;
private String opt4;
private String opt4Cont;
private String opt5;
private String opt5Cont;
private String opt6;
private String opt6Cont;
}
설명
- cartNo: 장바구니 항목을 식별하기 위한 고유 번호
- uid: 해당 장바구니 항목을 담은 사용자의 ID
- user: 회원 정보(DTO) — 상세한 회원 이름, 연락처 등 포함
- product:
ProductDTO 형태로 담긴 상품 정보
- prodNo: 상품 번호 (Product 엔티티의 PK)
- cartProdCount: 장바구니에 담긴 해당 상품의 수량
- cartProdDate: 장바구니에 저장된 시점 (등록 일시)
옵션 필드 (opt1 \~ opt6, opt1Cont \~ opt6Cont)
- 상품에 설정된 최대 6개의 옵션명을 각각
optX에 저장
optXCont에는 해당 옵션에서 선택한 값을 저장
- 예)
opt1 = "색상", opt1Cont = "레드"