package com.snack.server.module.seckill.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 SeckillProductVO implements Serializable {

    @Schema(description = "活动商品 ID")
    private Long id;

    @Schema(description = "所属活动 ID")
    private Long activityId;

    @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 = "原价")
    private BigDecimal originPrice;

    @Schema(description = "抢购价")
    private BigDecimal seckillPrice;

    @Schema(description = "折扣率，如 6.5 表示 6.5 折")
    private BigDecimal discount;

    @Schema(description = "总库存")
    private Integer seckillStock;

    @Schema(description = "剩余库存（Redis 实时值）")
    private Integer remainStock;

    @Schema(description = "已售百分比 0-100")
    private Integer soldPercent;

    @Schema(description = "每人限购数量")
    private Integer perLimit;

    @Schema(description = "活动内排序")
    private Integer sort;

    @Schema(description = "已售数量")
    private Integer sales;
}
