package com.jeesharp.business.modules.mall.dto;

import com.jeesharp.framework.pojo.dto.BaseSaveDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 秒杀商品保存DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MallSeckillSkuSaveDTO extends BaseSaveDTO {

    /**
     * 秒杀场次ID
     */
    @NotBlank(message = "秒杀场次ID不能为空")
    private String sessionId;

    /**
     * SKU ID
     */
    @NotBlank(message = "SKU ID不能为空")
    private String skuId;

    /**
     * SPU ID
     */
    @NotBlank(message = "SPU ID不能为空")
    private String spuId;

    /**
     * 商品名称（冗余字段）
     */
    private String spuName;

    /**
     * SKU 规格信息（冗余字段）
     */
    private String specInfo;

    /**
     * 原价（冗余字段）
     */
    private BigDecimal originalPrice;

    /**
     * 秒杀价
     */
    @NotNull(message = "秒杀价不能为空")
    private BigDecimal seckillPrice;

    /**
     * 秒杀库存
     */
    @NotNull(message = "秒杀库存不能为空")
    private Integer seckillStock;

    /**
     * 已售数量
     */
    private Integer soldCount;

    /**
     * 每人限购数量
     */
    private Integer limitPerUser;

    /**
     * 排序号
     */
    private Integer sortOrder;

    /**
     * 状态：0-禁用 1-启用
     */
    @NotNull(message = "状态不能为空")
    private Integer status;
}
