package com.snack.server.module.cart.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 购物车项 VO（含商品信息）
 */
@Data
@Schema(description = "购物车项")
public class CartItemVO implements Serializable {

    @Schema(description = "购物车记录 ID")
    private Long id;

    @Schema(description = "商品 SPU ID")
    private Long productId;

    @Schema(description = "商品名称")
    private String productName;

    @Schema(description = "商品主图")
    private String productImage;

    @Schema(description = "SKU ID")
    private Long skuId;

    @Schema(description = "SKU 规格名称")
    private String skuName;

    @Schema(description = "SKU 图片")
    private String skuImage;

    @Schema(description = "单价")
    private BigDecimal price;

    @Schema(description = "购买数量")
    private Integer quantity;

    @Schema(description = "小计金额")
    private BigDecimal subtotal;

    @Schema(description = "当前库存")
    private Integer stock;

    @Schema(description = "是否已选中")
    private Integer selected;

    @Schema(description = "商品状态：0-下架 1-上架")
    private Integer productStatus;
}
